Diagnóstico de colinearidade problemático somente quando o termo de interação é incluído

26

Fiz uma regressão em condados dos EUA e estou verificando a colinearidade em minhas variáveis ​​'independentes'. O diagnóstico de regressão de Belsley, Kuh e Welsch sugere analisar as proporções de decomposição do índice de condições e da decomposição de variância:

library(perturb)
## colldiag(, scale=TRUE) for model with interaction
Condition
Index   Variance Decomposition Proportions
           (Intercept) inc09_10k unins09 sqmi_log pop10_perSqmi_log phys_per100k nppa_per100k black10_pct hisp10_pct elderly09_pct inc09_10k:unins09
1    1.000 0.000       0.000     0.000   0.000    0.001             0.002        0.003        0.002       0.002      0.001         0.000            
2    3.130 0.000       0.000     0.000   0.000    0.002             0.053        0.011        0.148       0.231      0.000         0.000            
3    3.305 0.000       0.000     0.000   0.000    0.000             0.095        0.072        0.351       0.003      0.000         0.000            
4    3.839 0.000       0.000     0.000   0.001    0.000             0.143        0.002        0.105       0.280      0.009         0.000            
5    5.547 0.000       0.002     0.000   0.000    0.050             0.093        0.592        0.084       0.005      0.002         0.000            
6    7.981 0.000       0.005     0.006   0.001    0.150             0.560        0.256        0.002       0.040      0.026         0.001            
7   11.170 0.000       0.009     0.003   0.000    0.046             0.000        0.018        0.003       0.250      0.272         0.035            
8   12.766 0.000       0.050     0.029   0.015    0.309             0.023        0.043        0.220       0.094      0.005         0.002            
9   18.800 0.009       0.017     0.003   0.209    0.001             0.002        0.001        0.047       0.006      0.430         0.041            
10  40.827 0.134       0.159     0.163   0.555    0.283             0.015        0.001        0.035       0.008      0.186         0.238            
11  76.709 0.855       0.759     0.796   0.219    0.157             0.013        0.002        0.004       0.080      0.069         0.683            

## colldiag(, scale=TRUE) for model without interaction
Condition
Index   Variance Decomposition Proportions
           (Intercept) inc09_10k unins09 sqmi_log pop10_perSqmi_log phys_per100k nppa_per100k black10_pct hisp10_pct elderly09_pct
1    1.000 0.000       0.001     0.001   0.000    0.001             0.003        0.004        0.003       0.003      0.001        
2    2.988 0.000       0.000     0.001   0.000    0.002             0.030        0.003        0.216       0.253      0.000        
3    3.128 0.000       0.000     0.002   0.000    0.000             0.112        0.076        0.294       0.027      0.000        
4    3.630 0.000       0.002     0.001   0.001    0.000             0.160        0.003        0.105       0.248      0.009        
5    5.234 0.000       0.008     0.002   0.000    0.053             0.087        0.594        0.086       0.004      0.001        
6    7.556 0.000       0.024     0.039   0.001    0.143             0.557        0.275        0.002       0.025      0.035        
7   11.898 0.000       0.278     0.080   0.017    0.371             0.026        0.023        0.147       0.005      0.038        
8   13.242 0.000       0.001     0.343   0.006    0.000             0.000        0.017        0.129       0.328      0.553        
9   21.558 0.010       0.540     0.332   0.355    0.037             0.000        0.003        0.003       0.020      0.083        
10  50.506 0.989       0.148     0.199   0.620    0.393             0.026        0.004        0.016       0.087      0.279        

?HH::vif sugere que VIFs> 5 são problemáticos:

library(HH)
## vif() for model with interaction
        inc09_10k           unins09          sqmi_log pop10_perSqmi_log      phys_per100k      nppa_per100k       black10_pct        hisp10_pct 
         8.378646         16.329881          1.653584          2.744314          1.885095          1.471123          1.436229          1.789454 
    elderly09_pct inc09_10k:unins09 
         1.547234         11.590162 

## vif() for model without interaction
        inc09_10k           unins09          sqmi_log pop10_perSqmi_log      phys_per100k      nppa_per100k       black10_pct        hisp10_pct 
         1.859426          2.378138          1.628817          2.716702          1.882828          1.471102          1.404482          1.772352 
    elderly09_pct 
         1.545867 

Considerando que o Regression Diagnostics de John Fox sugere examinar a raiz quadrada do VIF:

library(car)
## sqrt(vif) for model with interaction
        inc09_10k           unins09          sqmi_log pop10_perSqmi_log      phys_per100k      nppa_per100k       black10_pct        hisp10_pct 
         2.894589          4.041025          1.285917          1.656597          1.372987          1.212898          1.198428          1.337705 
    elderly09_pct inc09_10k:unins09 
         1.243879          3.404433 
## sqrt(vif) for model without interaction
        inc09_10k           unins09          sqmi_log pop10_perSqmi_log      phys_per100k      nppa_per100k       black10_pct        hisp10_pct 
         1.363608          1.542121          1.276251          1.648242          1.372162          1.212890          1.185108          1.331297 
    elderly09_pct 
         1.243329 

Nos dois primeiros casos (onde é sugerido um ponto de corte claro), o modelo é problemático somente quando o termo de interação é incluído.

Até o momento, o modelo com o termo de interação tem sido minha especificação preferida.

Eu tenho duas perguntas, dada essa peculiaridade dos dados:

  1. Um termo de interação sempre piora a colinearidade dos dados?
  2. Como as duas variáveis ​​sem o termo de interação não estão acima do limite, estou bem usando o modelo com o termo de interação. Especificamente, a razão pela qual acho que isso pode ser bom é que estou usando o método de King, Tomz e Wittenberg (2000) para interpretar os coeficientes (modelo binomial negativo), onde geralmente mantenho os outros coeficientes na média e depois interpretar o que acontece com as previsões da minha variável dependente quando eu passar inc09_10ke unins09em torno de forma independente e em conjunto.
Ari B. Friedman
fonte

Respostas:

31

Sim, geralmente é o caso de interações não centralizadas. Uma rápida olhada no que acontece com a correlação de duas variáveis ​​independentes e sua "interação"

set.seed(12345)
a = rnorm(10000,20,2)
b = rnorm(10000,10,2)
cor(a,b)
cor(a,a*b)

> cor(a,b)
[1] 0.01564907
> cor(a,a*b)
[1] 0.4608877

E então, quando você os centraliza:

c = a - 20
d = b - 10
cor(c,d)
cor(c,c*d)

> cor(c,d)
[1] 0.01564907
> cor(c,c*d)
[1] 0.001908758

Aliás, o mesmo pode acontecer com a inclusão de termos polinomiais (ou seja, ) sem primeiro centralizar.X, X2, ...

Então você pode tentar com seu par.


Por que a centralização ajuda - mas vamos voltar à definição de covariância

Cov(X,XY)=E[(XE(X))(XYE(XY))]=E[(Xμx)(XYμxy)]=E[X2YXμxyXYμx+μxμxy]=E[X2Y]E[X]μxyE[XY]μx+μxμxy

Mesmo com independência de X e Y

=E[X2]E[Y]μxμxμyμxμyμx+μxμxμy=(σx2+μx2)μyμx2μy=σx2μy

Isso não está diretamente relacionado ao seu problema de regressão, já que você provavelmente não possui e completamente independentes e , uma vez que a correlação entre duas variáveis ​​explicativas nem sempre resulta em problemas de multicolinearidade na regressão. Mas mostra como uma interação entre duas variáveis ​​independentes não centralizadas faz com que a correlação apareça, e essa correlação pode causar problemas de multicolinearidade.XY


Intuitivamente para mim, tendo variáveis não-centrado interagem simplesmente significa que quando é grande, então é também vai ser maior em uma escala absoluta, independentemente do , e assim por e vai acabar correlacionados, e similarmente para .XXYYXXYY

Afim
fonte
Interessante, obrigado. Você tem uma explicação ou citação de por que a centralização é importante?
Ari B. Friedman
Acho que essa resposta não merece toda a recompensa, mas eu gostaria de dar uma meia-recompensa. Não tenho certeza se isso acontece, a menos que haja uma segunda votação positiva: - /.
Ari B. Friedman
11
@ AriB.Friedman, você não tem (exatamente) a opção de dar metade da recompensa. Você não pode conceder a recompensa (embora você ainda tenha perdido o representante de qualquer maneira) e esta postagem provavelmente receberá metade da recompensa automaticamente (consulte a seção relevante da página de ajuda ). No entanto, por que essa resposta não merece a recompensa? Afim é exatamente aqui (+1).
gung - Restabelece Monica
@gung Eu estava procurando pré-editar. Definitivamente merece isso agora. Obrigado @Affine! Quanto à parte da meia-recompensa, meu entendimento é que uma >=resposta +2 recebe uma meia-recompensa se a recompensa não for concedida manualmente.
Ari B. Friedman
@ AriB.Friedman, isso mesmo, mas antes de comentar (e votar), ele também não tinha mais de 2 votos.
gung - Restabelece Monica
0

Eu achei úteis as seguintes publicações sobre este tópico:

Robinson & Schumacker (2009): Efeitos da interação: centralização, fator de inflação de variação e questões de interpretação

“Os efeitos da escala de preditores nos coeficientes das equações de regressão (soluções centradas versus não centradas e efeitos de interação de ordem superior (interações de três vias; categórica por efeitos contínuos) foram cuidadosamente abordados por Aiken e West (1991). Seu exemplo ilustra essa considerável multicolinearidade é introduzido em uma equação de regressão com um termo de interação quando as variáveis ​​não estão centralizadas. '

Afshartous & Preston (2011): Principais resultados de modelos de interação com centralização

'As motivações para o emprego de centralização variável incluem melhor interpretabilidade dos coeficientes e instabilidade numérica reduzida para estimativa associada à multicolinearidade.'

Obviamente, Aiken e West (1991) também abordam esse tópico, mas não tenho o livro deles.

Pat
fonte