Kapan boleh menghapus intersep dalam model regresi linier?

118

Saya menjalankan model regresi linier dan bertanya-tanya apa kondisinya untuk menghapus istilah intersep.

Dalam membandingkan hasil dari dua regresi berbeda di mana satu memiliki intersep dan yang lainnya tidak, saya perhatikan bahwa fungsi tanpa intersep jauh lebih tinggi. Apakah ada kondisi atau asumsi tertentu yang harus saya ikuti untuk memastikan penghapusan istilah intersepsi itu valid?R2

analyticsPierce
sumber
1
@chi, terima kasih telah mengedit pertanyaan saya. Adakah hal-hal yang harus saya klarifikasi atau tulis ulang dalam setiap pertanyaan di masa depan?
analyticsPierce
3
Pertanyaan Anda dinyatakan dengan baik. @ chl dengan baik hati memperbaiki beberapa pemformatan, itu saja. Ini melibatkan TeXifying the "R ^ 2" (itu diubah menjadi R ^ 2 , yang diterjemahkan sebagai ). $ R 2$$R2
whuber
1
Apa artinya intersep dalam model Anda? Dari informasi dalam pertanyaan Anda, tampaknya itu akan menjadi nilai yang diharapkan dari respons Anda ketika sqft = 0 dan lotsize = 0 dan baths = 0. Apakah itu akan pernah terjadi dalam kenyataan?
timbp
1
Alih-alih y = a + b1 x1 + b2 x2 + b3x3, dapatkah saya menghilangkan a?
Travis
3
NB : Beberapa komentar dan balasan ini pada dasarnya menjawab pertanyaan yang sama (dibingkai dalam konteks regresi harga perumahan) yang digabung dengan yang ini sebagai duplikat.
whuber

Jawaban:

87

The terpendek Jawabannya: tidak pernah , kecuali Anda yakin bahwa pendekatan linear Anda dari proses menghasilkan data (model regresi linear) baik oleh beberapa teori atau alasan lain dipaksa untuk pergi melalui asal . Jika tidak parameter regresi lainnya akan bias bahkan jika intersep secara statistik tidak signifikan (aneh tetapi memang demikian, konsultasikan dengan Brooks Introductory Econometrics misalnya). Akhirnya, seperti yang sering saya jelaskan kepada murid-murid saya, dengan meninggalkan istilah intersepsi Anda memastikan bahwa istilah residual adalah rata-rata nol.

Untuk kasus dua model Anda, kami membutuhkan lebih banyak konteks. Mungkin terjadi bahwa model linier tidak cocok di sini. Misalnya, Anda perlu log transformasi terlebih dahulu jika modelnya adalah multiplikatif. Memiliki proses yang tumbuh secara eksponensial, kadang-kadang dapat terjadi bahwa untuk model tanpa intersep "jauh" lebih tinggi.R2

Menyaring data, menguji model dengan uji RESET atau tes spesifikasi linear lainnya, ini dapat membantu untuk melihat apakah tebakan saya benar. Dan, membangun model-model tertinggi adalah salah satu sifat statistik terakhir yang sangat saya perhatikan, tetapi menyenangkan untuk disajikan kepada orang-orang yang tidak begitu akrab dengan ekonometrika (ada banyak trik kotor untuk membuat tekad dekat dengan 1 :)).R2

Dmitrij Celov
sumber
3
-1 untuk "tidak pernah", lihat contoh 1 dari jawaban Joshuas
Curious
4
@Curious, "tidak pernah" ditulis dengan "kecuali" contoh di bawah ini hanya menunjukkan pengecualian ketika legal untuk menghapus intersepsi. Ketika Anda tidak mengetahui proses atau teori menghasilkan data, atau tidak dipaksa untuk melewati asal dengan standarisasi atau model khusus lainnya, simpanlah. Terus mencegat seperti menggunakan tempat sampah untuk mengumpulkan semua distorsi yang disebabkan oleh perkiraan linier dan penyederhanaan lainnya. PS praktis tanggapannya menunjukkan bahwa Anda membaca hanya terpendek :) Terima kasih banyak untuk Joshua (+1) untuk contoh-contoh yang diperluas.
Dmitrij Celov
3
Anda melewatkan poin Yosua Example 1 dan tampaknya masih mengabaikannya sepenuhnya. Dalam model dengan kovariat kategori penghapusan hasil intersep dalam model yang sama dengan parametrization yang berbeda. Ini adalah kasus yang sah ketika intersepsi dapat dihapus.
Penasaran
2
@Curious, dalam Yosua contoh 1, Anda perlu menambahkan variabel dummy baru untuk tingkat variabel kategori yang sebelumnya Anda anggap sebagai baseline, dan variabel dummy baru ini akan mengambil nilai intersep, jadi Anda TIDAK menghapus intersep, hanya mengganti nama dan reparameterisasi sisa parameter kovariat kategoris. Karena itu argumen Dmitrij berlaku.
Rufo
59

Menghapus intersep adalah model yang berbeda, tetapi ada banyak contoh di mana itu sah. Jawaban sejauh ini telah membahas secara rinci contoh di mana intersep sebenarnya adalah 0. Saya akan fokus pada beberapa contoh di mana kita mungkin tertarik pada parametriisasi model atipikal.

Contoh 1: Model gaya ANOVA. Untuk variabel kategorikal, kami biasanya membuat vektor biner yang mengkode keanggotaan grup. Model regresi standar parametrized sebagai mencegat + k - 1 dummy vektor. Intercept mengkode nilai yang diharapkan untuk grup "referensi", atau vektor yang dihilangkan, dan vektor yang tersisa menguji perbedaan antara setiap grup dan referensi. Tetapi dalam beberapa kasus, mungkin berguna untuk memiliki nilai yang diharapkan masing-masing kelompok.

dat <- mtcars
dat$vs <- factor(dat$vs)

## intercept model: vs coefficient becomes difference
lm(mpg ~ vs + hp, data = dat)

Coefficients:
(Intercept)          vs1           hp  
   26.96300      2.57622     -0.05453  

## no intercept: two vs coefficients, conditional expectations for both groups
lm(mpg ~ 0 + vs + hp, data = dat)

Coefficients:
     vs0       vs1        hp  
26.96300  29.53922  -0.05453  

Contoh 2: Kasing data standar. Dalam beberapa kasus, seseorang mungkin bekerja dengan data standar. Dalam hal ini, intersep adalah 0 menurut desain. Saya pikir contoh klasik dari ini adalah model persamaan struktural gaya lama atau faktor, yang beroperasi hanya pada matriks kovarian data. Dalam kasus di bawah ini, mungkin merupakan ide yang bagus untuk memperkirakan penyadapan, jika hanya untuk menjatuhkan tingkat kebebasan tambahan (yang sebenarnya harus Anda hilangkan karena rata-rata diperkirakan), tetapi ada beberapa situasi di mana konstruksi, berarti mungkin 0 (mis., eksperimen tertentu di mana peserta memberikan peringkat, tetapi dibatasi untuk memberikan positif dan negatif yang sama).

dat <- as.data.frame(scale(mtcars))

## intercept is 0 by design
lm(mpg ~ hp + wt, data = dat)

Coefficients:
(Intercept)           hp           wt  
  3.813e-17   -3.615e-01   -6.296e-01  

## leaving the intercept out    
lm(mpg ~ 0 + hp + wt, data = dat)

Coefficients:
     hp       wt  
-0.3615  -0.6296  

Contoh 3: Model Multivarian dan Intercept Tersembunyi. Contoh ini mirip dengan yang pertama dalam banyak hal. Dalam hal ini, data telah ditumpuk sehingga dua variabel yang berbeda sekarang berada dalam satu vektor panjang. Variabel kedua mengkodekan informasi tentang apakah vektor respons,, ytermasuk mpgatau disp. Dalam hal ini, untuk mendapatkan intersep yang terpisah untuk setiap hasil, Anda menekan keseluruhan intersep dan menyertakan kedua vektor tiruan untuk diukur. Ini adalah semacam analisis multivariat. Ini biasanya tidak dilakukan menggunakanlm()karena Anda telah mengulangi langkah-langkah dan mungkin harus membiarkan ketidakberadaan. Namun, ada beberapa kasus menarik di mana ini diperlukan. Misalnya ketika mencoba melakukan analisis mediasi dengan efek acak, untuk mendapatkan matriks varians kovarians penuh, Anda memerlukan kedua model yang diestimasi secara bersamaan, yang dapat dilakukan dengan menumpuk data dan beberapa penggunaan vektor dummy yang cerdas.

## stack data for multivariate analysis
dat <- reshape(mtcars, varying = c(1, 3), v.names = "y",
  timevar = "measure", times = c("mpg", "disp"), direction = "long")
dat$measure <- factor(dat$measure)

## two regressions with intercepts only
lm(cbind(mpg, disp) ~ 1, data = mtcars)

Coefficients:
             mpg     disp  
(Intercept)   20.09  230.72

## using the stacked data, measure is difference between outcome means
lm(y ~ measure, data = dat)

Coefficients:
(Intercept)   measurempg  
      230.7       -210.6  

## separate 'intercept' for each outcome
lm(y ~ 0 + measure, data = dat)

Coefficients:
measuredisp   measurempg  
     230.72        20.09  

Saya tidak berpendapat bahwa intersepsi pada umumnya harus dihapus, tetapi bagus untuk fleksibel.

Joshua
sumber
7
+1. Saya tidak menganggap orang dengan kaku mengatakan 'tidak pernah', tetapi selalu menyenangkan memiliki perspektif lain & ini adalah respons yang sangat jelas & bijaksana. Selamat datang di CV, akan menyenangkan jika Anda menjadi bagian dari komunitas.
gung
3
@ung terima kasih, kamu benar. Saya telah mengedit bahasa itu dari jawaban saya karena saya pikir itu meradang dan tidak perlu.
Joshua
1
@ Yosua: Maaf saya mengajukan pertanyaan pada posting hampir 2 tahun, tetapi apakah ada referensi pada contoh pertama Anda? Saya berpikir untuk menjalankan model no-intersep pada data saya di mana variabel prediktornya kategorikal, dan saya tertarik mengetahui apakah setiap level berbeda secara signifikan dari 0. Terima kasih!
Alex
@Alex Setiap teks regresi yang baik harus dilakukan (Bab 8 dari Analisis Regresi Berganda / Korelasi Terapan untuk Ilmu Perilaku 3 edisi ke-3 membahas hal ini) --- Anda hanya perlu membahas perbedaan dan cara membuat dummy kode variabel kategori. Salah satu cara untuk memikirkannya adalah Anda memperkirakan intersep terpisah untuk setiap grup, daripada mengabaikan intersep.
Joshua
@ Yosua, contoh pertama Anda telah menyebabkan kebingungan di tempat lain di situs ini . Pemahaman saya di sini adalah bahwa Anda menyarankan trik yang berguna untuk menampilkan perkiraan parameter tanpa harus mengacaukan dengan menambahkan nilai untuk intersep, dan bahwa Anda tidak menyarankan bahwa kursus yang biasa adalah menggunakan model dengan intersep dihapus untuk melakukan anova. Dalam R, dalam hampir setiap kasus, orang akan menggunakan model dengan intersep untuk melakukan anova tradisional.
Sal Mangiafico
29

Ada jawaban yang bagus di sini. Dua hal kecil:

  1. R2R2R2
  2. Xbahkan jika intersep yang benar adalah 0 .
gung
sumber
2
@AdamO membuat poin yang mirip dengan # 2 di sini: koefisien regresi linier positif , tetapi mengembangkan ide jauh lebih lengkap.
gung
14

Anda tidak boleh menghentikan intersep, terlepas dari apakah Anda cenderung atau tidak pernah melihat semua variabel penjelas memiliki nilai nol.

Ada jawaban yang bagus untuk pertanyaan yang sangat mirip di sini .

Jika Anda menghapus intersep maka estimasi lainnya menjadi bias. Bahkan jika nilai sebenarnya dari intersep kira - kira nol (yang bisa Anda simpulkan dari data Anda), Anda bermain-main dengan lereng jika Anda memaksakannya tepat nol.

KECUALI - Anda mengukur sesuatu dengan model fisik yang sangat jelas dan jelas yang menuntut intersep menjadi nol (mis. Anda memiliki tinggi, lebar, dan panjang prisma persegi panjang sebagai variabel penjelas dan variabel responsnya adalah volume dengan beberapa kesalahan pengukuran). Jika variabel respons Anda adalah nilai rumah, Anda harus meninggalkan intersep.

Peter Ellis
sumber
1
Bisakah Anda jelaskan, mengapa kami membutuhkan intersepsi untuk prediksi harga rumah? mengapa semua X menjadi nol untuk setiap rumah?
Elf
10

OK, jadi Anda telah mengubah banyak pertanyaan

Anda dapat meninggalkan intersepsi ketika Anda tahu itu 0. Itu saja. Dan tidak, Anda tidak dapat melakukannya karena tidak jauh berbeda dari 0, Anda harus tahu itu 0 atau residu Anda bias. Dan, dalam hal ini adalah 0 sehingga tidak akan ada bedanya jika Anda meninggalkannya ... karena itu, jangan pernah tinggalkan.

R2

John
sumber
2
Bagaimana ketika kita ingin menguji kointegrasi menggunakan Engle / Granger 2-langkah? en.wikipedia.org/wiki/Cointegration
Jase
5

Sebagian besar model regresi berganda mencakup istilah konstan (yaitu intersep), karena ini memastikan bahwa model tersebut akan tidak bias - yaitu, rata-rata residu akan persis nol. (Koefisien dalam model regresi diperkirakan oleh kuadrat terkecil - yaitu, meminimalkan kesalahan kuadrat rata-rata. Sekarang, kesalahan kuadrat rata-rata sama dengan varians kesalahan ditambah kuadrat dari rata-rata mereka: ini adalah identitas matematika. Mengubah nilai konstanta dalam model mengubah rata-rata kesalahan tetapi tidak mempengaruhi varians. Oleh karena itu, jika jumlah kesalahan kuadrat harus diminimalkan, konstanta harus dipilih sedemikian rupa sehingga rata-rata kesalahan adalah nol. )

Dalam model regresi sederhana, konstanta mewakili intersepsi Y dari garis regresi, dalam bentuk yang tidak standar. Dalam model regresi berganda, konstanta mewakili nilai yang akan diprediksi untuk variabel dependen jika semua variabel independen secara bersamaan sama dengan nol - situasi yang mungkin tidak bermakna secara fisik atau ekonomi. Jika Anda tidak terlalu tertarik pada apa yang akan terjadi jika semua variabel independen secara bersamaan nol, maka Anda biasanya meninggalkan konstanta dalam model terlepas dari signifikansi statistiknya. Selain memastikan bahwa kesalahan dalam sampel tidak bias, keberadaan konstanta memungkinkan garis regresi untuk "mencari levelnya sendiri" dan memberikan kecocokan terbaik untuk data yang mungkin hanya linear secara lokal.

Namun, dalam kasus yang jarang terjadi, Anda mungkin ingin mengecualikan konstanta dari model. Ini adalah opsi model-pas dalam prosedur regresi dalam paket perangkat lunak apa pun, dan kadang-kadang disebut sebagai regresi melalui asal, atau singkatnya RTO. Biasanya, ini hanya akan dilakukan jika:

  1. adalah mungkin untuk membayangkan variabel-variabel independen semuanya mengasumsikan nilai nol secara bersamaan, dan Anda merasa bahwa dalam hal ini secara logis harus mengikuti bahwa variabel dependen juga akan sama dengan nol; atau
  2. konstanta berlebihan dengan set variabel independen yang ingin Anda gunakan.

Contoh kasus (1) akan menjadi model di mana semua variabel - dependen dan independen - mewakili perbedaan pertama dari deret waktu lainnya. Jika Anda mundur perbedaan pertama Y pada perbedaan pertama X, Anda secara langsung memprediksi perubahan dalam Y sebagai fungsi linear dari perubahan dalam X, tanpa merujuk ke level variabel saat ini. Dalam hal ini mungkin masuk akal (walaupun tidak diharuskan) untuk mengasumsikan bahwa Y harus tidak berubah, rata-rata, setiap kali X tidak berubah - yaitu, bahwa Y tidak boleh memiliki tren naik atau turun tanpa adanya perubahan dalam tingkat X.

Contoh kasus (2) adalah situasi di mana Anda ingin menggunakan set lengkap variabel indikator musiman - misalnya, Anda menggunakan data triwulanan, dan Anda ingin memasukkan variabel Q1, Q2, Q3, dan Q4 yang mewakili aditif efek musiman. Jadi, Q1 mungkin terlihat seperti 1 0 0 0 1 0 0 0 ..., Q2 akan terlihat seperti 0 1 0 0 0 1 0 0 ..., dan seterusnya. Anda tidak dapat menggunakan keempatnya dan konstanta dalam model yang sama, karena Q1 + Q2 + Q3 + Q4 = 1 1 1 1 1 1 1 1 1. . . . , Yang sama dengan istilah konstan. Yaitu, lima variabel Q1, Q2, Q3, Q4, dan CONSTANT tidak linier independen: salah satu dari mereka dapat dinyatakan sebagai kombinasi linear dari empat lainnya. Prasyarat teknis untuk pemasangan model regresi linier adalah bahwa variabel independen harus independen linear; jika koefisien kuadrat-terkecil tidak dapat ditentukan secara unik,

Peringatan: R-squared dan statistik F tidak memiliki arti yang sama dalam model RTO seperti yang mereka lakukan dalam model regresi biasa, dan mereka tidak dihitung dengan cara yang sama oleh semua perangkat lunak. Lihat artikel ini untuk beberapa peringatan. Anda sebaiknya tidak mencoba membandingkan R-kuadrat antara model yang dilakukan dan tidak menyertakan istilah yang konstan, meskipun OK untuk membandingkan kesalahan standar regresi.

Perhatikan bahwa istilah "independen" digunakan dalam (setidaknya) tiga cara berbeda dalam jargon regresi: setiap variabel tunggal dapat disebut variabel independen jika digunakan sebagai prediktor, bukan sebagai prediktor. Sekelompok variabel bebas linear jika tidak ada satu pun dari mereka yang dapat diekspresikan dengan tepat sebagai kombinasi linear dari yang lain. Sepasang variabel dikatakan independen secara statistik jika mereka tidak hanya independen secara linear tetapi juga sama sekali tidak informatif sehubungan satu sama lain. Dalam model regresi, Anda ingin variabel dependen Anda secara statistik bergantung pada variabel independen, yang harus independen secara linear (tetapi tidak harus secara statistik).

pengguna62524
sumber
2
Artikel apa yang Anda maksud?
gung
2

Revisi penuh atas pikiran saya. Memang menjatuhkan intersep akan menyebabkan masalah bias.

Sudahkah Anda mempertimbangkan untuk memusatkan data sehingga intersep memiliki makna dan menghindari menjelaskan bagaimana beberapa nilai (tidak masuk akal) dapat memberikan nilai negatif? Jika Anda menyesuaikan ketiga variabel penjelas dengan mengurangi rata-rata sqrft, rata-rata lotsize dan rata-rata mandi, maka intersep sekarang akan menunjukkan nilai (sebuah rumah?) Dengan rata-rata sdrft, lotsize, dan mandi.

Pemusatan ini tidak akan mengubah hubungan relatif dari variabel independen. Jadi, pemasangan model pada data terpusat masih akan menemukan mandi sebagai tidak signifikan. Pasang kembali model tanpa termasuk bak mandi. Anda mungkin masih mendapatkan nilai p yang besar untuk intersep, tetapi harus dimasukkan dan Anda akan memiliki model bentuk y = a + b (sqrft) + c (lotsize).

RGF
sumber
1

Saya hanya menghabiskan waktu menjawab pertanyaan serupa yang diposting oleh orang lain, tetapi sudah ditutup. Ada beberapa jawaban yang bagus di sini, tetapi jawaban yang saya berikan sedikit lebih sederhana. Mungkin lebih cocok untuk orang yang memiliki pemahaman regresi lemah.

T1: Bagaimana cara menafsirkan intersep dalam model saya?

Dalam model regresi, tujuannya adalah untuk meminimalkan jumlah varians yang tidak dapat dijelaskan dalam variabel hasil:

y = b0 + b1⋅x + ϵ

di mana y adalah nilai prediksi ukuran hasil Anda (misalnya, log_blood_hg), b0 adalah intersep, b1 adalah kemiringan, x adalah variabel prediktor, dan ϵ adalah kesalahan residual.

Intersepsi (b0) adalah nilai rata-rata yang diprediksi dari y ketika semua x = 0. Dengan kata lain, itu adalah nilai dasar dari y, sebelum Anda menggunakan variabel apa pun (misalnya, spesies) untuk lebih meminimalkan atau menjelaskan varians dalam log_blood_hg .

Dengan menambahkan kemiringan (yang memperkirakan bagaimana peningkatan / penurunan satu unit dalam log_blood_hg berubah dengan peningkatan satu unit dalam x, misalnya, spesies), kami menambah apa yang sudah kami ketahui tentang variabel hasil, yang merupakan nilai dasarnya (yaitu nilai dasarnya (yaitu intercept), berdasarkan perubahan pada variabel lain.

T2: Kapan tepat untuk menyertakan atau tidak memasukkan intersep, terutama dalam hal fakta bahwa model memberikan hasil yang sangat berbeda?

Untuk model sederhana seperti ini, tidak pernah benar-benar tepat untuk menghentikan intersep.

Model memberikan hasil yang berbeda ketika Anda menjatuhkan intersep karena daripada membumikan kemiringan dalam nilai dasar Y, itu dipaksa untuk melewati asal y, yaitu 0. Oleh karena itu, kemiringan menjadi lebih curam (yaitu lebih kuat dan signifikan ) karena Anda telah memaksa baris melalui titik asal, bukan karena ia melakukan pekerjaan yang lebih baik untuk meminimalkan varians dalam y. Dengan kata lain, Anda telah secara buatan membuat model yang meminimalkan varians dalam y dengan menghapus intersep, atau titik pentanahan awal untuk model Anda.

Ada kasus di mana menghapus intersep sesuai - seperti ketika menggambarkan suatu fenomena dengan 0-intersep. Anda dapat membaca tentang itu di sini , serta lebih banyak alasan mengapa menghapus intersep bukanlah ide yang baik.

PyjamaNinja
sumber
1

y=α+βx+ϵ
α=0yx=0

R2R2R2

Kesimpulan: JANGAN TINGGALKAN INTERCEPT OUT OF THE MODEL (kecuali jika Anda benar-benar tahu apa yang Anda lakukan).

Xs=vt

Ada juga model khusus yang tidak menggunakan intersep. Salah satu contoh adalah data berpasangan, studi kembar .

kjetil b halvorsen
sumber