Jika saya memiliki variabel dengan 4 level, secara teori saya perlu menggunakan 3 variabel dummy. Dalam praktiknya, bagaimana ini sebenarnya dilakukan? Apakah saya menggunakan 0-3, apakah saya menggunakan 1-3 dan membiarkan 4 kosong? Ada saran?
CATATAN: Saya akan bekerja di R.
UPDATE: Apa yang akan terjadi jika saya hanya menggunakan satu kolom yang menggunakan 1-4 yang sesuai dengan AD? Apakah itu akan berhasil atau menimbulkan masalah?
r
regression
categorical-data
categorical-encoding
screechOwl
sumber
sumber
Jawaban:
Dalam praktiknya, seseorang biasanya membiarkan perangkat lunak pilihannya menangani pembuatan dan manipulasi variabel dummy. Ada beberapa cara penanganannya; berikut adalah beberapa kemungkinan umum untuk kumpulan data dengan empat pengamatan, satu di setiap tingkat A, B, C, dan D. Ini adalah parameterisasi yang berbeda; mereka menghasilkan model yang sama persis, tetapi dengan interpretasi yang berbeda untuk parameter. Satu dapat dengan mudah mengkonversi dari satu ke yang lain menggunakan aljabar dasar; perhatikan mereka semua kombinasi linear satu sama lain; sebenarnya, kombinasi linear apa pun dapat digunakan.
Gunakan perbedaan dari level pertama (default dalam R):
Gunakan perbedaan dari level terakhir (default di SAS):
Gunakan kontras "jumlah":
Gunakan kontras "helmert":
sumber
Mari kita asumsikan tingkat variabel Anda adalah A, B, C, dan D. Jika Anda memiliki istilah konstan dalam regresi, Anda perlu menggunakan tiga variabel dummy, jika tidak, Anda harus memiliki keempatnya.
Ada banyak cara yang setara secara matematis untuk menerapkan variabel dummy. Jika Anda memiliki istilah konstan dalam regresi, salah satu caranya adalah dengan memilih salah satu level sebagai level "dasar" dan membandingkan tiga lainnya. Katakanlah, untuk konkret, bahwa level dasar adalah A. Kemudian variabel dummy pertama Anda mengambil nilai 1 setiap kali levelnya adalah B dan 0 sebaliknya; yang kedua mengambil nilai 1 setiap kali level C dan 0 sebaliknya, dan yang ketiga mengambil nilai 1 setiap kali level D dan 0 sebaliknya. Karena istilah konstan Anda sama dengan 1 setiap saat, koefisien estimasi variabel dummy pertama akan menjadi estimasi perbedaan antara level B dan A, dan juga untuk variabel dummy lainnya.
Jika Anda tidak memiliki istilah konstan, Anda bisa menggunakan empat variabel dummy, dibuat seperti pada contoh sebelumnya, hanya menambahkan satu untuk level A.
sumber
Di R, tentukan variabel sebagai faktor dan itu akan mengimplementasikannya untuk Anda:
yang kembali
Dokumentasi untuk 'lm', 'factor', dan 'formula' dalam R mengisi beberapa detail.
sumber
lm(y ~ as.factor(x))
whuber memberi tahu Anda dalam komentar bahwa pengkodean kode 0-3 atau 1-4 bukannya membuat variabel dummy bukan yang Anda inginkan. Ini coba - semoga saya jelaskan apa yang akan Anda lakukan dengan model itu dan mengapa itu salah.
Jika Anda melakukan kode variabel X sehingga jika A maka X = 1, jika B maka X = 2, jika C maka X = 3, jika D maka X = 4 maka ketika Anda melakukan regresi Anda hanya akan mendapatkan satu parameter. Katakanlah akhirnya adalah bahwa estimasi parameter yang terkait dengan X adalah 2. Ini akan memberitahu Anda bahwa perbedaan yang diharapkan antara rata-rata B dan rata-rata A adalah 2. Ini juga memberi tahu Anda bahwa perbedaan yang diharapkan antara rata-rata C dan rata-rata B adalah 2. Beberapa untuk D dan C. Anda akan memaksa perbedaan dalam cara bagi kelompok-kelompok ini untuk mengikuti pola yang sangat ketat ini. Satu parameter itu memberi tahu Anda dengan tepat bagaimana semua kelompok Anda berarti saling terkait.
Jadi, jika Anda melakukan pengkodean seperti ini, Anda harus mengasumsikan bahwa Anda tidak hanya memesan dengan benar (karena dalam hal ini jika Anda mengharapkan peningkatan dari A ke B maka Anda perlu mengharapkan peningkatan dari B ke C dan dari C ke D) tetapi Anda juga harus menganggap bahwa perbedaannya sama!
Jika sebaliknya, Anda melakukan pengkodean dummy yang telah disarankan agar Anda mengizinkan masing-masing grup untuk memiliki mean sendiri - tanpa batasan. Model ini jauh lebih masuk akal dan menjawab pertanyaan yang Anda inginkan.
sumber