Penghapusan istilah intersepsi yang signifikan secara statistik meningkatkan dalam model linier


101

Dalam model linier sederhana dengan variabel penjelas tunggal,

αi=β0+β1δi+ϵi

Saya menemukan bahwa menghapus istilah intersepsi sangat meningkatkan kecocokan (nilai berubah dari 0,3 menjadi 0,9). Namun, istilah intersepsi tampaknya signifikan secara statistik.R2

Dengan mencegat:

Call:
lm(formula = alpha ~ delta, data = cf)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.72138 -0.15619 -0.03744  0.14189  0.70305 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.48408    0.05397    8.97   <2e-16 ***
delta        0.46112    0.04595   10.04   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Residual standard error: 0.2435 on 218 degrees of freedom
Multiple R-squared: 0.316,    Adjusted R-squared: 0.3129 
F-statistic: 100.7 on 1 and 218 DF,  p-value: < 2.2e-16

Tanpa memotong:

Call:
lm(formula = alpha ~ 0 + delta, data = cf)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.92474 -0.15021  0.05114  0.21078  0.85480 

Coefficients:
      Estimate Std. Error t value Pr(>|t|)    
delta  0.85374    0.01632   52.33   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Residual standard error: 0.2842 on 219 degrees of freedom
Multiple R-squared: 0.9259,   Adjusted R-squared: 0.9256 
F-statistic:  2738 on 1 and 219 DF,  p-value: < 2.2e-16

Bagaimana Anda menafsirkan hasil ini? Haruskah istilah intersepsi dimasukkan dalam model atau tidak?

Sunting

Berikut ini jumlah residu kuadrat:

RSS(with intercept) = 12.92305
RSS(without intercept) = 17.69277

14
Saya ingat menjadi rasio yang dijelaskan untuk total varian HANYA jika intersep dimasukkan. Kalau tidak, itu tidak dapat diturunkan dan kehilangan interpretasinya. R2
Momo

@Momo: Poin bagus. Saya telah menghitung jumlah residu kuadrat untuk masing-masing model, yang tampaknya menunjukkan bahwa model dengan istilah intersep lebih cocok terlepas dari apa yang dikatakan . R2
Ernest A

4
Nah, RSS harus turun (atau setidaknya tidak meningkat) ketika Anda memasukkan parameter tambahan. Lebih penting lagi, banyak inferensi standar dalam model linier tidak berlaku ketika Anda menekan intersep (bahkan jika itu tidak signifikan secara statistik).
Makro

14
Apa tidak ketika tidak ada intercept adalah bahwa ia menghitung R 2 = 1 - Σ i ( y i - y i ) 2R gantinya (perhatikan, tidak ada pengurangan mean dalam istilah penyebut). Ini membuat penyebut lebih besar yang, untuk MSE yang sama atau mirip menyebabkanR2meningkat.
R2=1i(yiy^i)2iyi2
R2
kardinal

5
The tidak tentu lebih besar. Ini hanya lebih besar tanpa intersep asalkan MSE dari fit dalam kedua kasus serupa. Tapi, perhatikan bahwa seperti yang ditunjukkan @Macro, pembilangnya juga menjadi lebih besar dalam case tanpa intersep sehingga tergantung pada yang mana yang menang! Anda benar bahwa mereka tidak boleh dibandingkan satu sama lain tetapi Anda juga tahu bahwa SSE dengan intersep akan selalu lebih kecil daripada SSE tanpa intersep. Ini adalah bagian dari masalah dengan menggunakan langkah-langkah dalam sampel untuk diagnostik regresi. Apa tujuan akhir Anda untuk penggunaan model ini? R2
kardinal

Jawaban:


131

Pertama-tama, kita harus memahami apa yang dilakukan Rperangkat 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¯)2saya(ysaya-y¯)2=1-saya(ysaya-y^saya)2saya(ysaya-y¯)2.

Tapi, apa yang terjadi jika tidak ada intersep dalam model?

R

R02=sayay^saya2sayaysaya2=1-saya(ysaya-y^saya)2sayaysaya2.

R2R02

R2R02

Tetapi, bagaimana mereka berbeda, dan kapan?

y^y~

Kita dapat menulis ulang ekspresi untuk dan sebagai dan masing-masing.R2R02

R2=1-y-y^22y-y¯122,
R02=1-y-y~22y22,

Sekarang, karena , maka jika dan hanya jika y22=y-y¯122+ny¯2R02>R2

y-y~22y-y^22<1+y¯21ny-y¯122.

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^R02R2

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^=P1yP0P1S0S1S0S1

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 Rkode 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.

Plot data dengan garis regresi


4
Ini sangat spektakuler, +1. Sebuah pertanyaan: sering kali ketika kita ingin mengadili model b / t 2, kami melakukan tes model bersarang, apakah hal ini menghalangi itu, atau apakah masih valid untuk menguji model yang dikurangi tanpa intersep terhadap model penuh dengan itu? ?
gung

5
@ungung: Tidak, saya tidak percaya ada sesuatu yang menghalangi kita dari uji- khas . Tes tidak tergantung pada adanya intersep, dan, memang, saya yakin statistik akan bekerja dalam kasus ini menjadi . Ini memberi kita sedikit informasi kuantitatif dalam hal itu, jika memang , maka kita tahu bahwa dengan asumsi, tentu saja, saya sudah melakukan aljabar dengan benar. FFR 2 0 >R 2 1 F<(n-2) ˉ y 2
F=(n-2)(\ y-\ ytilde22\ y-\ yhat22-1)
R02>R12
F<(n-2)y¯2n-1\ y-y¯\satu22,
kardinal

1
Saya lebih suka ungkapanR02=Y~2Y2
Stéphane Laurent

3
@ naught101: Saya tidak akan mengatakan itu lebih benar, tetapi itu adalah sudut pandang yang sama masuk akal, secara umum. Untuk penjelasan ini, akan lebih mudah untuk menganggapnya sebagai absen dalam arti bahwa kita akhirnya tertarik pada hubungan antara ruang bagian dan . Perbedaan antara keduanya adalah ada, atau tidak adanya, dari vektor dasar . S 0 1S1S01
kardinal

1
Saya melewatkan sesuatu. Apakah yang dilakukan R, benar ? Maksud saya adalah nilai R ^ 2 yang dilaporkan, bahkan sebanding antara dengan dan tanpa kasus intersep?
Andy Clifton

1

Saya akan mendasarkan keputusan saya pada kriteria informasi seperti kriteria Akaike atau Bayes-Schwarz daripada R ^ 2; bahkan saat itu saya tidak akan melihat ini sebagai absolut.

Jika Anda memiliki proses di mana kemiringan mendekati nol dan semua data jauh dari asal, R ^ 2 Anda yang benar harus rendah karena sebagian besar variasi dalam data akan disebabkan oleh noise. Jika Anda mencoba menyesuaikan data seperti itu dengan model tanpa intersep, Anda akan menghasilkan istilah slope yang besar dan salah dan kemungkinan besar akan terlihat lebih baik jika versi intersep gratis digunakan.

Grafik berikut menunjukkan apa yang terjadi dalam kasus ekstrem ini. Di sini proses menghasilkan adalah bahwa x = 100.100,1, .... dan y hanya 100 + noise acak dengan rata-rata 0 dan standar deviasi .1. Poinnya adalah lingkaran hitam, pas tanpa intersep adalah garis biru dan pas dengan intersep (zeroing out the slope) adalah garis merah:

[Maaf itu tidak akan membiarkan saya memposting grafik; jalankan R-code di bawah ini untuk menghasilkannya. Ini menunjukkan asal di sudut kiri bawah, sekelompok titik di sudut kanan atas. Fit no-intercept yang buruk beralih dari kiri bawah ke kanan atas dan fit yang benar adalah garis yang sejajar dengan sumbu x]

Model yang benar untuk ini harus memiliki R ^ 2 nol --- menjadi konstan plus noise acak. R akan memberi Anda dan R ^ 2 dari 0,99 untuk cocok tanpa intersep. Ini tidak akan menjadi masalah banyak jika Anda hanya menggunakan model untuk prediksi dengan nilai-x dalam rentang data pelatihan, tetapi akan gagal total jika x pergi di luar kisaran sempit rangkaian pelatihan atau Anda mencoba untuk mendapatkan wawasan sejati melampaui prediksi.

AIC dengan benar menunjukkan bahwa model dengan intersep lebih disukai. Kode R untuk ini adalah:

 Nsamp=100
x=seq(1,100,1)*.1+100 # x=101.1,101.2,....
y=rnorm(n=length(x))+100 # random noise +100 (best model is constant)

model_withint=lm(y~x)
print(summary(model_withint))
flush.console()
model_noint=lm(y~x+0) 
print(summary(model_noint))
print (AIC(model_withint))
print(sprintf ('without intercept  AIC=%f',AIC(model_noint)))
print(sprintf ('with intercept  AIC=%f',AIC(model_withint)))
print(sprintf ('constant model  AIC=%f',AIC(lm(y~1))))
plot(x,y,ylim=c(0,105),xlim=c(0,105))
lines( c(0,105),c(0,105)*model_noint$coefficients['x'],col=c('blue'))
lines( c(0,105),c(1,1)*(lm(y~1)$coefficients['(Intercept)']),col=c('red'))

Output AIC adalah

   "without intercept  AIC=513.549626"
    "with intercept  AIC=288.112573"
    "constant model  AIC=289.411682"

Perhatikan bahwa AIC masih mendapatkan model yang salah dalam kasus ini, karena model sebenarnya adalah model konstan; tetapi angka acak lainnya akan menghasilkan data yang AIC terendah untuk model konstan. Perhatikan bahwa jika Anda membuang kemiringan, Anda harus memasang kembali model tanpanya, jangan mencoba menggunakan intersep dari model dan mengabaikan kemiringan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.