Eu tenho uma variável independente chamada "qualidade"; essa variável possui 3 modalidades de resposta (má qualidade; média qualidade; alta qualidade). Quero introduzir essa variável independente em minha regressão linear múltipla. Quando eu tenho uma variável independente binária (variável dummy, eu posso codificar 0
/ 1
), é fácil introduzi-la em um modelo de regressão linear múltipla.
Mas com 3 modalidades de resposta, tentei codificar essa variável assim:
Bad quality Medium quality High quality
0 1 0
1 0 0
0 0 1
0 1 0
Mas há um problema quando tento fazer minha regressão linear múltipla: a modalidade Medium quality
me dá NA
:
Coefficients: (1 not defined because of singularities)
Como posso codificar essa variável "qualidade" com 3 modalidades? Preciso criar uma variável como um fator ( factor
in R
), mas posso introduzi-lo em uma regressão linear múltipla?
Respostas:
O problema que você está tendo (por exemplo, "singularidades") pode ser pensado como um exemplo de multicolinearidade . A multicolinearidade é geralmente definida como:
Esta é, de fato, uma definição bastante estrita; é multicolinearidade perfeita e você pode facilmente ter um problema com multicolinearidade sem que nenhuma de suas variáveis seja perfeita combinação linear de outras. Além disso, a multicolinearidade perfeita raramente ocorre. No entanto, você encontrou um caso em que isso pode ocorrer. Vamos ver como podemos perfeitamente preverY X1 X2
medium quality
a partir de nosso conhecimento das outras duas categorias (vamos fazer isso com um modelo de regressão, ondemedium quality
é , e & são X 1 e X 2 , respectivamente): Y = β 0 + β 1bad quality
high quality
Observe que não há termo de erro, ε , especificado, porque podemos prever isso perfeitamente. Para fazer isso, definimos β 0 = 1 , β 1 = - 1 e β 2 = - 1 . Agora, quando você tem, então X 1 = 1 , que cancela β 0 ( 1
bad quality
medium quality
R
factor
R
fará tudo isso por você - será feito corretamente e é muito mais conveniente - no entanto, vale a pena entender que é isso que está acontecendo "nos bastidores".fonte
lm
fórmula (+ 0
), isso funcionaria?@gung explicou a teoria claramente. Aqui está um exemplo prático para ilustrar:
bad
Agora, se codificarmos as variáveis dummy e tentarmos ajustar um modelo usando todas elas:
Temos o erro esperado:
singular fit encountered
fonte
factor
Em geral, você cuida da codificação de variáveis fictícias para você, mas é bom estar ciente do que está acontecendo "sob o capô".