In un modello multilivello, quali sono le implicazioni pratiche della stima rispetto a non la stima dei parametri di correlazione dell'effetto casuale?


27

In un modello multilivello, quali sono le implicazioni pratiche e relative all'interpretazione della stima e non stima dei parametri di correlazione dell'effetto casuale? Il motivo pratico per chiederlo è che nel framework lmer in R, non esiste un metodo implementato per stimare i valori di p tramite tecniche MCMC quando vengono fatte stime nel modello delle correlazioni tra i parametri.

Ad esempio, guardando questo esempio (parti citate di seguito), quali sono le implicazioni pratiche di M2 rispetto a M3. Ovviamente, in un caso P5 non sarà stimato e nell'altro lo sarà.

Domande

  1. Per motivi pratici (il desiderio di ottenere un valore p attraverso le tecniche MCMC) si potrebbe voler adattare un modello senza correlazioni tra effetti casuali anche se P5 è sostanzialmente diverso da zero. Se uno fa questo, e quindi stima i valori p tramite la tecnica MCMC, i risultati sono interpretabili? (So ​​che @Ben Bolker ha precedentemente menzionato che "combinare i test di significatività con MCMC è un po 'incoerente, statisticamente, anche se capisco l'impulso di farlo (ottenere intervalli di confidenza è più sopportabile)" , quindi se ti farà dormire meglio di notte fingi di aver detto intervalli di confidenza.)
  2. Se non si riesce a stimare P5, equivale a affermare che è 0?
  3. Se P5 è davvero diverso da zero, in che modo sono interessati i valori stimati di P1-P4?
  4. Se P5 è davvero diverso da zero, in che modo sono influenzate le stime di errore per P1-P4?
  5. Se P5 è davvero diverso da zero, in che modo le interpretazioni di un modello non riescono a includere P5 imperfetto?

Prendendo in prestito dalla risposta di @Mike Lawrence (quelli più esperti di me sono liberi di sostituirlo con la notazione completa del modello, non sono del tutto sicuro di poterlo fare con ragionevole fedeltà):

M2: V1 ~ (1|V2) + V3 + (0+V3|V2)(stime P1 - P4)

M3: V1 ~ (1+V3|V2) + V3(stime P1-P5)

Parametri che potrebbero essere stimati:

P1 : un'intercettazione globale

P2 : intercettazioni di effetti casuali per V2 (ovvero per ogni livello di V2, la deviazione dell'intercettazione di quel livello dall'intercetta globale)

P3 : una singola stima globale per l'effetto (pendenza) di V3

P4 : L'effetto di V3 all'interno di ciascun livello di V2 (più precisamente, il grado in cui l'effetto V3 all'interno di un dato livello si discosta dall'effetto globale di V3), mentre impone una correlazione zero tra le deviazioni dell'intercetta e le deviazioni dell'effetto V3 tra i livelli di V2.

P5 : La correlazione tra deviazioni di intercettazione e deviazioni V3 attraverso i livelli di V2

Le risposte derivate da una simulazione sufficientemente ampia e ampia insieme al codice di accompagnamento in R usando lmer sarebbero accettabili.



@JackTanner: Non sembra che tu abbia avuto soddisfazione lì. Sarebbe bello se anche le tue preoccupazioni fossero affrontate nella risposta a questa domanda.
Russellpierce,

4
Dare una risposta esatta a molte delle tue domande - "cosa succede a _______ quando specifico erroneamente il modello in modo _______" - è probabilmente impossibile senza approfondire la teoria, forse intrattabile (anche se questo può essere un caso speciale in cui qualcosa è possibile - I non sono sicuro). La strategia che probabilmente userò è di simulare i dati quando la pendenza e l'intercetta sono altamente correlate, adattano il modello vincolando i due a non essere correlati e confrontando i risultati con quando il modello è correttamente specificato (cioè "analisi di sensibilità").
Macro,

4
Per le tue domande, sono sicuro all'80 (ma non al 100)% di quanto segue: re. # 2, Sì, se non si stima la correlazione, si impone che sia 0; per il resto, se la correlazione in realtà non è esattamente 0, allora stai specificando erroneamente la non indipendenza dei tuoi dati. I beta possono comunque essere imparziali, ma i valori di p saranno disattivati ​​(e se sono troppo alti o troppo bassi dipende e potrebbero non essere conoscibili). Pertanto, le interpretazioni dei beta possono essere in grado di procedere normalmente, ma le interpretazioni dei "significati" saranno imprecise.
gung - Ripristina Monica

2
@Macro: La mia speranza era che una generosità potesse liberare una buona risposta basata sulla teoria piuttosto che sulla simulazione. Con una simulazione mi preoccuperò spesso di non aver raccolto un caso limite adeguato. Sono bravo a eseguire simulazioni, ma mi sento sempre un po '... incerto che sto eseguendo tutte le simulazioni giuste (anche se suppongo di poterlo lasciare agli editori di riviste per decidere). Potrei dover fare un'altra domanda su quali scenari includere.
Russellpierce,

Risposte:


16

Considera i dati di sleepstudy, inclusi in lme4. Bates ne parla nel suo libro online su lme4. Nel capitolo 3, considera due modelli per i dati.

M0:Reazione~1+giorni+(1|Soggetto)+(0+giorni|Soggetto)

e

MUN:Reazione~1+giorni+(giorni|Soggetto)

Lo studio ha coinvolto 18 soggetti, studiati per un periodo di 10 giorni privati ​​del sonno. I tempi di reazione sono stati calcolati al basale e nei giorni successivi. C'è un chiaro effetto tra il tempo di reazione e la durata della privazione del sonno. Ci sono anche differenze significative tra i soggetti. Il modello A prevede la possibilità di un'interazione tra l'intercettazione casuale e gli effetti di pendenza: immagina, diciamo, che le persone con scarsi tempi di reazione soffrano più acutamente degli effetti della privazione del sonno. Ciò implicherebbe una correlazione positiva negli effetti casuali.

Nell'esempio di Bates, non vi era alcuna correlazione apparente dal diagramma Lattice e nessuna differenza significativa tra i modelli. Tuttavia, per indagare sulla domanda posta sopra, ho deciso di prendere i valori adeguati dello sleepstudy, aumentare la correlazione e guardare le prestazioni dei due modelli.

Come puoi vedere dall'immagine, i lunghi tempi di reazione sono associati a una maggiore perdita di prestazioni. La correlazione utilizzata per la simulazione era 0,58

inserisci qui la descrizione dell'immagine

Ho simulato 1000 campioni, usando il metodo simulate in lme4, basato sui valori adattati dei miei dati artificiali. Ho adattato M0 e Ma a ciascuno e ho guardato i risultati. Il set di dati originale aveva 180 osservazioni (10 per ciascuna di 18 soggetti) e i dati simulati hanno la stessa struttura.

La linea di fondo è che c'è poca differenza.

  1. I parametri fissi hanno esattamente gli stessi valori in entrambi i modelli.
  2. Gli effetti casuali sono leggermente diversi. Ci sono 18 effetti di intercettazione e 18 pendenze casuali per ciascun campione simulato. Per ogni campione, questi effetti sono costretti ad aggiungere a 0, il che significa che la differenza media tra i due modelli è (artificialmente) 0. Ma le varianze e le covarianze differiscono. La covarianza mediana sotto MA era 104, contro 84 sotto M0 (valore reale, 112). Le variazioni di pendenze e intercettazioni erano maggiori sotto M0 rispetto a MA, presumibilmente per ottenere lo spazio di manovra extra necessario in assenza di un parametro di covarianza libera.
  3. Il metodo ANOVA per lmer fornisce una statistica F per confrontare il modello Slope con un modello con solo un'intercettazione casuale (nessun effetto a causa della privazione del sonno). Chiaramente, questo valore era molto grande in entrambi i modelli, ma in genere era (ma non sempre) maggiore in MA (media 62 vs media di 55).
  4. La covarianza e la varianza degli effetti fissi sono diverse.
  5. Circa la metà delle volte, sa che MA è corretto. Il valore p mediano per confrontare M0 con MA è 0,0442. Nonostante la presenza di una correlazione significativa e 180 osservazioni equilibrate, il modello corretto verrebbe scelto solo circa la metà del tempo.
  6. I valori previsti differiscono tra i due modelli, ma leggermente. La differenza media tra le previsioni è 0, con sd di 2.7. La sd dei valori previsti stessi è 60.9

Allora perché succede? @gung ha indovinato, ragionevolmente, che la mancata inclusione della possibilità di una correlazione costringe a non correlare gli effetti casuali. Forse dovrebbe; ma in questa implementazione, gli effetti casuali possono essere correlati, il che significa che i dati sono in grado di tirare i parametri nella giusta direzione, indipendentemente dal modello. L'erroneità del modello sbagliato si manifesta con probabilità, motivo per cui è possibile (a volte) distinguere i due modelli a quel livello. Il modello di effetti misti fondamentalmente adatta regressioni lineari a ciascun soggetto, influenzato da ciò che il modello pensa che dovrebbero essere. Il modello sbagliato impone l'adattamento di valori meno plausibili di quelli ottenuti con il modello giusto. Ma i parametri, alla fine della giornata, sono regolati dall'adattamento ai dati reali.

inserisci qui la descrizione dell'immagine

Ecco il mio codice un po 'goffo. L'idea era di adattare i dati dello studio del sonno e quindi creare un set di dati simulato con gli stessi parametri, ma una maggiore correlazione per gli effetti casuali. Quel set di dati è stato fornito a simulate.lmer () per simulare 1000 campioni, ognuno dei quali era adatto in entrambi i modi. Dopo aver accoppiato oggetti adattati, ho potuto estrarre diverse caratteristiche dell'adattamento e confrontarle, usando i test t o qualsiasi altra cosa.

    # Fit a model to the sleep study data, allowing non-zero correlation
fm01 <- lmer(Reaction ~ 1 + Days +(1+Days|Subject), data=sleepstudy, REML=FALSE)
# Now use this to build a similar data set with a correlation = 0.9
# Here is the covariance function for the random effects
# The variances come from the sleep study. The covariance is chosen to give a larger correlation
sigma.Subjects <- matrix(c(565.5,122,122,32.68),2,2) 
# Simulate 18 pairs of random effects
ranef.sim <- mvrnorm(18,mu=c(0,0),Sigma=sigma.Subjects)
# Pull out the pattern of days and subjects.
XXM <- model.frame(fm01) 
n <- nrow(XXM) # Sample size
# Add an intercept to the model matrix.
XX.f <- cbind(rep(1,n),XXM[,2])
# Calculate the fixed effects, using the parameters from the sleep study. 
yhat <- XX.f %*%  fixef(fm01 )
# Simulate a random intercept for each subject
intercept.r <- rep(ranef.sim[,1], each=10) 
# Now build the random slopes
slope.r <- XXM[,2]*rep(ranef.sim[,2],each=10)
# Add the slopes to the random intercepts and fixed effects
yhat2 <- yhat+intercept.r+slope.r
# And finally, add some noise, using the variance from the sleep study
y <- yhat2 + rnorm(n,mean=0,sd=sigma(fm01))
# Here is new "sleep study" data, with a stronger correlation.
new.data <- data.frame(Reaction=y,Days=XXM$Days,Subject=XXM$Subject)
# Fit the new data with its correct model
fm.sim <- lmer(Reaction ~ 1 + Days +(1+Days|Subject), data=new.data, REML=FALSE)
# Have a look at it
xyplot(Reaction ~ Days | Subject, data=new.data, layout=c(6,3), type=c("p","r"))
# Now simulate 1000 new data sets like new.data and fit each one
# using the right model and zero correlation model.
# For each simulation, output a list containing the fit from each and
# the ANOVA comparing them.
n.sim <- 1000
    sim.data <- vector(mode="list",)
    tempReaction <- simulate(fm.sim, nsim=n.sim)
    tempdata <- model.frame(fm.sim)
    for (i in 1:n.sim){
        tempdata$Reaction <- tempReaction[,i]
			output0 <- lmer(Reaction ~ 1 + Days +(1|Subject)+(0+Days|Subject), data = tempdata, REML=FALSE)
			output1 <- lmer(Reaction ~ 1 + Days +(Days|Subject), data=tempdata, REML=FALSE)
			temp <- anova(output0,output1)
			pval <- temp$`Pr(>Chisq)`[2]
        sim.data[[i]] <- list(model0=output0,modelA=output1, pvalue=pval)
    }

1
Questo è un lavoro interessante. Grazie. Voglio vedere quali altri commenti emergeranno nei prossimi due giorni e come le cose si generalizzeranno ad altri casi prima di accettare la risposta. Considereresti anche di includere il codice R pertinente nella tua risposta e di specificare la versione di lmer che hai usato? Sarebbe interessante alimentare gli stessi casi simulati in PROC MIXED per vedere come gestisce la correlazione di effetti casuali non specificata.
russellpierce,

1
@rpierce Ho aggiunto l'esempio di codice come richiesto. Inizialmente l'ho scritto in LaTeX / Sweave, quindi le righe di codice si intrecciavano con i miei commenti a me stesso. Ho usato la versione 1.1-6 di lme4, che è la versione corrente nel giugno 2014.
Placidia,

@Ben quando dici "Il modello A lo consente" nel secondo paragrafo, non dovrebbe essere MO?
nzcoops,

Penso che il testo sia corretto (tutto ciò che ho fatto per questa domanda è stato modificare la formula un po ')
Ben Bolker,

+6. Ottima risposta, grazie per l'attenzione alle domande vecchie ma degne.
ameba dice di reintegrare Monica l'

4

Placidia ha già fornito una risposta completa utilizzando dati simulati basati sul sleepstudyset di dati. Ecco un'altra risposta (meno rigorosa) che utilizza anche i sleepstudydati.

Vediamo che si può influenzare la correlazione stimata tra l'intercettazione casuale e la pendenza casuale "spostando" la variabile predittore casuale. Guarda i risultati dei modelli fm1e di fm2seguito:

library(lmer)

#Fit Models
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
k <- 3 # Shift "Days" by an arbitrary amount
fm2 <- lmer(Reaction ~ I(Days + k) + (I(Days + k)| Subject), sleepstudy)

fm1 # Model Output
# Linear mixed model fit by REML ['lmerMod']
# Formula: Reaction ~ Days + (Days | Subject)
# Data: sleepstudy
# REML criterion at convergence: 1743.628
# Random effects:
#   Groups   Name        Std.Dev. Corr
# Subject  (Intercept) 24.740       
# Days         5.922   0.07
# Residual             25.592       
# Number of obs: 180, groups:  Subject, 18
# Fixed Effects:
#   (Intercept)         Days  
# 251.41        10.47

fm2 # Model Output
# Linear mixed model fit by REML ['lmerMod']
# Formula: Reaction ~ I(Days + k) + (I(Days + k) | Subject)
# Data: sleepstudy
# REML criterion at convergence: 1743.628
# Random effects:
#   Groups   Name        Std.Dev. Corr 
# Subject  (Intercept) 29.498        
# I(Days + k)  5.922   -0.55
# Residual             25.592        
# Number of obs: 180, groups:  Subject, 18
# Fixed Effects:
#   (Intercept)  I(Days + k)  
# 220.00        10.47

# Random effects from both models
cbind(ranef(fm1)$Subject,ranef(fm2)$Subject)
# (Intercept)        Days (Intercept) I(Days + k)
# 308   2.2585654   9.1989719 -25.3383538   9.1989727
# 309 -40.3985769  -8.6197032 -14.5394628  -8.6197043
# 310 -38.9602458  -5.4488799 -22.6136027  -5.4488807
# 330  23.6904985  -4.8143313  38.1334933  -4.8143315
# 331  22.2602027  -3.0698946  31.4698868  -3.0698946
# 332   9.0395259  -0.2721707   9.8560377  -0.2721706
# 333  16.8404311  -0.2236244  17.5113040  -0.2236243
# 334  -7.2325792   1.0745761 -10.4563076   1.0745761
# 335  -0.3336958 -10.7521591  31.9227854 -10.7521600
# 337  34.8903508   8.6282840   9.0054946   8.6282850
# 349 -25.2101104   1.1734142 -28.7303527   1.1734141
# 350 -13.0699567   6.6142050 -32.9125736   6.6142054
# 351   4.5778352  -3.0152572  13.6236077  -3.0152574
# 352  20.8635924   3.5360133  10.2555505   3.5360138
# 369   3.2754530   0.8722166   0.6588028   0.8722167
# 370 -25.6128694   4.8224646 -40.0802641   4.8224648
# 371   0.8070397  -0.9881551   3.7715053  -0.9881552
# 372  12.3145393   1.2840297   8.4624492   1.2840300

Dall'output del modello, vediamo che la correlazione di varianza casuale è cambiata. Tuttavia, le pendenze (fisse e casuali) sono rimaste invariate, così come la stima della varianza residua. Le stime delle intercettazioni (fisse e casuali) sono cambiate in risposta alla variabile spostata.

De-correlazione casuale covarianza intercetta-pendenza LMMS è discusso in dispense del Dr. Jack Weiss qui . Weiss osserva che ridurre la correlazione della varianza in questo modo a volte può aiutare, tra le altre cose, con la convergenza del modello.

L'esempio precedente varia la correlazione casuale (parametro "P5"). Parzialmente affrontando il Q3 dell'OP, dall'output sopra riportato vediamo che:

#   Parameter           Status
=================================
P1  Fixed Intercept     Affected
P2  Random Intercepts   Affected
P3  Fixed Slope         Not Affected
P4  Random Slopes       Not Affected
P5  Random Correlation  Affected

Grazie per aggiungere segnale a questa domanda di vecchia data!
Russellpierce,

Nota: tutte le eccellenti lezioni di Jack Weiss e gli esercizi / le note di classe sono collegati in questo post
theforestecologist

Come dovremmo quindi interpretare i dati in questione? Qual è la "vera" correlazione? Quello del primo o del secondo modello? O quelli dei BLUP?
User33268,
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.