Termine di interazione utilizzando l'analisi della regressione gerarchica delle variabili centrate? Quali variabili dovremmo centrare?


9

Sto eseguendo un'analisi di regressione gerarchica e ho alcuni piccoli dubbi:

  1. Calcoliamo il termine di interazione usando le variabili centrate?

  2. Dobbiamo centrare TUTTE le variabili continue che abbiamo nel set di dati, tranne la variabile dipendente?

  3. Quando dobbiamo registrare alcune variabili (poiché il loro sd è molto più alto della loro media), centriamo quindi la variabile che è stata appena registrata o quella iniziale?

Ad esempio: variabile "Fatturato" ---> Fatturato registrato (perché l'sd è troppo alto rispetto alla media) ---> Centered_Turnover?

O sarebbe direttamente Fatturato -> Centered_Turnover (e lavoriamo con questo)

GRAZIE!!

Risposte:


10

Dovresti centrare i termini coinvolti nell'interazione per ridurre la collinearità, ad es

set.seed(10204)
x1 <- rnorm(1000, 10, 1)
x2 <- rnorm(1000, 10, 1)
y <- x1 + rnorm(1000, 5, 5)  + x2*rnorm(1000) + x1*x2*rnorm(1000) 

x1cent <- x1 - mean(x1)
x2cent <- x2 - mean(x2)
x1x2cent <- x1cent*x2cent

m1 <- lm(y ~ x1 + x2 + x1*x2)
m2 <- lm(y ~ x1cent + x2cent + x1cent*x2cent)

summary(m1)
summary(m2)

Produzione:

> summary(m1)

Call:
lm(formula = y ~ x1 + x2 + x1 * x2)

Residuals:
    Min      1Q  Median      3Q     Max 
-344.62  -66.29   -1.44   66.05  392.22 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  193.333    335.281   0.577    0.564
x1           -15.830     33.719  -0.469    0.639
x2           -14.065     33.567  -0.419    0.675
x1:x2          1.179      3.375   0.349    0.727

Residual standard error: 101.3 on 996 degrees of freedom
Multiple R-squared:  0.002363,  Adjusted R-squared:  -0.0006416 
F-statistic: 0.7865 on 3 and 996 DF,  p-value: 0.5015

> summary(m2)

Call:
lm(formula = y ~ x1cent + x2cent + x1cent * x2cent)

Residuals:
    Min      1Q  Median      3Q     Max 
-344.62  -66.29   -1.44   66.05  392.22 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)     12.513      3.203   3.907 9.99e-05 ***
x1cent          -4.106      3.186  -1.289    0.198    
x2cent          -2.291      3.198  -0.716    0.474    
x1cent:x2cent    1.179      3.375   0.349    0.727    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 101.3 on 996 degrees of freedom
Multiple R-squared:  0.002363,  Adjusted R-squared:  -0.0006416 
F-statistic: 0.7865 on 3 and 996 DF,  p-value: 0.5015


library(perturb)
colldiag(m1)
colldiag(m2)

Decidere se centrare altre variabili dipende da te; centrare (al contrario di standardizzare) una variabile che non è coinvolta in un'interazione cambierà il significato dell'intercetta, ma non altre cose ad es.

x1 <- rnorm(1000, 10, 1)
x2 <- x1 - mean(x1)
y <- x1 + rnorm(1000, 5, 5) 
m1 <- lm(y ~ x1)
m2 <- lm(y ~ x2)

summary(m1)
summary(m2)

Produzione:

> summary(m1)

Call:
lm(formula = y ~ x1)

Residuals:
     Min       1Q   Median       3Q      Max 
-16.5288  -3.3348   0.0946   3.4293  14.0678 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   6.5412     1.6003   4.087 4.71e-05 ***
x1            0.8548     0.1591   5.373 9.63e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 5.082 on 998 degrees of freedom
Multiple R-squared:  0.02812,   Adjusted R-squared:  0.02714 
F-statistic: 28.87 on 1 and 998 DF,  p-value: 9.629e-08

> summary(m2)

Call:
lm(formula = y ~ x2)

Residuals:
     Min       1Q   Median       3Q      Max 
-16.5288  -3.3348   0.0946   3.4293  14.0678 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  15.0965     0.1607  93.931  < 2e-16 ***
x2            0.8548     0.1591   5.373 9.63e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 5.082 on 998 degrees of freedom
Multiple R-squared:  0.02812,   Adjusted R-squared:  0.02714 
F-statistic: 28.87 on 1 and 998 DF,  p-value: 9.629e-08

Ma dovresti prendere i registri delle variabili perché ha senso farlo o perché i residui del modello indicano che dovresti, non perché hanno molta variabilità. La regressione non fa ipotesi sulla distribuzione delle variabili, ma fa ipotesi sulla distribuzione dei residui.


1
Grazie per la tua risposta, Peter! Quindi, presumo quindi che prima dovrei registrare le variabili (tutti i predittori?) E, successivamente, centrare solo le variabili indipendenti richieste per calcolare i termini di interazione. Un'altra domanda: consiglieresti di centrare o standardizzare le variabili? Ancora grazie mille !!
PhDstudent,

1
Sì, accedi prima di centrare. La standardizzazione e la centratura fanno cose diverse; nessuno dei due è sbagliato. Ad alcuni piace standardizzare, di solito preferisco variabili "grezze".
Peter Flom

Non riesco a vedere come la definizione del modello di generazione y <- x1 + rnorm(1000, 5, 5) + x2*rnorm(1000) + x1*x2*rnorm(1000)aiuti a illustrare la risposta. La media di questo è e la varianza è , quindi non esiste un termine di interazione nel modello di generazione. 1 + 25 + 1 + 1x1+51+25+1+1
Rufo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.