R で弱い平滑化を実行する方法 (ステップバイステップ)
統計学では、 lowessという用語は「局所的に重み付けされた点群の平滑化」、つまり点群内のデータ ポイントに対応する滑らかな曲線を生成するプロセスを指します。
R で lowess スムージングを実行するには、次の構文を使用するlowess()関数を使用できます。
下(x、y、f = 2/3)
金:
- x: x 値の数値ベクトル。
- y: y 値の数値ベクトル。
- f:最も滑らかな範囲の値。これにより、各値での平滑化に影響を与えるプロット内の点の割合がわかります。値が大きいほど滑らかさが増します。
次の段階的な例は、R で特定のデータセットに対して弱い平滑化を実行する方法を示しています。
ステップ 1: データを作成する
まず、偽のデータセットを作成しましょう。
df <- data. frame (x=c(1, 1, 2, 2, 3, 4, 6, 6, 7, 8, 10, 11, 11, 12, 13, 14), y=c(4, 7, 9, 10, 14, 15, 19, 16, 17, 21, 22, 34, 44, 40, 43, 45))
ステップ 2: データをプロットする
次に、データセットの x 値と y 値をプロットしましょう。
plot(df$x, df$y)
ステップ 3: 最小曲線を描く
次に、散布図内の点に最も弱い平滑化曲線をプロットしてみましょう。
#create scatterplot plot(df$x, df$y) #add lowess smoothing curve to plot lines(lowess(df$x, df$y), col=' red ')
ステップ 4: ソフトなリーチを調整する (オプション)
lowess() 関数のf引数を調整して、より滑らかな範囲に使用される値を増減することもできます。
指定する値が大きいほど、下の曲線が滑らかになることに注意してください。
#create scatterplot plot(df$x, df$y) #add lowess smoothing curves lines(lowess(df$x, df$y), col=' red ') lines(lowess(df$x, df$y, f=0.3), col=' purple ') lines(lowess(df$x, df$y, f=3), col=' steelblue ') #add legend to plot legend(' topleft ', col = c(' red ', ' purple ', ' steelblue '), lwd = 2, c(' Smoother = 1 ', ' Smoother = 0.3 ', ' Smoother = 3 '))