Interpretação de betas quando existem múltiplas variáveis ​​categóricas

18

Entendo o conceito de que é a média para quando a variável categórica é igual a 0 (ou é o grupo de referência), dando a interpretação final de que o coeficiente de regressão é a diferença na média das duas categorias. Mesmo com> 2 categorias, eu assumiria que cada explica a diferença entre a média e a referência dessa categoria.β^0β^

Mas, e se mais variáveis ​​forem trazidas para o modelo multivariável? Agora, o que o intercepto significa, dado que não faz sentido que ele seja o meio para a referência de duas variáveis ​​categóricas? Um exemplo seria se gênero (M (ref) / F) e raça (branco (ref) / preto) estivessem ambos em um modelo. A a média apenas para homens brancos? Como alguém interpreta outras possibilidades?β^0

Como uma observação separada: as declarações de contraste servem como um método para investigar a modificação do efeito? Ou apenas para ver o efeito ( ) em diferentes níveis?β^

Renee
fonte
Como observação terminológica, "multivariado" significa múltiplas variáveis ​​de resposta , não múltiplas variáveis ​​preditoras (veja aqui ). Além disso, não sigo sua última pergunta.
gung - Restabelece Monica
Obrigado por este esclarecimento. Obter o idioma correto é importante para mim! Suponho que simplesmente não consigo entender por que as declarações de contraste são usadas, uma vez que sempre é possível definir a variável de referência para aquela com a qual estamos contrastando?
Renee
1
Eu acho que você poderia continuar reajustando o modelo com níveis de referência diferentes. Não sei se isso é mais conveniente. Com os contrastes, você também pode especificar um conjunto de contrastes ortogonais ou um contraste teoricamente implícito (A vs combinação de B&C) para testar.
gung - Restabelece Monica

Respostas:

19

Você está certo sobre a interpretação dos betas quando há uma única variável categórica com níveis . Se houver várias variáveis ​​categóricas (e não houver termo de interação), a interceptação ( ) é a média do grupo que constitui o nível de referência para as duas (todas) variáveis ​​categóricas. Usando seu cenário de exemplo, considere o caso em que não há interação, então os betas são: kβ 0β^0

  • β^0 : a média de homens brancos
  • β^Female : a diferença entre a média de mulheres e a média de homens
  • β^Black : a diferença entre a média de negros e a média de brancos

Também podemos pensar nisso em termos de como calcular os vários grupos significa:

x¯White Males=β^0x¯White Females=β^0+β^Femalex¯Black Males=β^0+β^Blackx¯Black Females=β^0+β^Female+β^Black

Se você tivesse um termo de interação, ele seria adicionado no final da equação para mulheres negras. (A interpretação de um termo dessa interação é bastante complicada, mas eu passo aqui: Interpretação do termo de interação .)


Atualização : para esclarecer meus pontos, vamos considerar um exemplo enlatado, codificado R.

d = data.frame(Sex  =factor(rep(c("Male","Female"),times=2), levels=c("Male","Female")),
               Race =factor(rep(c("White","Black"),each=2),  levels=c("White","Black")),
               y    =c(1, 3, 5, 7))
d
#      Sex  Race y
# 1   Male White 1
# 2 Female White 3
# 3   Male Black 5
# 4 Female Black 7

insira a descrição da imagem aqui

Os meios ypara essas variáveis ​​categóricas são:

aggregate(y~Sex,  d, mean)
#      Sex y
# 1   Male 3
# 2 Female 5
## i.e., the difference is 2
aggregate(y~Race, d, mean)
#    Race y
# 1 White 2
# 2 Black 6
## i.e., the difference is 4

Podemos comparar as diferenças entre essas médias e os coeficientes de um modelo ajustado:

summary(lm(y~Sex+Race, d))
# ...
# Coefficients:
#             Estimate Std. Error  t value Pr(>|t|)    
# (Intercept)        1   3.85e-16 2.60e+15  2.4e-16 ***
# SexFemale          2   4.44e-16 4.50e+15  < 2e-16 ***
# RaceBlack          4   4.44e-16 9.01e+15  < 2e-16 ***
# ...
# Warning message:
#   In summary.lm(lm(y ~ Sex + Race, d)) :
#   essentially perfect fit: summary may be unreliable

O que devemos reconhecer sobre essa situação é que, sem um termo de interação, estamos assumindo linhas paralelas. Assim, o Estimatepara o (Intercept)é a média dos homens brancos. O Estimatefor SexFemaleé a diferença entre a média das fêmeas e a média dos machos. O Estimatefor RaceBlacké a diferença entre a média de negros e a média de brancos. Novamente, como um modelo sem um termo de interação assume que os efeitos são estritamente aditivos (as linhas são estritamente paralelas), a média de mulheres negras é então a média de homens brancos mais a diferença entre a média de mulheres e a média de homens mais a diferença entre a média de negros e a média de brancos.

- Reinstate Monica
fonte
Obrigado! Muito claro e útil. No final, você menciona termos de interação. Se alguém usa um termo de interação, como isso altera os betas (ou seja, os novos betas do modelo de termo de interação)? Sei que o valor de p para o termo de interação é importante, mas o termo de interação beta tem uma interpretação significativa? Obrigado novamente por sua ajuda!
Renee
1
No caso de uma interação, o 'efeito principal' betas refere-se apenas às diferenças dentro do nível de referência do outro fator. Por exemplo, é apenas a diferença entre e . β^Femalex¯White Malex¯White Female
gung - Restabelece Monica
Faz sentido. Obrigado! & é alterado do modelo sem termo de interação devido ao termo de interação que melhora o efeito principal? Ou seja, se não houver interação, o termo principal efeito seria teoricamente o mesmo?
Renee
Se o efeito de interação fosse exatamente 0 (com casas decimais infinitas), não apenas na população, mas também em sua amostra, o principal efeito betas seria o mesmo em um modelo sem o termo interação.
gung - Restabelece Monica
1
@ hans0l0, seria melhor como uma nova pergunta, em vez de informações escondidas aqui nos comentários; você pode vincular a isso para contextualizar. Resumidamente, é a média dos níveis de referência quando todas as variáveis ​​contínuas são = 0.
gung - Restabelece Monica
6

Na verdade, como você apontou corretamente, no caso de uma única variável categórica (com potencialmente mais de 2 níveis), é realmente a média da referência e os outros são a diferença entre o média desse nível da categoria e média da referência.β^0β^

Se estendermos um pouco o seu exemplo para incluir um terceiro nível na categoria de corrida (digamos asiática ) e escolhermos Branco como referência, você terá:

  • β^0=x¯White
  • β^Black=x¯Blackx¯White
  • β^Asian=x¯Asianx¯White

Nesse caso, a interpretação de todo o é fácil e é fácil encontrar a média de qualquer nível da categoria. Por exemplo:β^

  • x¯Asian=β^Asian+β^0

Infelizmente, no caso de múltiplas variáveis ​​categóricas, a interpretação correta para a interceptação não é mais tão clara (consulte a nota no final). Quando houver n categorias, cada uma com vários níveis e um nível de referência (por exemplo, branco e masculino no seu exemplo), a forma geral da interceptação é:

β^0=i=1nx¯reference,i(n1)x¯,
que
x¯reference,i is the mean of the reference level of the i-th categorical variable,
x¯ is the mean of the whole data set

Os outros são os mesmos de uma única categoria: são a diferença entre a média desse nível da categoria e a média do nível de referência da mesma categoria.β^

Se voltarmos ao seu exemplo, obteríamos:

  • β^0=x¯White+x¯Malex¯
  • β^Black=x¯Blackx¯White
  • β^Asian=x¯Asianx¯White
  • β^Female=x¯Femalex¯Male

Você notará que a média das categorias cruzadas (por exemplo, homens brancos ) não está presente em nenhuma das . De fato, você não pode calcular esses meios precisamente a partir dos resultados desse tipo de regressão .β^

A razão para isso é que, o número de variáveis ​​preditoras (ou seja, ) é menor que o número de categorias cruzadas (desde que você tenha mais de uma categoria), portanto, um ajuste perfeito nem sempre é possível. Se voltarmos ao seu exemplo, o número de preditores é 4 (por exemplo, e ) enquanto o número de categorias cruzadas é 6.β^β^0, β^Black, β^Asianβ^Female

Exemplo Numérico

Deixe-me emprestar do @Gung para um exemplo numérico enlatado:

d = data.frame(Sex=factor(rep(c("Male","Female"),times=3), levels=c("Male","Female")),
    Race =factor(rep(c("White","Black","Asian"),each=2),levels=c("White","Black","Asian")),
    y    =c(0, 3, 7, 8, 9, 10))
d

#      Sex  Race  y
# 1   Male White  0
# 2 Female White  3
# 3   Male Black  7
# 4 Female Black  8
# 5   Male Asian  9
# 6 Female Asian 10

Nesse caso, as várias médias que serão calculadas no são:β^

aggregate(y~1,  d, mean)

#          y
# 1 6.166667

aggregate(y~Sex,  d, mean)

#      Sex        y
# 1   Male 5.333333
# 2 Female 7.000000

aggregate(y~Race, d, mean)

#    Race   y
# 1 White 1.5
# 2 Black 7.5
# 3 Asian 9.5

Podemos comparar estes números com os resultados da regressão:

summary(lm(y~Sex+Race, d))

# Coefficients:
#             Estimate Std. Error t value Pr(>|t|)
# (Intercept)   0.6667     0.6667   1.000   0.4226
# SexFemale     1.6667     0.6667   2.500   0.1296
# RaceBlack     6.0000     0.8165   7.348   0.0180
# RaceAsian     8.0000     0.8165   9.798   0.0103

Como você pode ver, os vários estimados a partir da regressão estão alinhados com as fórmulas fornecidas acima. Por exemplo, é fornecido por: que fornece:β^β^0

β^0=x¯White+x¯Malex¯
1.5 + 5.333333 - 6.166667
# 0.66666

Nota sobre a escolha do contraste

Uma observação final sobre este tópico, todos os resultados discutidos acima referem-se a regressões categóricas usando tratamento de contraste (o tipo padrão de contraste em R). Existem diferentes tipos de contraste que podem ser usados ​​(principalmente Helmert e soma) e isso mudaria a interpretação dos vários . No entanto, não alteraria as previsões finais das regressões (por exemplo, a previsão para homens brancos é sempre a mesma, independentemente do tipo de contraste que você usa).β^

Meu favorito pessoal é a soma do contraste, pois sinto que a interpretação do generaliza melhor quando existem várias categorias. Para esse tipo de contraste, não há nível de referência, ou melhor, a referência é a média de toda a amostra e você tem o seguinte :β^contr.sumβ^contr.sum

  • β^0contr.sum=x¯
  • β^icontr.sum=x¯ix¯

Se voltarmos ao exemplo anterior, você teria:

  • β^0contr.sum=x¯
  • β^Whitecontr.sum=x¯Whitex¯
  • β^Blackcontr.sum=x¯Blackx¯
  • β^Asiancontr.sum=x¯Asianx¯
  • β^Malecontr.sum=x¯Malex¯
  • β^Femalecontr.sum=x¯Femalex¯

Você notará que, como Branco e Masculino não são mais níveis de referência, seus não são mais 0. O fato de serem 0 é específico para o tratamento de contraste.β^contr.sum

GL
fonte