Mengapa kita perlu membuang satu variabel dummy?

16

Saya telah belajar bahwa, untuk membuat model regresi, kita harus menjaga variabel kategori dengan mengubahnya menjadi variabel dummy. Sebagai contoh, jika, dalam kumpulan data kami, ada variabel seperti lokasi:

Location 
----------
Californian
NY
Florida

Kami harus mengonversinya seperti:

1  0  0
0  1  0
0  0  1

Namun, disarankan bahwa kita harus membuang satu variabel dummy, tidak peduli berapa banyak variabel dummy yang ada.

Mengapa kita perlu membuang satu variabel dummy?

Mithun Sarker Shuvro
sumber
3
Karena boneka ketiga dapat dijelaskan sebagai kombinasi linear dari dua yang pertama: FL = 1 - (CA + NY).
rantaiD
@ ChainD tapi apa penjelasan untuk lebih dari tiga variabel dummy?
Mithun Sarker Shuvro
2
Apa pun totalnya, itu hanya akan menjadi 1 kurang dari jumlah total kategori yang Anda miliki. Memperluas contoh Anda, katakanlah semua 50 negara terwakili dalam dataset. Untuk individu tertentu, misalkan Anda melihat 49 boneka pertama yang kebetulan semuanya nol, maka Anda tahu bahwa boneka terakhir adalah 1 bahkan tanpa melihat (dengan asumsi semua orang dalam dataset berasal dari salah satu dari 50 negara). Dengan kata lain, informasi dari boneka terakhir sudah terkandung dalam hasil dari 49 pertama, sehingga untuk berbicara.
rantaiD
@ chainD terima kasih
Mithun Sarker Shuvro
1
jika bukan musim semi, bukan musim panas dan bukan musim gugur maka itu adalah musim dingin!
Stev

Jawaban:

10

Sederhananya karena satu tingkat fitur kategorikal Anda (di sini lokasi) menjadi grup referensi selama penyandian dummy untuk regresi dan berlebihan. Saya mengutip formulir di sini, "Variabel kategorik dari kategori K, atau level, biasanya memasuki regresi sebagai urutan variabel dummy K-1. Ini sama dengan hipotesis linier pada level rata-rata."

Ini sudah dibahas di stats.stackexchange jawaban yang sangat bagus ini .

Saya diberitahu bahwa ada kursus lanjutan oleh Yandex di Coursera yang membahas hal ini secara lebih rinci jika Anda masih ragu, lihat di sini . Catatan Anda selalu dapat mengaudit konten kursus gratis. ;-)

Posting bagus lainnya jika Anda ingin penjelasan menyeluruh dengan banyak contoh dengan perspektif statistik dan tidak terbatas hanya pada pengkodean dummy, lihat ini dari UCLA (dalam R)

Perhatikan bahwa jika Anda menggunakan pandas.get_dummies, ada parameter yaitu drop_firstsehingga untuk mendapatkan k-1 boneka dari tingkat k kategori dengan menghapus tingkat pertama. Harap dicatat default = False, artinya referensi tidak dijatuhkan dan k boneka dibuat dari tingkat k kategori!

TwinPenguins
sumber
4
Perhatikan bahwa ini hanya benar jika model Anda memiliki intersep (yaitu, istilah konstan). Jika tidak, dengan menggunakan one-hot-encoding dan tidak membuang satu variabel dummy, Anda secara implisit menambahkan intersep.
Elias Strehle