Seorang kolega saya mengirimi saya masalah ini yang tampaknya membuat putaran di internet:
If $3 = 18, 4 = 32, 5 = 50, 6 = 72, 7 = 98$, Then, $10 =$ ?
Jawabannya sepertinya 200.
3*6
4*8
5*10
6*12
7*14
8*16
9*18
10*20=200
Ketika saya melakukan regresi linier di R:
data <- data.frame(a=c(3,4,5,6,7), b=c(18,32,50,72,98))
lm1 <- lm(b~a, data=data)
new.data <- data.frame(a=c(10,20,30))
predict <- predict(lm1, newdata=new.data, interval='prediction')
Saya mendapat:
fit lwr upr
1 154 127.5518 180.4482
2 354 287.0626 420.9374
3 554 444.2602 663.7398
Jadi model linier saya memprediksi .
Ketika saya memplot data itu terlihat linear ... tapi jelas saya berasumsi sesuatu yang tidak benar.
Saya mencoba mempelajari cara terbaik menggunakan model linear dalam R. Apa cara yang tepat untuk menganalisis seri ini? Di mana saya salah?
r
regression
lm
Brett Phinney
sumber
sumber
Jawaban:
Model regresi, seperti model yang sesuai dengan
lm()
asumsi secara implisit mengasumsikan bahwa proses pembuatan data yang mendasarinya adalah probabilistik . Anda mengasumsikan bahwa aturan yang Anda coba modelkan adalah deterministik . Oleh karena itu, ada ketidaksesuaian antara apa yang Anda coba lakukan dan cara Anda mencoba melakukannya.Ada perangkat lunak lain (yaitu, bukan R) yang secara eksplisit dirancang untuk menemukan / menyesuaikan fungsi paling sederhana untuk data deterministik (contohnya adalah Eureqa ). Mungkin ada paket R untuk itu (yang saya tidak tahu), tetapi R dimaksudkan untuk pemodelan statistik data probabilistik.
Adapun jawaban yang
lm()
memberi Anda, itu terlihat masuk akal, dan bisa jadi benar. Namun, saya mengumpulkan konteks di mana masalah ini disajikan dengan kuat menyiratkan bahwa itu harus dipahami sebagai deterministik. Jika itu tidak terjadi, dan Anda bertanya-tanya apakah kecocokan itu masuk akal, satu hal yang mungkin Anda perhatikan adalah bahwa dua titik data ekstrem di atas garis regresi, sedangkan data tengah semuanya di bawahnya. Ini menunjukkan bentuk fungsional yang tidak ditentukan. Ini juga dapat dilihat pada residual vs plot yang cocok (plot(lm1, which=1
):Sedangkan untuk model fit oleh @AlexWilliams, terlihat jauh lebih baik:
sumber
Tren kuadratik tidak linier. Mencoba:
Pembaruan: Ini kodenya.
Dan output:
sumber
Saya ragu untuk menambahkan jawaban bagus yang diberikan oleh Alex Williams dan gung, tetapi ada hal lain yang harus saya pikirkan. Pertanyaannya menggunakan frasa 'regresi linier' dan 'model linier', kemungkinan menunjukkan bahwa mereka memiliki arti yang sama. Namun, arti biasa dari 'regresi linier' mengacu pada Model Regresi Linier Klasik (CLRM) di mana 'linier' berarti 'linier dalam parameter'. Ini adalah kondisi pada parameter, bukan pada variabel independen. Jadi model kuadratik seperti:
masih linear dalam arti CLRM, karena linear dalam parameter dan . Sebaliknya, model:β 2β1 β2
linear dalam parameternya dan juga linear dalam . Daripada menyebutnya model linier, pernyataan yang lebih tepat adalah bahwa ia linear dalam parameternya dan memiliki bentuk fungsional linier. Jadi dapat dikatakan bahwa deret dapat dianalisis dengan model yang linier dalam parameternya, asalkan memiliki bentuk fungsional kuadratik (seperti yang ditunjukkan oleh Alex Williams), tetapi tidak oleh model yang memiliki bentuk fungsional linier.Xi
sumber