R で予測値をプロットする方法 (例付き)


多くの場合、予測値と実際の値の差を視覚化するために、R で回帰モデルの予測値をプロットしたい場合があります。

このチュートリアルでは、R と ggplot2 でこのタイプのプロットを作成する例を示します。

例 1: 予測値と実際の値を基数 R でプロットする

次のコードは、R で重線形回帰モデルを近似し、予測値と実際の値のプロットを作成する方法を示しています。

 #create data
df <- data. frame (x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12),
                 x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14),
                 y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36))

#fit multiple linear regression model
model <- lm(y ~ x1 + x2, data=df)

#plot predicted vs. actual values
plot(x=predict(model), y=df$y,
     xlab=' Predicted Values ',
     ylab=' Actual Values ',
     main=' Predicted vs. Actual Values ')

#add diagonal line for estimated regression line
abline(a= 0 , b= 1 )

予測値をRにプロットする

X 軸はモデルからの予測値を表示し、Y 軸はデータセットからの実際の値を表示します。グラフ中央の対角線は推定された回帰直線です。

各データ ポイントは推定された回帰直線にかなり近い位置にあるため、回帰モデルがデータをかなりうまく適合していることがわかります。

各データ ポイントの実際の値と予測値を表示するデータ フレームを作成することもできます。

 #create data frame of actual and predicted values
values <- data. frame (actual=df$y, predicted=predict(model))

#view data frame
values

   actual predicted
1 22 22.54878
2 24 23.56707
3 24 23.96341
4 25 24.98171
5 25 25.37805
6 27 26.79268
7 29 28.60366
8 31 30.41463
9 32 33.86585
10 36 34.88415

例 2: ggplot2 での予測値と実際の値のプロット

次のコードは、 ggplot2データ視覚化パッケージを使用して予測値と実際の値のプロットを作成する方法を示しています。

 library (ggplot2) 

#create data
df <- data. frame (x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12),
                 x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14),
                 y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36))

#fit multiple linear regression model
model <- lm(y ~ x1 + x2, data=df)

#plot predicted vs. actual values
ggplot(df, aes (x=predict(model), y=y)) + 
  geom_point() +
  geom_abline(intercept= 0 , slope= 1 ) +
  labs(x=' Predicted Values ', y=' Actual Values ', title=' Predicted vs. Actual Values ')

繰り返しますが、X 軸はモデルからの予測値を示し、Y 軸はデータセットからの実際の値を示します。

追加リソース

R で残差プロットを作成する方法
R で残差のヒストグラムを作成する方法
R で標準化残差を計算する方法

コメントを追加する

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