Bagaimana saya harus menangani variabel kategori dengan beberapa level ketika melakukan eliminasi mundur?


12

Saya sedang melakukan model eliminasi mundur berbasis AIC sederhana di mana beberapa variabel adalah variabel kategori dengan beberapa level. Variabel-variabel ini dimodelkan sebagai seperangkat variabel dummy. Ketika melakukan eliminasi mundur, haruskah saya menghapus semua level variabel secara bersamaan? Atau haruskah saya memperlakukan setiap variabel dummy secara terpisah? Dan mengapa?

Sebagai pertanyaan terkait, langkah dalam R menangani setiap variabel dummy secara terpisah saat melakukan eliminasi mundur. Jika saya ingin menghapus seluruh variabel kategori sekaligus, dapatkah saya melakukannya menggunakan langkah? Atau adakah alternatif untuk langkah yang bisa menangani ini?


Saya pikir sulit untuk menjawab pertanyaan ini dalam konteks umum. Jika memungkinkan, dapatkah Anda memberikan beberapa wawasan tentang apa data Anda? apa yang ingin kamu simpulkan? kemungkinan asumsi, dll. Memberikan detail ini dapat membantu kami menjawab pertanyaan Anda dengan lebih baik.
suncoolsu

@ suncoolsu Saya tidak benar-benar bebas untuk membahas semua itu. Jika mungkin untuk menjawab pertanyaan dengan pohon keputusan ('jika Anda mengasumsikan X, maka lakukan Y'), itu bisa sangat membantu.
nerdbound

1
Untuk kejelasan, apakah Anda tertarik menafsirkan model sebagai kausal atau apakah Anda hanya tertarik pada prediksi?
Andy W

Iya. Saya setuju dengan Matt Parker. Selain itu, jika kolom data kucing memiliki 5 entri, katakanlah, 1,2,3,4,5, model GLM menyediakan 4 kolom untuknya, katakanlah, catCol1, catCol2, catCol3, catCol4, dan jika kami memutuskan untuk menghilangkan catCol dengan nilai p tertinggi, katakanlah catCol4, tiga sisanya tidak masuk akal, karena data selalu dapat memiliki nilai catCol4. Pada situasi seperti itu, GLM akan kebingungan, dan akan menunjukkan kesalahan ..
Ebby

Jawaban:


7

Saya pikir Anda harus menghapus seluruh variabel kategori. Bayangkan suatu regresi logistik di mana Anda mencoba memprediksi apakah seseorang memiliki penyakit atau tidak. Negara kelahiran mungkin memiliki dampak besar pada hal itu, jadi Anda memasukkannya dalam model Anda. Jika asal Amerika Serikat spesifik tidak berdampak pada AIC dan Anda menjatuhkannya, bagaimana Anda menghitung untuk orang Amerika? R menggunakan kontras referensi untuk faktor secara default, jadi saya pikir mereka hanya akan dihitung pada tingkat referensi (katakanlah, Botswana), jika sama sekali. Itu mungkin tidak akan berakhir dengan baik ...y^

Pilihan yang lebih baik adalah memilah pengkodean negara kelahiran yang masuk akal sebelumnya - runtuh ke wilayah, benua, dll. Dan menemukan yang mana yang paling cocok untuk model Anda.

Tentu saja, ada banyak cara untuk menyalahgunakan pemilihan variabel bertahap, jadi pastikan Anda melakukannya dengan benar. Ada banyak hal tentang itu di situs ini; mencari "stepwise" menampilkan beberapa hasil yang bagus. Ini sangat relevan , dengan banyak nasihat bagus dalam jawabannya.


1
Terima kasih atas tanggapannya. Saya kira kekhawatiran saya adalah bahwa, dalam contoh Anda, jika satu negara kelahiran adalah prediktor penyakit yang fantastis, dan semua negara asal lainnya adalah prediktor yang buruk, maka model eliminasi mundur akan meminta saya untuk menghapus negara kelahiran, bahkan meskipun negara kelahiran hampir tidak berguna sebagai kovariat. Dengan kata lain, mungkin masuk akal untuk memiliki satu variabel untuk 'apakah Anda orang Lituania?' meskipun negara kelahiran secara keseluruhan tidak memprediksi dengan baik. Adakah cara yang masuk akal untuk menangani masalah semacam itu?
nerdbound

2
(+1) Jika satu negara adalah prediktor yang hebat, maka seluruh kelompok negara akan signifikan dan akan dipertahankan. @Matt Parker benar: pertahankan kelompok variabel dummy bersama dan mendasarkan kriteria masuk dan keluar pada tingkat signifikansi bersama untuk seluruh kelompok, bukan pada tingkat signifikansi untuk boneka individu.
whuber

2
@whuber OK satu lagi komentar bodoh yang berpotensi dari saya dan kemudian saya akan merasa damai ketika saya mengerti mengapa saya salah :-P Sepertinya saya bahwa jika saya melihat AIC dan saya mengecualikan, katakanlah, 200 boneka negara sebagai kelompok, AIC akan meningkat karena model baru akan memiliki 200 variabel lebih sedikit, dan itu akan menjadi lebih buruk hanya sejauh boneka-boneka itu adalah prediktor yang baik. Jika hanya salah satu variabel yang merupakan prediktor yang baik, bagi saya tampaknya di internet AIC akan membuat model dengan 200 variabel lebih sedikit terlihat lebih baik, tetapi kemudian saya akan kehilangan satu variabel ...
nerdbound

4
@nerdbound Itu sama sekali tidak bodoh. Namun, jika hanya satu dummy dalam 200 berfungsi dengan baik, Anda benar-benar memiliki variabel kategori yang berbeda: itu adalah variabel biner baru (atau yang direklasifikasi). @Matt Parker membahas masalah ini di paragraf keduanya. Ini terlihat seperti masalah untuk analisis eksplorasi (yang merupakan regresi bertahap). Tidak apa-apa untuk menyiksa data Anda dengan cara ini, tetapi setelah semua asapnya hilang, Anda perlu menguji model Anda pada data independen.
Whuber

1
Ini mungkin relevan ketika ada sangat banyak tingkatan: stats.stackexchange.com/questions/146907/…
kjetil b halvorsen

0

Adapun contoh negara, saya pikir jika variabel dummy untuk negara tertentu dipilih, maka itu berarti negara ini merupakan prediktor dibandingkan dengan semua negara lain yang digabungkan (tidak perlu membuat variabel biner baru). Masalah saya sangat sering adalah variabel dummy yang mencerminkan, misalnya, tingkat keparahan penyakit (seperti -, +, ++, +++). Terkadang variabel dummy untuk ++ dipilih tetapi variabel dummy untuk +++ tidak. Dalam hal ini, klasifikasi ulang mungkin bermanfaat.

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.