Grande disaccordo nella stima della pendenza quando i gruppi sono trattati come casuali o fissi in un modello misto


18

Comprendo che utilizziamo modelli di effetti casuali (o effetti misti) quando riteniamo che alcuni parametri del modello possano variare in modo casuale a seconda del fattore di raggruppamento. Ho il desiderio di adattare un modello in cui la risposta è stata normalizzata e centrata (non perfettamente, ma abbastanza vicino) attraverso un fattore di raggruppamento, ma una variabile indipendente xnon è stata regolata in alcun modo. Questo mi ha portato al seguente test (utilizzando dati fabbricati ) per assicurarmi di trovare l'effetto che stavo cercando se fosse effettivamente lì. Ho eseguito un modello di effetti misti con un'intercettazione casuale (tra gruppi definiti da f) e un secondo modello di effetti fissi con il fattore f come predittore di effetti fissi. Ho usato il pacchetto R lmerper il modello di effetti misti e la funzione baselm()per il modello a effetto fisso. Di seguito sono riportati i dati e i risultati.

Si noti che y, indipendentemente dal gruppo, varia intorno a 0. E che xvaria in modo coerente con yall'interno del gruppo, ma varia molto più tra i gruppi rispetto ay

> data
      y   x f
1  -0.5   2 1
2   0.0   3 1
3   0.5   4 1
4  -0.6  -4 2
5   0.0  -3 2
6   0.6  -2 2
7  -0.2  13 3
8   0.1  14 3
9   0.4  15 3
10 -0.5 -15 4
11 -0.1 -14 4
12  0.4 -13 4

Se sei interessato a lavorare con i dati, ecco l' dput()output:

data<-structure(list(y = c(-0.5, 0, 0.5, -0.6, 0, 0.6, -0.2, 0.1, 0.4, 
-0.5, -0.1, 0.4), x = c(2, 3, 4, -4, -3, -2, 13, 14, 15, -15, 
-14, -13), f = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 
4L, 4L, 4L), .Label = c("1", "2", "3", "4"), class = "factor")), 
.Names = c("y","x","f"), row.names = c(NA, -12L), class = "data.frame")

Montaggio del modello di effetti misti:

> summary(lmer(y~ x + (1|f),data=data))
Linear mixed model fit by REML 
Formula: y ~ x + (1 | f) 
   Data: data 
   AIC   BIC logLik deviance REMLdev
 28.59 30.53  -10.3       11   20.59
Random effects:
 Groups   Name        Variance Std.Dev.
 f        (Intercept) 0.00000  0.00000 
 Residual             0.17567  0.41913 
Number of obs: 12, groups: f, 4

Fixed effects:
            Estimate Std. Error t value
(Intercept) 0.008333   0.120992   0.069
x           0.008643   0.011912   0.726

Correlation of Fixed Effects:
  (Intr)
x 0.000 

Prendo atto che la componente di varianza dell'intercetta è stimata 0, e soprattutto per me, xnon è un fattore predittivo significativo di y.

Quindi inserisco il modello a effetto fisso con fcome predittore anziché come fattore di raggruppamento per un'intercettazione casuale:

> summary(lm(y~ x + f,data=data))

Call:
lm(formula = y ~ x + f, data = data)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.16250 -0.03438  0.00000  0.03125  0.16250 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.38750    0.14099  -9.841 2.38e-05 ***
x            0.46250    0.04128  11.205 1.01e-05 ***
f2           2.77500    0.26538  10.457 1.59e-05 ***
f3          -4.98750    0.46396 -10.750 1.33e-05 ***
f4           7.79583    0.70817  11.008 1.13e-05 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.1168 on 7 degrees of freedom
Multiple R-squared: 0.9484, Adjusted R-squared: 0.9189 
F-statistic: 32.16 on 4 and 7 DF,  p-value: 0.0001348 

Ora noto che, come previsto, xè un predittore significativo di y.

Quello che sto cercando è l'intuizione riguardo a questa differenza. In che modo il mio pensiero è sbagliato qui? Perché mi aspetto erroneamente di trovare un parametro significativo per xentrambi questi modelli, ma in realtà lo vedo solo nel modello a effetto fisso?


Voglio solo sottolineare rapidamente che qualcosa non va nella configurazione degli effetti casuali data la varianza su RE = 0 (ovvero / RE non spiega alcuna variazione). Detto questo, non sorprende che la xvariabile non sia significativa. Sospetto che sia lo stesso risultato (coefficienti e SE) che avresti ottenuto lm(y~x,data=data). Non ho più tempo per diagnosticare, ma ho voluto sottolineare questo.
Affine,

@Affine questo è un buon punto. Quindi suppongo che il mio interesse qui sia il motivo per cui l'effetto casuale non ha catturato la variazione nell'intercetta. Se tu o qualcuno hai un commento in un secondo momento, lo accolgo con favore! Grazie.
ndoogan,

Risposte:


31

Ci sono diverse cose che stanno succedendo qui. Questi sono problemi interessanti, ma ci vorrà una buona quantità di tempo / spazio per spiegare tutto.

Prima di tutto, tutto diventa molto più facile da capire se tracciamo i dati . Ecco un diagramma a dispersione in cui i punti dati sono colorati per gruppo. Inoltre, abbiamo una linea di regressione specifica per gruppo separata per ciascun gruppo, nonché una semplice linea di regressione (ignorando i gruppi) in grassetto tratteggiato:

plot(y ~ x, data=dat, col=f, pch=19)
abline(coef(lm(y ~ x, data=dat)), lwd=3, lty=2)
by(dat, dat$f, function(i) abline(coef(lm(y ~ x, data=i)), col=i$f))

dati

Il modello a effetto fisso

XXXXXXXyt

XXXlm()

Il modello misto

XXXX non sono davvero d'accordo, come è il caso qui. Nota: questa situazione è ciò che il "test di Hausman" per i dati del panel tenta di diagnosticare!

X e la semplice linea di regressione che ignora i cluster (la linea tratteggiata tratteggiata). Il punto esatto all'interno di questo intervallo compromettente su cui si basa il modello misto dipende dal rapporto tra la varianza dell'intercetta casuale e la varianza totale (nota anche come correlazione all'interno della classe). Quando questo rapporto si avvicina a 0, la stima del modello misto si avvicina alla stima della linea di regressione semplice. Quando il rapporto si avvicina a 1, la stima del modello misto si avvicina alla stima media della pendenza all'interno del cluster.

Ecco i coefficienti per il modello di regressione semplice (la linea tratteggiata tratteggiata nella trama):

> lm(y ~ x, data=dat)

Call:
lm(formula = y ~ x, data = dat)

Coefficients:
(Intercept)            x  
   0.008333     0.008643  

Come puoi vedere, i coefficienti qui sono identici a quelli che abbiamo ottenuto nel modello misto. Questo è esattamente ciò che ci aspettavamo di trovare, poiché, come hai già notato, abbiamo una stima di 0 varianza per le intercettazioni casuali, rendendo il rapporto / correlazione intra-classe precedentemente menzionato 0. Quindi le stime del modello misto in questo caso sono solo le semplici stime di regressione lineare, e come possiamo vedere nella trama, la pendenza qui è molto meno pronunciata rispetto alle pendenze all'interno del cluster.

Questo ci porta ad un ultimo problema concettuale ...

Perché la varianza delle intercettazioni casuali è stimata a 0?

La risposta a questa domanda ha il potenziale per diventare un po 'tecnica e difficile, ma cercherò di mantenerla il più semplice e non tecnica possibile (per amor nostro!). Ma forse sarà ancora un po 'prolisso.

y(o, più correttamente, gli errori del modello) indotti dalla struttura del clustering. La correlazione all'interno della classe ci dice quanto in media siano simili due errori tratti dallo stesso cluster, rispetto alla somiglianza media di due errori estratti da qualsiasi parte del set di dati (ovvero, possono o meno essere nello stesso cluster). Una correlazione positiva all'interno della classe ci dice che gli errori dello stesso cluster tendono ad essere relativamente più simili tra loro; se traggo un errore da un cluster e ha un valore elevato, allora posso aspettarmi molto probabilmente che anche il prossimo errore che traggo dallo stesso cluster abbia un valore elevato. Sebbene in qualche modo meno comuni, le correlazioni all'interno della classe possono anche essere negative; due errori disegnati dallo stesso cluster sono meno simili (vale a dire, più distanti in termini di valore) di quanto normalmente ci si aspetterebbe dall'insieme di dati nel suo insieme.

Il modello misto che stiamo prendendo in considerazione non utilizza il metodo di correlazione all'interno della classe per rappresentare la dipendenza nei dati. Invece descrive la dipendenza in termini di componenti di varianza . Questo va bene purché la correlazione all'interno della classe sia positiva. In questi casi, la correlazione all'interno della classe può essere facilmente scritta in termini di componenti di varianza, in particolare come rapporto precedentemente menzionato della varianza di intercettazione casuale rispetto alla varianza totale. (Vedi la pagina wiki sulla correlazione all'interno della classeper maggiori informazioni al riguardo.) Sfortunatamente, i modelli dei componenti di varianza hanno difficoltà a gestire situazioni in cui abbiamo una correlazione interna alla classe negativa. Dopotutto, scrivere la correlazione all'interno della classe in termini di componenti della varianza implica scriverla come una proporzione di varianza e le proporzioni non possono essere negative.

yyy, mentre gli errori tratti da diversi cluster tenderanno ad avere una differenza più moderata.) Quindi il tuo modello misto sta facendo ciò che, in pratica, i modelli misti fanno spesso in questo caso: fornisce stime che sono altrettanto coerenti con una correlazione intraclassica negativa come può raccogliere, ma si ferma al limite inferiore di 0 (questo vincolo è di solito programmato nell'algoritmo di adattamento del modello). Quindi finiamo con una varianza di intercettazione casuale stimata pari a 0, che non è ancora una stima molto buona, ma è il più vicino possibile con questo tipo di modello di componenti di varianza.

Quindi cosa possiamo fare?

X

X

XXBXXwX

> dat <- within(dat, x_b <- tapply(x, f, mean)[paste(f)])
> dat <- within(dat, x_w <- x - x_b)
> dat
      y   x f x_b x_w
1  -0.5   2 1   3  -1
2   0.0   3 1   3   0
3   0.5   4 1   3   1
4  -0.6  -4 2  -3  -1
5   0.0  -3 2  -3   0
6   0.6  -2 2  -3   1
7  -0.2  13 3  14  -1
8   0.1  14 3  14   0
9   0.4  15 3  14   1
10 -0.5 -15 4 -14  -1
11 -0.1 -14 4 -14   0
12  0.4 -13 4 -14   1
> 
> mod <- lmer(y ~ x_b + x_w + (1|f), data=dat)
> mod
Linear mixed model fit by REML 
Formula: y ~ x_b + x_w + (1 | f) 
   Data: dat 
   AIC   BIC logLik deviance REMLdev
 6.547 8.972  1.726   -23.63  -3.453
Random effects:
 Groups   Name        Variance Std.Dev.
 f        (Intercept) 0.000000 0.00000 
 Residual             0.010898 0.10439 
Number of obs: 12, groups: f, 4

Fixed effects:
            Estimate Std. Error t value
(Intercept) 0.008333   0.030135   0.277
x_b         0.005691   0.002977   1.912
x_w         0.462500   0.036908  12.531

Correlation of Fixed Effects:
    (Intr) x_b  
x_b 0.000       
x_w 0.000  0.000

XwXByXXXBt-statistico è più grande. Anche questo non sorprende perché la varianza residua è molto più piccola in questo modello misto a causa degli effetti casuali di gruppo che consumano molta della varianza che il semplice modello di regressione ha dovuto affrontare.

Infine, abbiamo ancora una stima di 0 per la varianza delle intercettazioni casuali, per i motivi che ho elaborato nella sezione precedente. Non sono davvero sicuro di cosa tutto ciò che possiamo fare al riguardo almeno senza passare a un software diverso da quello lmer(), e non sono nemmeno sicuro fino a che punto questo influenzerà ancora negativamente le nostre stime in questo modello misto finale. Forse un altro utente può intervenire con alcune riflessioni su questo problema.

Riferimenti

  • Bell, A. e Jones, K. (2014). Spiegazione degli effetti fissi: modellazione di effetti casuali di dati trasversali di serie temporali e panel. Ricerca e metodi in scienze politiche. PDF
  • Bafumi, J., & Gelman, AE (2006). Adattamento di modelli multilivello quando i predittori e gli effetti di gruppo sono correlati. PDF

1
Questa è una risposta molto ponderata e utile. Non ho trovato questi riferimenti; i loro titoli mi sembrano assolutamente da leggere a questo punto della mia esplorazione. Ti devo una birra!
ndoogan,

1
L'arbitro Bell & Jones è stato fantastico. Una cosa che stavo aspettando, e di cui potresti avere un indizio, è se queste separazioni intermedie si estendono prontamente a modelli misti lineari generalizzati . Sembra che dovrebbero, ma pensavo di aver capito che il centraggio della covariata in un modello di regressione logistica non è lo stesso del modello logistico condizionale, che ritengo essere il risultato binario analogo al modello lineare ad effetto fisso. Qualche commento?
ndoogan,

1
L'adattamento di un modello marginale consentirebbe che la varianza negativa che lmevincola per impostazione predefinita sia> = 0? Vedi questa domanda e la sua risposta selezionata , cioè adattando una correlazione simmetria composta attraverso un glsadattamento o un'impostazione correlation = corCompSymm(form = ~1|f)inlme
FairMiles

1
@FairMiles Forse ... perché non provi e pubblica i risultati in questo thread di commenti?
Jake Westfall,

3
Grazie ancora, @JakeWestfall. L'ho letto circa 3 volte nel corso di pochi mesi e ogni volta è stato d'aiuto in vari modi.
ndoogan,

3

Dopo una considerevole contemplazione, credo di aver scoperto la mia risposta. Credo che un econometrico definirebbe la mia variabile indipendente come endogena e quindi correlata con le variabili indipendenti e dipendenti. In questo caso, tali variabili vengono omesse o non osservate . Tuttavia, osservo i raggruppamenti tra i quali la variabile omessa dovrebbe variare.

Credo che l'econometrico suggerirebbe un modello a effetto fisso . Cioè, un modello che include un manichino per ogni livello di raggruppamento (o una specifica equivalente che condiziona il modello in modo che non siano richiesti molti manichini di raggruppamento) in questo caso. Con un modello a effetto fisso, la speranza è che tutte le variabili non osservate e invarianti nel tempo possano essere controllate condizionando le variazioni tra i gruppi (o tra i singoli). In effetti, il secondo modello nella mia domanda è precisamente un modello a effetto fisso, e come tale fornisce la stima che mi aspetto.

Accolgo con favore i commenti che illumineranno ulteriormente questa circostanza.

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.