Se eu tenho uma variável com 4 níveis, em teoria eu preciso usar 3 variáveis fictícias. Na prática, como isso é realmente realizado? Uso 0-3, uso 1-3 e deixo o 4 em branco? Alguma sugestão?
NOTA: Eu vou trabalhar na R.
ATUALIZAÇÃO: O que aconteceria se eu apenas usasse uma coluna que use 1-4 correspondente ao AD? Isso funcionará ou introduzirá problemas?
Respostas:
Na prática, geralmente se permite que o software de sua escolha lide com a criação e manipulação de variáveis fictícias. Existem várias maneiras de lidar com isso; aqui estão várias possibilidades comuns para um conjunto de dados com quatro observações, uma em cada nível de A, B, C e D. Essas são parametrizações diferentes; eles resultam exatamente no mesmo modelo, mas com interpretações diferentes para os parâmetros. Pode-se facilmente converter de um para outro usando álgebra básica; note que todas são combinações lineares uma da outra; de fato, qualquer combinação linear pode ser usada.
Use diferenças do primeiro nível (padrão em R):
Use diferenças do último nível (padrão no SAS):
Use contrastes de "soma":
Use os contrastes "helmert":
fonte
Vamos supor que seus níveis de variáveis sejam A, B, C e D. Se você tem um termo constante na regressão, precisa usar três variáveis fictícias, caso contrário, precisa ter todas as quatro.
Existem muitas maneiras matematicamente equivalentes de implementar as variáveis fictícias. Se você tem um termo constante na regressão, uma maneira é escolher um dos níveis como o nível "linha de base" e comparar os outros três. Digamos, por concretude, que o nível da linha de base é A. Então, sua primeira variável dummy assume o valor 1 sempre que o nível for B e 0; o segundo assume o valor 1 sempre que o nível for C e 0, e o terceiro assume o valor 1 sempre que o nível for D e 0. Como o termo constante é igual a 1 o tempo todo, o coeficiente estimado da primeira variável dummy será a estimativa da diferença entre os níveis B e A e da mesma forma para as outras variáveis dummy.
Se você não tiver um termo constante, poderá usar apenas quatro variáveis fictícias, construídas como no exemplo anterior, apenas adicionando uma para o nível A.
fonte
Em R, defina a variável como um fator e ela será implementada para você:
que retorna
A documentação para 'lm', 'fator' e 'fórmula' em R preenche alguns dos detalhes.
fonte
lm(y ~ as.factor(x))
O whuber disse nos comentários que a codificação de 0-3 ou 1-4 em vez de criar variáveis fictícias não é o que você deseja. É uma tentativa - espero explicar o que você faria com esse modelo e por que ele está errado.
Se você codificar uma variável X tal que, se A então X = 1, se B, então X = 2, se C, então X = 3, se D, então X = 4, quando você fizer a regressão, obterá apenas um parâmetro. Digamos que o parâmetro estimado associado a X seja 2. Isso indica que a diferença esperada entre a média de B e a média de A é 2. Também indica que a diferença esperada entre a média de C e a média de B é 2. Algumas para D e C. Você estaria forçando as diferenças nos meios para esses grupos seguirem esse padrão muito estrito. Esse parâmetro informa exatamente como todos os meios do seu grupo se relacionam.
Portanto, se você fez esse tipo de codificação, seria necessário supor que não apenas você conseguiu a ordem correta (porque, neste caso, se você espera um aumento de A para B, precisará de um aumento de B para C e de C para D), mas você também precisa assumir que essa diferença é a mesma!
Se, em vez disso, você fizer a codificação fictícia sugerida, estará permitindo que cada grupo tenha sua própria média - sem restrições. Este modelo é muito mais sensato e responde às perguntas que você deseja.
fonte