Cara memprediksi nilai tunggal menggunakan model regresi di r
Untuk menyesuaikan model regresi linier di R, kita dapat menggunakan fungsi lm() , yang menggunakan sintaks berikut:
model <- lm(y ~ x1 + x2, data=df)
Kita kemudian dapat menggunakan sintaks berikut untuk menggunakan model guna memprediksi nilai tunggal:
predict(model, newdata = new)
Contoh berikut menunjukkan cara memprediksi nilai tunggal menggunakan model regresi yang sesuai di R.
Contoh 1: Memprediksi menggunakan model regresi linier sederhana
Kode berikut menunjukkan cara menyesuaikan model regresi linier sederhana di R:
#create data df <- data. frame (x=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12), y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36)) #fit simple linear regression model model <- lm(y ~ x, data=df)
Dan kita dapat menggunakan kode berikut untuk memprediksi nilai respons observasi baru:
#define new observation new <- data. frame (x=c(5)) #use the fitted model to predict the value for the new observation predict(model, newdata = new) 1 25.36364
Model memperkirakan observasi baru ini akan memiliki nilai respon sebesar 25.36364 .
Contoh 2: Memprediksi menggunakan model regresi linier berganda
Kode berikut menunjukkan cara menyesuaikan model regresi linier berganda di 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)
Dan kita dapat menggunakan kode berikut untuk memprediksi nilai respons observasi baru:
#define new observation new <- data.frame(x1=c(5), x2=c(10)) #use the fitted model to predict the value for the new observation predict(model, newdata = new) 1 26.17073
Model memperkirakan observasi baru ini akan memiliki nilai respon sebesar 26.17073 .
Potensi kesalahan saat memprediksi nilai baru
Kesalahan paling umum yang mungkin Anda temui saat mencoba memprediksi nilai baru adalah ketika kumpulan data yang Anda gunakan untuk menyesuaikan model regresi tidak memiliki nama kolom yang sama dengan observasi baru yang Anda coba prediksi .
Misalnya, kita memasang model regresi linier berganda berikut di R:
#createdata 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)
Selanjutnya, misalkan kita mencoba menggunakan model tersebut untuk memprediksi nilai respons observasi baru ini:
#define new observation new <- data.frame(x_1=c(5), x_2=c(10)) #use the fitted model to predict the value for the new observation predict(model, newdata = new) Error in eval(predvars, data, env): object 'x1' not found
Kami menerima kesalahan karena nama kolom observasi baru (x_1, x_2) tidak cocok dengan nama kolom bingkai data asli (x1, x2) yang kami gunakan agar sesuai dengan model regresi.
Sumber daya tambahan
Cara melakukan regresi linier sederhana di R
Cara melakukan regresi linier berganda di R
Cara membuat plot sisa di R