Saat ini saya sedang mengerjakan model regresi di mana saya hanya memiliki variabel kategori / faktor sebagai variabel independen. Variabel dependen saya adalah rasio transformasi logit.
Cukup mudah hanya untuk menjalankan regresi normal dalam R, karena R secara otomatis tahu cara mengkodekan boneka begitu mereka adalah tipe "faktor". Namun jenis pengkodean ini juga menyiratkan bahwa satu kategori dari setiap variabel digunakan sebagai garis dasar, sehingga sulit untuk diinterpretasikan.
Profesor saya telah mengatakan kepada saya untuk hanya menggunakan pengkodean efek sebagai gantinya (-1 atau 1), karena ini menyiratkan penggunaan grand mean untuk intersep.
Adakah yang tahu cara menanganinya?
Sampai sekarang saya sudah mencoba:
gm <- mean(tapply(ds$ln.crea, ds$month, mean))
model <- lm(ln.crea ~ month + month*month + year + year*year, data = ds, contrasts = list(gm = contr.sum))
Call:
lm(formula = ln.crea ~ month + month * month + year + year *
year, data = ds, contrasts = list(gm = contr.sum))
Residuals:
Min 1Q Median 3Q Max
-0.89483 -0.19239 -0.03651 0.14955 0.89671
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.244493 0.204502 -15.865 <2e-16 ***
monthFeb -0.124035 0.144604 -0.858 0.3928
monthMar -0.365223 0.144604 -2.526 0.0129 *
monthApr -0.240314 0.144604 -1.662 0.0993 .
monthMay -0.109138 0.144604 -0.755 0.4520
monthJun -0.350185 0.144604 -2.422 0.0170 *
monthJul 0.050518 0.144604 0.349 0.7275
monthAug -0.206436 0.144604 -1.428 0.1562
monthSep -0.134197 0.142327 -0.943 0.3478
monthOct -0.178182 0.142327 -1.252 0.2132
monthNov -0.119126 0.142327 -0.837 0.4044
monthDec -0.147681 0.142327 -1.038 0.3017
year1999 0.482988 0.200196 2.413 0.0174 *
year2000 -0.018540 0.200196 -0.093 0.9264
year2001 -0.166511 0.200196 -0.832 0.4073
year2002 -0.056698 0.200196 -0.283 0.7775
year2003 -0.173219 0.200196 -0.865 0.3887
year2004 0.013831 0.200196 0.069 0.9450
year2005 0.007362 0.200196 0.037 0.9707
year2006 -0.281472 0.200196 -1.406 0.1625
year2007 -0.266659 0.200196 -1.332 0.1855
year2008 -0.248883 0.200196 -1.243 0.2164
year2009 -0.153083 0.200196 -0.765 0.4461
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.3391 on 113 degrees of freedom
Multiple R-squared: 0.3626, Adjusted R-squared: 0.2385
F-statistic: 2.922 on 22 and 113 DF, p-value: 0.0001131
r
regression
categorical-data
categorical-encoding
Kasper Christensen
sumber
sumber
Jawaban:
Pada prinsipnya, ada dua jenis pengkodean kontras, yang dengannya intersep akan memperkirakan Grand Mean. Ini adalah jumlah kontras dan kontras berulang (perbedaan geser).
Berikut ini contoh kumpulan data:
Ketentuan berarti:
Grand Mean:
Anda dapat menentukan jenis pengkodean kontras dengan
contrasts
parameter dalamlm
.Jumlah kontras
Mencegat adalah Grand Mean. Kemiringan pertama adalah perbedaan antara tingkat faktor pertama dan Grand Mean. Kemiringan kedua adalah perbedaan antara tingkat faktor kedua dan Grand Mean.
Kontras berulang
Fungsi untuk membuat kontras berulang adalah bagian dari
MASS
paket.Mencegat adalah Grand Mean. Kemiringan menentukan perbedaan antara tingkat faktor berturut-turut (2 vs 1, 3 vs 2).
sumber
Nitpicking: jika profesor Anda memberi tahu Anda untuk memberi kode variabel
(-1, 1)
, ia memberi tahu Anda untuk menggunakan pengkodean efek , bukan ukuran efek . Bagaimanapun, @ user20650 benar. Seperti biasa, situs web bantuan statistik UCLA memiliki halaman berguna yang menjelaskan cara melakukan ini dengan R.sumber