Modello più basso: aggiungi o riduci fattori

Aug 22 2020

Nei modelli a effetti misti, aggiungete i fattori uno per uno? Oppure riduci i fattori uno per uno? Quello che sto facendo è il seguente. Ci sono problemi con i passaggi?

  1. Costruisci un modello completo: mod.full <- lmer(DV ~ A*B + C + D + (1 + E|participant) + (1 + B + E|item)
  2. Riduci le pendenze casuali una per una. Se p> 0,05, il fattore omesso può essere tolto dal modello completo:
    mod.reduced1 <- lmer(DV ~ A*B + C + D + (1|participant) + (1 + B + E|item))
    anova(mod.full, mod.reduced1) # compare models 
    
    mod.reduced2 <- lmer(DV ~ A*B + C + D + (1|participant) + (1 + E|item))
    anova(mod.reduced2, mod.full) # compare models

    mod.reduced3 <- lmer(DV ~ A*B + C + D + (1|participant) + (1 |item))
    anova(mod.reduced3, mod.full) # compare models 
    
    mod.reduced4 <- lmer(DV ~ A*B + C + D + (1|participant)) # sometimes an entire random factor needs to go because the model has 'isSingular' warnings
    anova(mod.reduced4, mod.full) # compare models 

  1. Riduco i fattori casuali finché non viene visualizzato l'avviso "isSingular". E usalo come un nuovo modello completo se questo modello non differisce in modo significativo dal modello completo. (Non sono sicuro di cosa fare se l'ultimo modello senza l'avvertenza isSingular è diverso dal modello completo originale.)
  2. Quindi riduco i fattori fissi che non sono critici per lo studio dal nuovo modello.
mod.new <- lmer(DV ~ A*B + C + D + (1|participant))

mod.C <- lmer(DV ~ A*B + C + (1|participant))
mod.D <- lmer(DV ~ A*B + D + (1|participant))
  1. Quindi confronto i modelli. Se questi fattori fissi non differiscono dal nuovo modello completo, li rimuovo.
anova(mod.new, mod.C) # the results for this is the effect of fixed factor D. Remove D if p > 0.05
anova(mod.new, mod.D) # the results for this is the effect of fixed factor C. Remove C if p > 0.05
  1. Dopo aver rimosso i fattori fissi, ho un modello completo finale. Lo uso per confrontare i modelli senza gli altri fattori fissi a cui sono interessato.
mod.final <- lmer(DV ~ A*B + D + (1|participant))

mod.A <- lmer(DV ~ A + A:B + D + (1|participant))
mod.B <- lmer(DV ~ B + A:B + D + (1|participant))
mod.AB <- lmer(DV ~ A + B + D + (1|participant))

anova(mod.final, mod.A) # the effect of B
anova(mod.final, mod.B) # the effect of A
anova(mod.final, mod.AB) # the effect of the A:B interaction

Mi chiedevo se questo processo sia corretto. Mi chiedevo anche se i fattori possono essere sommati anziché ridotti? Ad esempio, parto da un fattore casuale

mod.null <- lmer(DV ~ 1 + (1|participant))

e poi aggiungi i fattori fissi

mod.A <- lmer(DV ~ A + (1|participant))
anova(mod.A, mod.null)

Quindi quando voglio aggiungere il fattore B, costruisco un modello con solo B o con A + B? Non sono sicuro se l'aggiunta di fattori funzionerà e come funziona.

Risposte

4 RobertLong Aug 23 2020 at 09:45

Prima nota che il modello:

mod.full <- lmer(DV ~ A*B + C + D + (1 + E|participant) + (1 + B + E|item)

è piuttosto discutibile perché includi pendenze casuali Ema nessun effetto principale. Ciò significa che presumi implicitamente che l'effetto complessivo di E sia zero.

Non mi piace la procedura che usi nel passaggio 2. Un approccio migliore è iniziare con la struttura casuale che la teoria sottostante dell'argomento suggerisce essere plausibile. Quindi, se c'è un adattamento singolare, cerca le parti della struttura casuale che stanno causando l'adattamento singolare ed eliminale. Questo di solito può essere visto summary(model)dall'output: di solito ci sarà una varianza molto prossima a zero, o una correlazione tra pendenze casuali e intercette molto vicina a, o addirittura uguale a, -1 o 1. In quest'ultimo caso puoi provare a modello che non stima la correlazione tra pendenze casuali e intercette utilizzando la ||notazione. Nel primo caso è possibile rimuovere il termine pertinente. Vedi queste risposte per ulteriori dettagli su questo:
Trattare con adattamento singolare in modelli misti
Come semplificare una struttura casuale singolare quando le correlazioni riportate non sono vicine a + 1 / -1

  1. Quindi riduco i fattori fissi che non sono critici per lo studio dal nuovo modello.

Non è chiaro cosa intendi con questo. Se si tratta di uno studio osservazionale, le variabili dovrebbero essere incluse nel modello utilizzando la conoscenza a priori dell'argomento e con l'aiuto di un diagramma causale. I mediatori non dovrebbero mai essere inclusi e i confondenti dovrebbero (ma si dovrebbe prestare attenzione all'eccessivo aggiustamento) e così dovrebbero essere le esposizioni concorrenti. Tutto dovrebbe derivare dalla tua domanda di ricerca.

  1. Quindi confronto i modelli. Se questi fattori fissi non differiscono dal nuovo modello completo, li rimuovo.

Non farlo. Vedere il paragrafo precedente.

  1. Dopo aver rimosso i fattori fissi, ho un modello completo finale. Lo uso per confrontare i modelli senza gli altri fattori fissi a cui sono interessato.

Di nuovo, non farlo.

  1. Mi chiedevo anche se i fattori possono essere sommati anziché ridotti?

Di nuovo, non farlo. Se non hai idea di quali fattori dovrebbero essere inclusi nel modello, dovresti fare riferimento alla letteratura appropriata. È una pessima idea usare qualsiasi tipo di procedura graduale per scegliere le variabili in un modello.

Infine,

mod.final <- lmer(DV ~ A*B + D + (1|participant))
mod.A <- lmer(DV ~ A + A:B + D + (1|participant))
mod.B <- lmer(DV ~ B + A:B + D + (1|participant))

Secondo la mia risposta ad un'altra domanda , questi modelli sono tutti uguali.