Mengapa R mengembalikan NA sebagai koefisien lm ()?

32

Saya menyesuaikan lm()model ke set data yang mencakup indikator untuk kuartal keuangan (Q1, Q2, Q3, menjadikan Q4 sebagai default). Menggunakan lm(Y~., data = data) Saya mendapatkan NAsebagai koefisien untuk Q3, dan peringatan bahwa satu variabel dikeluarkan karena singularitas.

Apakah saya perlu menambahkan kolom Q4?

Fraijo
sumber

Jawaban:

39

NA sebagai koefisien dalam suatu regresi menunjukkan bahwa variabel yang dipermasalahkan terkait secara linear dengan variabel lainnya. Dalam kasus Anda, ini berarti bahwa untuk beberapa . Jika ini masalahnya, maka tidak ada solusi unik untuk regresi tanpa menjatuhkan salah satu variabel. Menambahkan hanya akan memperburuk keadaan.Q3=Sebuah×Q1+b×Q2+cSebuah,b,cQ4

Martin O'Leary
sumber
1
Saya setuju ... sepertinya ada masalah dengan definisi variabel dummy.
Dominic Comtois
14
(+1). NA lebih umum berarti bahwa koefisien tidak dapat diperkirakan. Ini dapat terjadi karena collinearity yang tepat, seperti yang telah Anda sebutkan. Tapi, itu juga bisa terjadi karena tidak memiliki pengamatan yang cukup untuk memperkirakan parameter yang relevan (misalnya jika ). Jika Anda prediktor bersifat kategorikal dan Anda menambahkan istilah interaksi, NA dapat juga berarti bahwa tidak ada pengamatan dengan kombinasi level faktor-faktor tersebut. hal>n
Makro
2
hal>n hanyalah kasus khusus dari kolinearitas - jika ada lebih sedikit pengamatan daripada prediksi, maka kolinearitas diberikan. Anda benar tentang istilah interaksi, meskipun saya cukup yakin bukan itu yang terjadi di sini.
Martin O'Leary
Variabel tidak terkait secara linear, karena Q3 = 1 iff Q1 = Q2 = 0. Selain itu, menggunakan stepAIC () dan memaksa model untuk memasukkan ketiga variabel tersebut tidak menyebabkan masalah. Juga, saya memiliki sekitar 3x jumlah pengamatan untuk variabel. Tebakan terbaik saya adalah ada kolinearitas antara Q3 dan beberapa variabel lainnya, yang saya kira merupakan salah satu yang tidak termasuk dalam stepAIC.
Fraijo