Bagaimana cara menguji signifikansi statistik untuk variabel kategori dalam regresi linier?

18

Jika dalam regresi linier saya memiliki variabel kategorikal ... bagaimana saya tahu arti statistik variabel kategoris?

Katakanlah faktor memiliki 10 level ... akan ada 10 nilai t-resultan yang berbeda, di bawah payung satu variabel faktor X 1X1X1 ...

Tampaknya bagi saya bahwa makna statistik diuji untuk setiap tingkat variabel faktor? Tidak?

@ Macro: Mengikuti saran Anda, saya telah membangun contoh berikut:

Tampaknya x3 berguna dan harus dimasukkan dalam model, dari perbandingan model di bawah ini.

Tapi sebenarnya itu salah ...

n=100    
x1=1:n
x2=(1:n)^2 
x3=rnorm(n)
ee=rnorm(n)
y=3*x1-2*x2+x3+3+ee
lm1=lm(y~x1+x2+x3)
summary(lm1)

lm2=lm(y~x1+x2) 
summary(lm2)

anova(lm1, lm2)

> anova(lm1, lm2)
Analysis of Variance Table

Model 1: y ~ x1 + x2 + x3
Model 2: y ~ x1 + x2
  Res.Df     RSS Df Sum of Sq      F    Pr(>F)    
1     96  82.782                                  
2     97 146.773 -1    -63.99 74.207 1.401e-13 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
Luna
sumber
1
@Luna, mengapa itu salah? Tampaknya Anda digunakan x3untuk menghasilkan ys, jadi itu harus dimasukkan dalam model dan nilai- setuju dengan kesimpulan itu. p
Makro
@Seth - Anda benar. Saya baru saja memberikan contoh mainan menggunakan anova secara umum dalam perbandingan model. Jadi itu tidak terkait dengan pertanyaan awal saya.
Luna
@ Macro - Anda benar. Sekarang saya mengerti intinya. Terima kasih!
Luna
Fungsi 'Anova' dari paket R 'car' ( pdf ) memungkinkan Anda menguji signifikansi keseluruhan dari variabel kategori. Ia bekerja dengan banyak paket dan jenis regresi yang berbeda.
SK4ndal

Jawaban:

28

Anda benar bahwa nilai- itu hanya memberi tahu Anda apakahp setiap level berbeda secara signifikan dari rata-rata level referensi. Karena itu, mereka hanya memberi tahu Anda tentang perbedaan berpasangan antara level. Untuk menguji apakah prediktor kategoris, secara keseluruhan, signifikan, sama dengan menguji apakah ada heterogenitas dalam cara tingkat-tingkat prediktor. Ketika tidak ada prediktor lain dalam model, ini adalah ANOVA klasik masalah .

Ketika ada prediktor lain dalam model. Anda memiliki dua opsi untuk menguji signifikansi prediktor kategori:

(1) Tes rasio kemungkinan: Misalkan Anda memiliki hasil , prediksi kuantitatif X i 1 , . . . , X i p dan kategoris prediktor C i dengan k tingkat. Model tanpa prediktor kategoris adalahYiXi1,...,XipCik

Yi=β0+β1Xi1+...+βpXip+εi

Dalam RAnda dapat cocok dengan model ini dengan lm()perintah dan ekstrak kemungkinan log dengan logLikperintah. Sebut kemungkinan log ini L0 . Selanjutnya, Anda dapat menyesuaikan model dengan prediktor kategori:

Yi=β0+β1Xi1+...+βpXip+j=1k1αjBj+εi

di mana adalah variabel dummy yaitu 1 jika D i =Bj1 dan 0 sebaliknya. The k 'tingkat th adalah tingkat referensi, yang mengapa hanya ada k - 1 istilah dalam jumlah. akan secara otomatis melakukan dummy coding ini untuk Anda jika Anda meneruskan variabel kategorikal ke. Anda dapat menyesuaikan model ini dengan cara yang sama dan mengekstrak kemungkinan log seperti di atas. Sebut kemungkinan log ini L 1 . Kemudian, di bawah hipotesis nol bahwa D iDi=j0kk1Rlm()L1Di tidak berpengaruh,

λ=2(L1L0)

χ2k1p1-pchisq(2*(L1-L0),df=k-1)R

FRRlm()g1g0anova(g1,g0)

F

Makro
sumber
Makro terima kasih banyak. Saya menemukan bahwa data saya sangat tidak normal. Plot QQ adalah sebagai berikut: kurva semua di bawah garis lurus 45 derajat. Kurva bersinggungan dengan garis lurus itu. Dan kurva tampak seperti kurva f (x) = - x ^ 2 (bentuk-bijaksana). Masalah apa yang saya hadapi? Dan bagaimana saya memperbaikinya? Terima kasih!
Luna
1
@ Luna, Data Anda sangat tidak normal atau residu sangat tidak normal? Juga, saya tidak berpikir itu mungkin untuk seluruh set poin berada di bawah garis 45 derajat.
Makro
oh sebenarnya Anda benar ... Saya hanya melihat sekali lagi pada plot QQ. Bukan seluruh set poin yang berada di bawah garis 45 derajat. Itu kurva dengan bentuk f (x) = - x ^ 2 adalah "singgung" ke garis 45 derajat. Dengan "garis singgung" saya seharusnya berarti bahwa titik-titik di sekitar titik "singgung" sebenarnya di atas garis 45 derajat, meskipun sangat sedikit. Oleh karena itu, secara visual, sebagian besar data (~ 98%) berada di bawah garis 45 derajat ... apa yang harus saya lakukan terlebih dahulu untuk memperbaiki masalah ini sebelum melakukan perbandingan model? Terima kasih!
Luna
2
Jika ukuran sampel Anda cukup besar, p harus tetap masuk akal (dengan teorema batas pusat) selama distribusi kesalahan Anda tidak berekor panjang. Jika Anda hanya ingin menguji variabel kategori secara terpisah, Anda dapat menggunakan ANOVA non-parametrik: en.wikipedia.org/wiki/… tetapi, seperti yang saya katakan, ini benar-benar menjadi pertanyaan yang sama sekali berbeda dari yang diajukan dan mungkin lebih tepat diajukan sebagai pertanyaan baru atau dijawab dengan mencari situs terkait untuk pertanyaan terkait.
Makro
1
@ Druss2k, ya itu benar.
Makro