Kita dapat menggunakan lm()
untuk memprediksi nilai, tetapi kita masih membutuhkan persamaan rumus hasil dalam beberapa kasus. Misalnya, tambahkan persamaan ke plot.
r
regression
lm
pengguna27736
sumber
sumber
lm
dan model linear lebih umum, tetapi sama sekali tidak jelas apa, tepatnya, yang Anda inginkan. Bisakah Anda memberi contoh atau sesuatu untuk diklarifikasi? Apakah ini untuk beberapa subjek?coef()
paslm
, seperti pada:mod <- lm(y ~ x); coef(mod)
lm(y~x)$call
memberitahu Anda rumusnyay ~ x
. Jika Anda bermaksud sesuatu yang berbeda dari itu, Anda harus lebih spesifik.Jawaban:
Pertimbangkan contoh ini:
Pertanyaannya, saya kira, adalah bagaimana mencari persamaan regresi dari output ringkasan R. Secara aljabar, persamaan untuk model regresi sederhana adalah: Kita hanya perlu memetakan output untuk persyaratan ini. Yakni:
y^saya= β^0+ β^1xsaya+ ε^sayadimana ε ∼ N( 0 , σ ^2)
summary.lm()
Estimate
nilai di(Intercept)
baris (khusus,-0.00761
)Estimate
nilai dix
baris (khusus,0.09156
)Residual standard error
(khusus,0.8155
)Memasukkan ini dalam hasil di atas: Untuk lebih teliti gambaran umum, Anda mungkin ingin membaca utas ini: Interpretasi dari output R's lm () .
y^saya= - 0,00761 + 0,09156 x saya + ε ^sayadimana ε ∼ N( 0 , 0,8155 2)
sumber
lm
dan menghasilkan ekspresi karakter seperti " " cocok untuk suatu merencanakan tugas (karenanya saya berulang kali menelepon untuk mengklarifikasi apa yang mereka inginkan - yang belum dilakukan, sayangnya).Jika yang Anda inginkan adalah memprediksi skor menggunakan persamaan regresi yang dihasilkan, Anda dapat membuat persamaan dengan tangan dengan mengetik
summary(fit)
(jika analisis regresi Anda disimpan dalam variabel yang disebutfit
, misalnya), dan melihat perkiraan untuk setiap koefisien yang termasuk dalam Anda model.Misalnya, jika Anda memiliki regresi sederhana dari tipe , dan Anda mendapatkan perkiraan intersep ( ) dari +0.5 dan perkiraan efek x pada y ( ) dari +1.6, Anda akan memprediksi skor y seseorang dari skor x mereka dengan menghitung: .β 0 β 1 y = 0,5 + 1,6 xy= β0+ β1x + ϵ β0 β1 y^= 0,5 + 1,6 x
Namun, ini adalah rute yang sulit. R memiliki fungsi bawaan,
predict()
yang dapat Anda gunakan untuk secara otomatis menghitung nilai prediksi yang diberikan model untuk dataset apa pun. Misalnya:,predict(fit, newdata=data)
jika x skor yang ingin Anda gunakan untuk memprediksi skor y disimpan dalam variabeldata
. (Perhatikan bahwa untuk melihat skor prediksi untuk sampel di mana regresi Anda dilakukan, Anda bisa mengetikfit$fitted
ataufitted(fit)
; ini akan memberi Anda nilai yang diprediksi, alias cocok, nilai.)sumber
Jika Anda ingin menunjukkan persamaan, suka memotong / menempelkan ke dokumen, tetapi tidak ingin repot dengan menyatukan seluruh persamaan:
sumber
Membangun pada jawaban keithpjolley, ini menggantikan tanda '+' yang digunakan dalam pemisah dengan tanda aktual dari co-efisien.
menghasilkan hasilnya
sumber