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 ')

R での Lowess 平滑化の例

ステップ 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 ')) 

R の弱い平滑化カーブ

追加リソース

R でグラフに複数の線をプロットする方法
R で回帰直線を含む散布図を作成する方法
R で多項式回帰を実行する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です