Trattare con singolare vestibilità in modelli misti


16

Diciamo che abbiamo un modello

mod <- Y ~ X*Condition + (X*Condition|subject)

# Y = logit variable  
# X = continuous variable  
# Condition = values A and B, dummy coded; the design is repeated 
#             so all participants go through both Conditions  
# subject = random effects for different subjects 

summary(model)
Random effects:
 Groups  Name             Variance Std.Dev. Corr             
 subject (Intercept)      0.85052  0.9222                    
         X                0.08427  0.2903   -1.00            
         ConditionB       0.54367  0.7373   -0.37  0.37      
         X:ConditionB     0.14812  0.3849    0.26 -0.26 -0.56
Number of obs: 39401, groups:  subject, 219

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)       2.49686    0.06909   36.14  < 2e-16 ***
X                -1.03854    0.03812  -27.24  < 2e-16 ***
ConditionB       -0.19707    0.06382   -3.09  0.00202 ** 
X:ConditionB      0.22809    0.05356    4.26 2.06e-05 ***

Qui osserviamo un adattamento singolare, perché la correlazione tra intercetta e x effetti casuali è -1. Ora, secondo questo utile link, un modo per gestire questo modello è rimuovere gli effetti casuali di ordine superiore (ad es. X: ConditionB) e vedere se questo fa la differenza quando si esegue il test per la singolarità. L'altro è usare l'approccio bayesiano, ad esempio il blmepacchetto per evitare la singolarità.

Qual è il metodo preffered e perché?

Lo sto chiedendo perché l'uso del primo o del secondo porta a risultati diversi: nel primo caso, rimuoverò l'effetto casuale X: ConditionB e non sarò in grado di stimare la correlazione tra gli effetti casuali X e X: ConditionB. D'altra parte, l'uso blmemi consente di mantenere X: ConditionB e di stimare la correlazione data. Non vedo alcun motivo per cui dovrei anche usare le stime non bayesiane e rimuovere gli effetti casuali quando si verificano singolari adattamenti quando posso stimare tutto con l'approccio bayesiano.

Qualcuno può spiegarmi i vantaggi e i problemi utilizzando entrambi i metodi per gestire singolari accoppiamenti?

Grazie.


Di cosa ti preoccupi che corr = -1? È una correlazione tra effetti casuali.
user158565,

Quindi ogni soggetto ti dà due misure di Y, una nella condizione A e una nella condizione B? Se questo è vero, puoi anche dirci se il valore della variabile continua X cambia per un dato soggetto tra le condizioni A e B?
Isabella Ghement,

Perché metti Condizione negli effetti casuali? Hai provato se è richiesto?
Dimitris Rizopoulos,

@ user158565 sì ma indica singolarità ...
User33268

@IsabellaGhement Infatti. Sì, x cambia per ogni dato soggetto tra A e B. Inoltre, vi è una ragione teorica per supporre che la regressione di Y su X sia diversa per ogni soggetto
User33268

Risposte:


21

Quando si ottiene un adattamento singolare, ciò indica spesso che il modello è sovradimensionato, ovvero la struttura degli effetti casuali è troppo complessa per essere supportata dai dati, il che porta naturalmente al consiglio di rimuovere la parte più complessa degli effetti casuali struttura (di solito pendenze casuali). Il vantaggio di questo approccio è che porta a un modello più parsimonioso che non è troppo adatto.

Tuttavia, prima di fare qualsiasi cosa, hai una buona ragione per volere X, Conditione la loro interazione, tutto per variare in base al soggetto in primo luogo? La teoria di come vengono generati i dati suggerisce questo?

Se desideri adattare il modello con la massima struttura di effetti casuali e lme4ottenere un adattamento singolare, adattando lo stesso modello in una struttura bayesiana potresti benissimo informarti del motivo per cui hannolme4 avuto problemi, esaminando i grafici di traccia e quanto bene convergono le varie stime dei parametri . Il vantaggio nell'adottare l'approccio bayesiano è che così facendo potresti scoprire un problema con il modello originale, ad es. il motivo per cui la struttura degli effetti casuali massima non è supportata dai dati) o potrebbe scoprire perché lme4non è in grado di adattarsi al modello. Ho riscontrato situazioni in cui un modello bayesiano non converge bene, a meno che non vengano utilizzati priori informativi, il che può o meno essere OK.

In breve, entrambi gli approcci hanno merito.

Tuttavia, vorrei sempre partire da un luogo in cui il modello iniziale è parsimonioso e informato dalle conoscenze del dominio degli esperti per determinare la struttura di effetti casuali più appropriata. Specificare le variabili di raggruppamento è relativamente semplice, ma di solito non è necessario includere pendenze casuali . Includerli solo se hanno un buon senso teorico E sono supportati dai dati.

Modifica: nei commenti si dice che esistono valide ragioni teoriche per adattarsi alla massima struttura di effetti casuali. Quindi, un modo relativamente semplice per procedere con un modello bayesiano equivalente è scambiare la chiamata glmercon stan_glmerdal rstanarmpacchetto - è progettato per essere plug and play. Ha priori predefiniti, quindi puoi rapidamente montare un modello. Il pacchetto ha anche molti strumenti per valutare la convergenza. Se scopri che tutti i parametri convergono in valori plausibili, allora sei tutto a posto. Tuttavia, possono esserci una serie di problemi, ad esempio una varianza stimata pari o inferiore a zero o una stima che continua a spostarsi. Il sito mc-stan.org contiene molte informazioni e un forum utenti.


1
Sì, ho buone ragioni teoriche per supporre che la regressione di Y su X debba variare in modo diverso tra i soggetti per le condizioni A e B. La regressione implica uno stile di elaborazione. Potete darmi qualche informazione in più su come interpretare i tracciati come strumento diagnostico per le cause della singolarità?
User33268,

11

Questo è un thread molto interessante, con risposte e commenti interessanti! Dal momento che questo non è stato ancora sollevato, ho voluto sottolineare che disponiamo di pochissimi dati per ogni argomento (a quanto ho capito). In effetti, ogni soggetto ha solo due valori per ciascuna delle variabili di risposta Y, la variabile categoriale Condition e la variabile continua X. In particolare, sappiamo che i due valori di Condition sono A e B.

Se dovessimo perseguire la modellazione della regressione a due stadi anziché la modellazione degli effetti misti, non potremmo nemmeno adattare un modello di regressione lineare ai dati di un argomento specifico, come illustrato nell'esempio di giocattolo di seguito per uno degli argomenti:

y <- c(4, 7)
condition <- c("A", "B")
condition <- factor(condition)
x <- c(0.2, 0.4)

m <- lm(y ~ condition*x)
summary(m)

Il risultato di questo modello specifico per soggetto sarebbe:

Call:
lm(formula = y ~ condition * x)

Residuals:
ALL 2 residuals are 0: no residual degrees of freedom!

Coefficients: (2 not defined because of singularities)
         Estimate Std. Error t value Pr(>|t|)
(Intercept)         4         NA      NA       NA
conditionB          3         NA      NA       NA
x                  NA         NA      NA       NA
conditionB:x       NA         NA      NA       NA

Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared:      1,     Adjusted R-squared:    NaN 
F-statistic:   NaN on 1 and 0 DF,  p-value: NA

Si noti che l'adattamento del modello soffre di singolarità, poiché stiamo cercando di stimare 4 coefficienti di regressione più la deviazione standard dell'errore usando solo 2 osservazioni.

Le singolarità persisterebbero anche se osservassimo questo argomento due volte, anziché una volta, in ciascuna condizione. Tuttavia, se osservassimo il soggetto 3 volte in ciascuna condizione, elimineremmo le singolarità:

y <- c(4, 7, 3, 5, 1, 2)
condition <- c("A", "B", "A","B","A","B")
condition <- factor(condition)
x <- c(0.2, 0.4, 0.1, 0.3, 0.3, 0.5)

m2 <- lm(y ~ condition*x)
summary(m2)

Ecco l'uscita R corrispondente per questo secondo esempio, da cui sono scomparse le singolarità:

>     summary(m2)

Call:
lm(formula = y ~ condition * x)

Residuals:
    1       2       3       4       5       6 
1.3333  2.3333 -0.6667 -1.1667 -0.6667 -1.1667 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)
(Intercept)     4.667      3.555   1.313    0.320
conditionB      6.000      7.601   0.789    0.513
x             -10.000     16.457  -0.608    0.605
conditionB:x   -5.000     23.274  -0.215    0.850

Residual standard error: 2.327 on 2 degrees of freedom
Multiple R-squared:  0.5357,    Adjusted R-squared:  -0.1607 
F-statistic: 0.7692 on 3 and 2 DF,  p-value: 0.6079

Naturalmente, il modello di effetti misti non si adatta a modelli di regressione lineare separati, non correlati, per ogni soggetto - si adatta a modelli "correlati" le cui intercettazioni e / o pendenze si discostano casualmente su una tipica intercetta e / o pendenza, in modo tale che le deviazioni casuali dalla l'intercetta tipica e / o la pendenza tipica seguono una distribuzione normale con zero medio e qualche deviazione standard sconosciuta.

Anche così, la mia intuizione suggerisce che il modello di effetti misti sta lottando con la piccola quantità di osservazioni - solo 2 - disponibili per ogni soggetto. Più il modello è caricato con pendenze casuali, più probabilmente fatica. Ho il sospetto che, se ogni soggetto fornisse 6 osservazioni invece di 2 (cioè 3 per condizione), non farebbe più fatica a soddisfare tutte le pendenze casuali.

Mi sembra che questo potrebbe essere (?) Un caso in cui l'attuale progetto di studio non supporta le complesse ambizioni di modellizzazione - per supportare tali ambizioni, sarebbero necessarie più osservazioni in ciascuna condizione per ogni soggetto (o almeno per alcune delle soggetti?). Questa è solo la mia intuizione, quindi spero che altri possano aggiungere le loro intuizioni alle mie osservazioni sopra. Grazie in anticipo!


Devo correggerti - ogni partecipante ha 30 osservazioni per X e Y, sia in condizioni A che B!
User33268,

2
Oh, questo non era indicato nella tua risposta iniziale, quindi sarebbe stato impossibile per me indovinare quante osservazioni per soggetto e condizione hai effettivamente. C'è qualcos'altro che succede allora. Hai provato a standardizzare la tua variabile X? Questo aiuta l'me fit? Inoltre, hai esaminato i grafici di Y vs. X (o X standardizzata) per Condizione = A vs. Condizione = B separatamente per ciascun soggetto? Ciò potrebbe darti ulteriori indizi su ciò che sta succedendo.
Isabella Ghement,

Non ho standardizzato x perché si tratta di dati sui tempi di reazione ed è importante per l'interpretazione del coefficiente di regressione. Tuttavia, i dati sono stati centralizzati.
Esaminerò i

1
@ User33268 Sono un po 'in ritardo alla festa, ma puoi ancora interpretare i coefficienti standardizzati, devi solo memorizzare i valori utilizzati per il ridimensionamento e quindi ritrasmettere dopo aver eseguito il modello.
Frans Rodenburg,
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.