Je travaille actuellement sur un modèle de régression où je n'ai que des variables catégorielles / factorielles comme variables indépendantes. Ma variable dépendante est un rapport transformé logit.
Il est assez facile d'exécuter une régression normale dans R, car R sait automatiquement coder les nuls dès qu'ils sont du type "facteur". Cependant, ce type de codage implique également qu'une catégorie de chaque variable est utilisée comme référence, ce qui rend son interprétation difficile.
Mon professeur m'a dit de simplement utiliser le codage d'effet à la place (-1 ou 1), car cela implique l'utilisation de la grande moyenne pour l'interception.
Est-ce que quelqu'un sait comment gérer cela?
Jusqu'à présent, j'ai essayé:
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
la source
la source
Réponses:
En principe, il existe deux types de codage de contraste, avec lesquels l'ordonnée à l'origine estimera le Grand Mean. Ce sont des contrastes de somme et des contrastes répétés (différences glissantes).
Voici un exemple d'ensemble de données:
Les conditions »signifient:
Le Grand Mean:
Vous pouvez spécifier le type de codage de contraste avec le
contrasts
paramètre danslm
.Contrastes de somme
L'ordonnée à l'origine est le Grand Mean. La première pente est la différence entre le premier niveau de facteur et le Grand Mean. La deuxième pente est la différence entre le deuxième niveau de facteur et le Grand Mean.
Contrastes répétés
La fonction de création de contrastes répétés fait partie du
MASS
package.L'ordonnée à l'origine est le Grand Mean. Les pentes indiquent les différences entre les niveaux de facteurs consécutifs (2 contre 1, 3 contre 2).
la source
Nitpicking: si votre professeur vous a dit de coder vos variables avec
(-1, 1)
, il vous a dit d'utiliser le codage d' effet , pas les tailles d' effet . En tout cas, @ user20650 a raison. Comme d'habitude, le site Web d'aide des statistiques UCLA a une page utile qui explique comment procéder avec R.la source