Qual è il numero minimo raccomandato di gruppi per un fattore di effetti casuali?


26

Sto usando un modello misto in R( lme4) per analizzare alcuni dati di misure ripetute. Ho una variabile di risposta (contenuto di fibre delle feci) e 3 effetti fissi (massa corporea, ecc.). Il mio studio ha solo 6 partecipanti, con 16 misure ripetute per ognuna (sebbene due abbiano solo 12 ripetizioni). I soggetti sono lucertole a cui sono state date diverse combinazioni di cibo in diversi "trattamenti".

La mia domanda è: posso usare l'ID soggetto come effetto casuale?

So che questo è il solito corso d'azione nei modelli longitudinali di effetti misti, per tenere conto della natura campionata casualmente dei soggetti e del fatto che le osservazioni all'interno dei soggetti saranno più strettamente correlate rispetto a quelle tra soggetti. Ma, trattare l'ID soggetto come un effetto casuale implica stimare una media e una varianza per questa variabile.

  • Dato che ho solo 6 soggetti (6 livelli di questo fattore), è abbastanza per ottenere una caratterizzazione accurata della media e della varianza?

  • Il fatto che io abbia parecchie misurazioni ripetute per ogni soggetto aiuta in questo senso (non vedo come sia importante)?

  • Infine, se non riesco a utilizzare l'ID soggetto come effetto casuale, includerlo come effetto fisso mi consentirà di controllare il fatto di avere misure ripetute?

Modifica: vorrei solo chiarire che quando dico "posso" usare l'ID soggetto come effetto casuale, intendo "è una buona idea". So di poter adattare il modello a un fattore con solo 2 livelli, ma sicuramente questo sarebbe indifendibile? Sto chiedendo a che punto diventa sensato pensare di trattare i soggetti come effetti casuali? Sembra che la letteratura suggerisca che i livelli 5-6 sono un limite inferiore. Mi sembra che le stime della media e della varianza dell'effetto casuale non sarebbero molto precise fino a quando non ci fossero più di 15 livelli di fattore.

Risposte:


21

Risposta breve: Sì, puoi usare l'ID come effetto casuale con 6 livelli.

Risposta leggermente più lunga: le FAQ GLMM di @ BenBolker dicono (tra le altre cose) quanto segue sotto il titolo " Devo trattare il fattore xxx come fisso o casuale? ":

Un punto di particolare rilevanza per la stima del modello misto "moderno" (piuttosto che per la stima del metodo dei momenti "classica") è che, ai fini pratici, ci deve essere un numero ragionevole di livelli di effetti casuali (ad es. Blocchi) - più che 5 o 6 come minimo.

Quindi sei al limite inferiore, ma sul lato destro di esso.


12

Nel tentativo di capire il numero minimo di gruppi per un modello multilivello, ho esaminato il libro Analisi dei dati usando regressione e modelli mulitilevel / gerarchici di Gelman e Hill (2007).

Sembrano affrontare questo argomento nel capitolo 11, sezione 5 (pagina 247) in cui scrivono che quando ci sono <5 gruppi, i modelli multilivello in genere aggiungono poco rispetto ai modelli classici. Tuttavia, sembrano scrivere che sussistono pochi rischi nell'applicazione di un modello multilivello.

Gli stessi autori sembrano tornare su questo argomento nel capitolo 12, sezione 9 (pagine 275-276). Qui scrivono che i consigli sul numero minimo di gruppi per un modello multilivello sono sbagliati. Lì dicono ancora che i modelli multilivello spesso aggiungono poco rispetto ai modelli classici quando il numero di gruppi è piccolo. Tuttavia, scrivono anche che i modelli multilivello non dovrebbero fare peggio della regressione del no pool (dove il no pool sembra significare che gli indicatori di gruppo vengono utilizzati nella regressione classica).

Nelle pagine 275-276 gli autori hanno una sottosezione specifica per il caso di uno o due gruppi (ad esempio, maschio contro femmina). Qui scrivono che in genere esprimono il modello in forma classica. Tuttavia, affermano che la modellazione multilivello può essere utile anche con solo uno o due gruppi. Scrivono che con uno o due gruppi la modellazione multilivello si riduce alla regressione classica.

La mia impressione da ciò è che la regressione classica è un'estremità di un continuum di modelli, ovvero un caso speciale di un modello multilivello.

Sulla base di quanto sopra, la mia impressione è che la regressione classica e la modellazione multilivello restituiranno stime quasi identiche quando ci sono solo due gruppi e che l'utilizzo di modelli multilivello con solo uno, due, tre, quattro, cinque o sei gruppi va bene.

In futuro tenterò di modificare questa risposta con il Rcodice e un piccolo set di dati che confronta le stime ottenute con entrambi gli approcci quando si usano due gruppi.


10

Per quello che vale, ho fatto un po 'di uno studio di simulazione per esaminare la stabilità della stima della varianza per un LMM relativamente semplice (usando il sleepstudyset di dati disponibile attraverso lme4). Il primo modo genera tutte le possibili combinazioni ngroupsdi soggetti per numero di soggetti e modifica il modello per ogni possibile combinazione. Il secondo prende diversi sottogruppi casuali di soggetti.

library(lme4)
library(ggplot2)
library(tidyr)

m0 <- lmer(Reaction ~ Days + (1|Subject), data = sleepstudy,
           control = lmerControl(optimizer = "nloptwrap"))
# set the number of factor levels
ngroups <- 3:18 
# generate all possible combinations
combos <- lapply(X = ngroups, 
                 FUN = function(x) combn(unique(sleepstudy$Subject), x)) 

# allocate output (sorry, this code is entirely un-optimized)
out <- list(matrix(NA, ncol(combos[[1]]), 1), matrix(NA, ncol(combos[[2]]), 1),
            matrix(NA, ncol(combos[[3]]), 1), matrix(NA, ncol(combos[[4]]), 1),
            matrix(NA, ncol(combos[[5]]), 1), matrix(NA, ncol(combos[[6]]), 1),
            matrix(NA, ncol(combos[[7]]), 1), matrix(NA, ncol(combos[[8]]), 1),
            matrix(NA, ncol(combos[[9]]), 1), matrix(NA, ncol(combos[[10]]), 1),
            matrix(NA, ncol(combos[[11]]), 1), matrix(NA, ncol(combos[[12]]), 1),
            matrix(NA, ncol(combos[[13]]), 1), matrix(NA, ncol(combos[[14]]), 1),
            matrix(NA, ncol(combos[[15]]), 1), matrix(NA, ncol(combos[[16]]), 1))
# took ~ 2.5 hrs on my laptop, commented out for safety
#system.time(for(ii in 1:length(combos)) {
#    for(jj in 1:ncol(combos[[ii]])) {
#    sls <- sleepstudy[sleepstudy$Subject %in% combos[[ii]][,jj],]
#    out[[ii]][jj] <- attr(VarCorr(update(m0, data = sls))$Subject, 'stddev')
#        }
#    })

# pad with zeros, not all were equal
# from http://stackoverflow.com/questions/11148429/r-convert-asymmetric-list-to-matrix-number-of-elements-in-each-sub-list-diffe
max.len <- max(sapply(out, length))
corrected.list <- lapply(out, function(x) {c(x, rep(NA, max.len - length(x)))})
mat <- do.call(rbind, corrected.list)
mat <- data.frame(t(mat))
names(mat) <- paste0('s',3:18)
mat <- gather(mat, run, value)

ggplot(mat, aes(x = value, fill = run)) + 
    geom_histogram(bins = 60) +
    geom_vline(xintercept = 37.12, linetype =  'longdash', 
               aes(colour = 'original')) +
    facet_wrap(~run, scales = 'free_y') +
    scale_x_continuous(breaks = seq(0, 100, by = 20)) + 
    theme_bw() + 
    guides(fill = FALSE)

La linea nera tratteggiata è la stima puntuale originale della varianza e le sfaccettature rappresentano numeri diversi di soggetti ( s3essendo gruppi di tre soggetti, s4essendo quattro, ecc.). inserisci qui la descrizione dell'immagine

E il modo alternativo:

ngroups <- 3:18
reps <- 500
out2<- matrix(NA, length(ngroups), reps)

for (ii in 1:length(ngroups)) {
    for(j in 1:reps) {
        sls <- sleepstudy[sleepstudy$Subject %in% sample(unique(sleepstudy$Subject), ngroups[i], replace = FALSE),]
        out2[i,j] <- attr(VarCorr(update(m0, data = sls))$Subject, 'stddev')
    }
}
out2 <- data.frame(t(out2))
names(out2) <- paste0('s',3:18)
out2 <- gather(out2, run, value)

ggplot(out2, aes(x = value, fill = run)) + 
    geom_histogram(bins = 60) +
    geom_vline(xintercept = 37.12, linetype =  'longdash', 
               aes(colour = 'original')) +
    facet_wrap(~run, scales = 'free_y') +
    scale_x_continuous(breaks = seq(0, 100, by = 20)) + 
    theme_bw() + 
    guides(fill = FALSE)

inserisci qui la descrizione dell'immagine

Sembra (per questo esempio, comunque) che la varianza non si stabilizzi davvero fino a quando non ci saranno almeno 14 soggetti, se non dopo.


1
+1. Naturalmente minore è il numero di soggetti, maggiore è la varianza dello stimatore di varianza. Ma non penso che questo sia ciò che conta qui. La domanda è: quale numero di soggetti consente di ottenere risultati sensati? Se definiamo il risultato "non sensibile" come ottenere una varianza zero, nella tua simulazione accade abbastanza spesso con n = 5 o meno. A partire da n = 6 o n = 7, non si ottiene quasi mai una stima 0 della varianza esatta, ovvero il modello sta convergendo in una soluzione non degenerata. La mia conclusione sarebbe che n = 6 è accettabile al limite.
ameba dice di ripristinare Monica

1
A proposito questo è in linea con rpubs.com/bbolker/4187 .
ameba dice di ripristinare Monica

8

"Mostly Harmless Econometrics" di Angrist e Pischke ha una sezione intitolata "Meno di 42 cluster", in cui dicono semi scherzosamente,

Pertanto, seguendo il ... presupposto che la risposta alla vita, all'universo e tutto sia 42, riteniamo che la domanda sia: quanti cluster sono sufficienti per un'inferenza affidabile utilizzando la regolazione standard del cluster [simile allo stimatore di varianza in GEE]?

Il modo in cui il mio istruttore di econometria rispondeva a domande come la tua è: "L'America è un paese libero, puoi fare quello che vuoi. Ma se vuoi che il tuo articolo sia pubblicato, devi essere in grado di difendere ciò che hai fatto. " In altre parole, sarai probabilmente in grado di eseguire il codice GLIMMIX R o Stata o HLM o Mplus o SAS PROC con 6 soggetti (e passare a questi pacchetti alternativi se quello di tua scelta non esegue questo), ma probabilmente avrai tempo molto difficile difendere questo approccio e giustificare i test asintotici.

Ritengo che, per impostazione predefinita, includere una variabile come una pendenza casuale implichi anche quello come effetto fisso, e devi saltare molti cerchi di sintassi se vuoi avere questo come effetto casuale con la media di zero. Questa è una scelta sensata che gli sviluppatori di software hanno fatto per te.


1
Prendo in considerazione che la risposta alla domanda è, in una certa misura, "quanto è lungo un pezzo di spago". Ma non darei molta fiducia nella stima di una media o varianza da un campione inferiore a 15-20, quindi la stessa regola empirica non si applicherebbe ai livelli di un effetto casuale. Non ho mai visto nessuno includere l'ID soggetto come un effetto fisso e casuale negli studi longitudinali - è questa pratica comune?
Chris,

Oltre a un piccolo numero di soggetti nel modello misto, i loro effetti casuali non sono osservati, quindi è necessario prenderli in giro dai dati e, probabilmente, sono necessari relativamente più dati per farlo in modo affidabile che nel solo per stimare la media e il varianza quando si osserva tutto. Quindi 42 contro 15-20 :). Penso di voler dire pendenze casuali, dato che hai ragione negli ID soggetto che figurano solo come effetti casuali, altrimenti non verranno identificati. A proposito, gli economisti non credono negli effetti casuali e pubblicano quasi esclusivamente quelli che chiamano "effetti fissi", ovvero stime all'interno del soggetto.
StasK,

2
+1 @StasK per un'ottima risposta a una domanda che è molto difficile da affrontare. Penso che ci sia una sfumatura di sarcasmo non necessario e potresti considerare di modificare la tua risposta in modo da essere un po 'più rispettoso del PO.
Michael R. Chernick,

@Michael, probabilmente hai ragione sul fatto che questa è una risposta lunatica, e probabilmente anche inutilmente. L'OP ha accettato la risposta che volevano ascoltare, quindi ha ottenuto una risoluzione al riguardo. Una risposta più seria indicherebbe una buona prova di simulazione o un'analisi asintotica di ordine superiore, ma sfortunatamente non sono a conoscenza di tali riferimenti.
StasK,

3
Per quello che vale, penso che il numero magico "42" non riguardi quando sono giustificati gli effetti casuali, ma quando uno può scappare senza preoccuparsi di correzioni di dimensioni finite (ad es. Pensare a gradi di libertà del denominatore efficaci / correzioni di Kenward-Roger / altri approcci simili).
Ben Bolker,

7

Potresti anche usare un modello misto bayesiano - in tal caso l'incertezza nella stima degli effetti casuali è completamente curata nel calcolo degli intervalli credibili di previsione del 95%. Il nuovo pacchetto R brmse la funzione brm, ad esempio, consentono una transizione molto semplice da un lme4modello misto frequentista a uno bayesiano, poiché ha una sintassi quasi identica.


4

Non userei un modello di effetti casuali con solo 6 livelli. I modelli che utilizzano un effetto casuale a 6 livelli possono a volte essere eseguiti utilizzando molti programmi statistici e talvolta forniscono stime imparziali, ma:

  1. Penso che ci sia un consenso arbitrario nella comunità statistica secondo cui 10-20 è il numero minimo. Se vuoi che le tue ricerche vengano pubblicate, ti verrà consigliato di cercare un diario senza revisione statistica (o di poter giustificare la tua decisione usando un linguaggio abbastanza sofisticato).
  2. Con così pochi cluster, è probabile che la varianza tra cluster sia scarsamente stimata. Una scarsa stima della varianza tra i cluster si traduce generalmente in una scarsa stima dell'errore standard dei coefficienti di interesse. (i modelli di effetti casuali si basano sul numero di cluster teoricamente diretti all'infinito).
  3. Spesso i modelli semplicemente non convergono. Hai provato a eseguire il tuo modello? Sarei sorpreso con solo 12-16 misure per soggetto che i modelli convergono. Quando sono riuscito a far convergere questo tipo di modello, ho avuto centinaia di misurazioni per cluster.

Questo problema viene risolto nella maggior parte dei libri di testo standard sul campo e in qualche modo li hai risolti nella tua domanda. Non credo di darti nuove informazioni.


Questo voto è stato votato per un motivo legato al suo contenuto tecnico?
N Brouwer,

Con quale tipo di dati stai lavorando? Non sono sicuro del motivo per cui sei sorpreso di sapere che il modello converge con 12-16 misure per individuo. Non posso commentare la distorsione nei modelli risultanti, ma non ho mai avuto problemi con la convergenza in lme4modelli misti e spesso li eseguo su campioni di dimensioni simili all'OP (sto lavorando anche con set di dati di biologia).
RTbecard

1

È passato molto tempo dalla domanda originale, ma ho pensato di aggiungere alcuni punti pertinenti alla selezione del modello.

1 - Finché il modello è identificato (ovvero hai gradi di libertà nello spazio dei parametri) dovresti essere in grado di PROVARE per adattarsi al modello. A seconda del metodo di ottimizzazione, il modello può o meno convergere. In ogni caso non proverei a includere più di 1 o 2 effetti casuali e sicuramente non più di 1 interazione a livello incrociato. Nel caso specifico del problema presentato qui se sospettiamo un'interazione tra le caratteristiche specifiche della lucertola (ad es. Età, dimensione, ecc.) E le caratteristiche di trattamento / misura, la dimensione del gruppo 6 potrebbe non essere sufficiente per fare stime abbastanza precise.

2 - Come menzionato in un paio di risposte, la convergenza può essere un problema. Tuttavia, la mia esperienza è che mentre i dati delle scienze sociali presentano un enorme problema di convergenza a causa di problemi di misurazione, le scienze della vita e soprattutto le misure ripetute biochimiche presentano errori standard molto più piccoli. Tutto dipende dal processo di generazione dei dati. Nei dati sociali ed economici dobbiamo lavorare a vari livelli di astrazione. Nell'errore di misurazione dei dati biologici e chimici e sicuramente astronomici è meno un problema.

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.