Pertama-tama, kita harus memahami apa yang dilakukan R
perangkat lunak ketika tidak ada intersep yang termasuk dalam model. Ingat bahwa perhitungan biasa
ketika intercept hadir adalah
R 2 = Σ i ( y i - ˉ y ) 2R2
Kesetaraan pertamahanyaterjadi karena dimasukkannya intersep dalam modelmeskipunini mungkin lebih populer dari dua cara penulisan itu. Thekeduakesetaraan benar-benar menyediakan interpretasi yang lebih umum! Poin ini juga dibahas dalampertanyaan terkait ini.
R2= ∑saya( y^saya- y¯)2∑saya( ysaya- y¯)2= 1 - ∑saya( ysaya- y^saya)2∑saya( ysaya- y¯)2.
Tapi, apa yang terjadi jika tidak ada intersep dalam model?
R
R20= ∑sayay^2saya∑sayay2saya= 1 - ∑saya( ysaya- y^saya)2∑sayay2saya.
R2R20
R2R20
Tetapi, bagaimana mereka berbeda, dan kapan?
y^y~
Kita dapat menulis ulang ekspresi untuk dan sebagai
dan
masing-masing.R2R20
R2= 1 - ∥ y - y^∥22∥ y - y¯1 ∥22,
R20= 1 - ∥ y - y~∥22∥ y ∥22,
Sekarang, karena , maka jika dan hanya jika
∥ y ∥22= ∥ y - y¯1 ∥22+ n y¯2R20> R2
∥ y - y~∥22∥ y - y^∥22< 1 + y¯21n∥ y - y¯1 ∥22.
Sisi kiri lebih besar dari satu karena model yang sesuai dengan bersarang di dalam . Istilah kedua di sisi kanan adalah rata-rata kuadrat dari tanggapan dibagi dengan kesalahan kuadrat rata-rata dari model intercept-only. Jadi, semakin besar rata-rata respons relatif terhadap variasi lain, semakin banyak "kelonggaran" yang kita miliki dan peluang lebih besar mendominasi .y R 2 0 R2y~y^R20R2
Perhatikan bahwa semua hal yang bergantung pada model ada di sisi kiri dan hal yang tidak tergantung model ada di sebelah kanan.
Ok, jadi bagaimana kita membuat rasio di sisi kiri kecil?
Ingat bahwa
dan mana dan adalah matriks proyeksi yang berhubungan dengan ruang bagian dan sehingga .y~= P0yy^= P1yP0P1S0S1S0⊂ S1
Jadi, agar rasio menjadi dekat dengan salah satu, kita membutuhkan ruang bagian
dan sangat mirip. Sekarang dan hanya berbeda oleh apakah adalah dasar vektor atau tidak, sehingga berarti bahwa
telah lebih baik adalah ruang bagian yang sudah berada sangat dekat dengan .S0S1S0S11S01
Pada dasarnya, itu berarti prediktor kita sebaiknya memiliki offset rata-rata yang kuat dan bahwa offset rata-rata ini harus mendominasi variasi prediktor.
Sebuah contoh
Di sini kami mencoba untuk menghasilkan contoh dengan intersep secara eksplisit dalam model dan yang berperilaku dekat dengan kasus dalam pertanyaan. Di bawah ini adalah beberapa R
kode sederhana untuk ditunjukkan.
set.seed(.Random.seed[1])
n <- 220
a <- 0.5
b <- 0.5
se <- 0.25
# Make sure x has a strong mean offset
x <- rnorm(n)/3 + a
y <- a + b*x + se*rnorm(x)
int.lm <- lm(y~x)
noint.lm <- lm(y~x+0) # Intercept be gone!
# For comparison to summary(.) output
rsq.int <- cor(y,x)^2
rsq.noint <- 1-mean((y-noint.lm$fit)^2) / mean(y^2)
Ini menghasilkan output sebagai berikut. Kami mulai dengan model dengan mencegat.
# Include an intercept!
> summary(int.lm)
Call:
lm(formula = y ~ x)
Residuals:
Min 1Q Median 3Q Max
-0.656010 -0.161556 -0.005112 0.178008 0.621790
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.48521 0.02990 16.23 <2e-16 ***
x 0.54239 0.04929 11.00 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.2467 on 218 degrees of freedom
Multiple R-squared: 0.3571, Adjusted R-squared: 0.3541
F-statistic: 121.1 on 1 and 218 DF, p-value: < 2.2e-16
Lalu, lihat apa yang terjadi ketika kita mengecualikan intersep.
# No intercept!
> summary(noint.lm)
Call:
lm(formula = y ~ x + 0)
Residuals:
Min 1Q Median 3Q Max
-0.62108 -0.08006 0.16295 0.38258 1.02485
Coefficients:
Estimate Std. Error t value Pr(>|t|)
x 1.20712 0.04066 29.69 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.3658 on 219 degrees of freedom
Multiple R-squared: 0.801, Adjusted R-squared: 0.8001
F-statistic: 881.5 on 1 and 219 DF, p-value: < 2.2e-16
Di bawah ini adalah plot data dengan model-dengan-intersep dalam warna merah dan model-tanpa-intersep dalam warna biru.