Cara merencanakan nilai prediksi di r (dengan contoh)


Seringkali Anda mungkin ingin memplot nilai prediksi model regresi di R untuk memvisualisasikan perbedaan antara nilai prediksi dan nilai sebenarnya.

Tutorial ini memberikan contoh pembuatan plot jenis ini di R dan ggplot2.

Contoh 1: memplot nilai prediksi dan nilai aktual dalam basis R

Kode berikut menunjukkan cara menyesuaikan model regresi linier berganda di R dan kemudian membuat plot nilai prediksi dan nilai aktual:

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

Merencanakan nilai prediksi di R

Sumbu X menampilkan nilai prediksi dari model dan sumbu Y menampilkan nilai aktual dari kumpulan data. Garis diagonal yang berada di tengah grafik merupakan garis taksiran regresi.

Karena masing-masing titik data terletak cukup dekat dengan perkiraan garis regresi, hal ini menunjukkan bahwa model regresi cukup berhasil dalam menyesuaikan data.

Kita juga dapat membuat bingkai data yang menampilkan nilai aktual dan prediksi untuk setiap titik data:

 #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

Contoh 2: Merencanakan Nilai Prediksi dan Nilai Aktual di ggplot2

Kode berikut menunjukkan cara membuat plot nilai prediksi dan nilai aktual menggunakan paket visualisasi data 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 ')

Sekali lagi, sumbu X menunjukkan nilai prediksi dari model dan sumbu Y menunjukkan nilai sebenarnya dari kumpulan data.

Sumber daya tambahan

Cara membuat plot sisa di R
Cara membuat histogram residu di R
Cara menghitung residu standar di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *