In che modo gli effetti casuali con 1 sola osservazione influenzeranno un modello misto lineare generalizzato?


14

Ho un set di dati in cui la variabile che vorrei usare come effetto casuale ha una sola osservazione per alcuni livelli. Sulla base delle risposte alle domande precedenti, ho raccolto che, in linea di principio, questo può andare bene.

Posso adattare un modello misto a soggetti che hanno solo 1 osservazione?

Modello di intercettazioni casuali: una misurazione per soggetto

Tuttavia, nel secondo collegamento, la prima risposta afferma:

"... supponendo che non si stia utilizzando un modello GLMM lineare generalizzato misto in cui in questo caso entrano in gioco problemi di sovra dispersione"

Sto pensando di utilizzare un GLMM, ma non capisco davvero come i livelli di effetti casuali con singole osservazioni influenzeranno il modello.


Ecco un esempio di uno dei modelli che sto cercando di adattare. Sto studiando gli uccelli e vorrei modellare gli effetti della popolazione e della stagione sul numero di fermate durante la migrazione. Vorrei usare l'individuo come effetto casuale, perché per alcuni individui ho fino a 5 anni di dati.

library(dplyr)
library(lme4)
pop <- as.character(c("BF", "BF", "BF", "BF", "BF", "BF", "BF", "BF", "BF", "BF", "BF", "BF", "BF", "BF", "BF", "BF", "BF", "BF", "BF", "BF", "BF", "MA", "MA", "MA", "MA", "MA", "MA", "MA", "MA", "MA", "MA", "MA", "MA", "MA", "MA", "MA", "NU", "NU", "NU", "NU", "NU", "NU", "NU", "NU", "NU", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA", "SA"))
id <- "2 2 4 4 7 7 9 9 10 10 84367 84367 84367 84368 84368 84368 84368 84368 84368 84369 84369 33073 33073 33073 33073 33073 33073 33073 33073 33073 80149 80149 80149 80150 80150 80150 57140 57141 126674 126677 126678 126680 137152 137152 137157 115925 115925 115925 115925 115925 115925 115925 115925 115926 115926 115926 115926 115926 115926 115927 115928 115929 115929 115929 115930 115930 115930 115930 115931 115931 115931 115932 115932 115932"
id <- strsplit(id, " ")
id <- as.numeric(unlist(id))
year <- "2014 2015 2014 2015 2014 2015 2014 2015 2014 2015 2009 2010 2010 2009 2010 2010 2011 2011 2012 2009 2010 2009 2009 2010 2010 2011 2011 2012 2012 2013 2008 2008 2009 2008 2008 2009 2008 2008 2013 2013 2013 2013 2014 2015 2014 2012 2013 2013 2014 2014 2015 2015 2016 2012 2013 2013 2014 2014 2015 2013 2012 2012 2013 2013 2012 2013 2013 2014 2013 2014 2014 2013 2014 2014"
year <- strsplit(year, " ")
year <- as.numeric(unlist(year))
season <- as.character(c("fall", "spring", "fall", "spring", "fall", "spring", "fall", "spring", "fall", "spring", "fall", "fall", "spring", "fall", "fall", "spring", "fall", "spring", "spring", "fall", "spring", "fall", "spring", "fall", "spring", "fall", "spring", "fall", "spring", "spring", "fall", "spring", "spring", "fall", "spring", "spring", "fall", "fall", "fall", "fall", "fall", "fall", "fall", "spring", "fall", "fall", "fall", "spring", "fall", "spring", "fall", "spring", "spring", "fall", "fall", "spring", "fall", "spring", "spring", "fall", "fall", "fall", "fall", "spring", "fall", "fall", "spring", "spring","fall", "fall", "spring", "fall", "fall", "spring"))
stops <- "0 0 0 0 0 0 1 0 2 1 1 0 0 3 2 0 1 1 0 1 1 2 0 1 0 2 0 4 0 0 2 1 1 2 5 2 1 0 9 6 2 3 4 7 2 0 0 0 0 0 2 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0"
stops <- strsplit(stops, " ")
stops <- as.numeric(unlist(stops))

stopdata <- data.frame(pop = pop, id = id, year = year, season = season, stops = stops, stringsAsFactors = FALSE)


stopdata <- group_by(stopdata, pop, id)
summary1 <- summarise(stopdata, n.years = length(year))
table(summary1$n.years)

Ci sono 27 individui. 9 individui hanno una singola osservazione. 18 individui hanno 2-9 osservazioni.

Cosa dovrebbe preoccuparsi se 1/3 dei livelli di effetti casuali hanno solo un'osservazione?


Ho considerato:

Opzione 1: GLMM come descritto sopra

stops.glmm <- glmer(stops ~ pop + season + (1|id), data=stopdata, family = poisson)

Opzione 2: modello lineare generalizzato ponderato GLM che utilizza mezzi per gli individui con osservazioni multiple

aggfun <- function(data, idvars=c("pop", "season", "id"), response){
#select id variables, response variable, and year
sub1 <- na.omit(data[,c(idvars, "year", response)])
#aggregate for mean response by year
agg1 <- aggregate(sub1[names(sub1) == response],by=sub1[idvars],FUN=mean)
#sample size for each aggregated group
aggn <- aggregate(sub1[response],by=sub1[idvars],FUN=length)
#rename sample size column
names(aggn)[4] <- "n"
agg2 <- merge(agg1, aggn)
agg2}


#Create weighted dataset
stops.weight <- aggfun(data = stopdata, response = "stops")
stops.weight$stops <- round(stops.weight$stops)

#Weighted GLM
stops.glm <- glm(stops~pop + season, data=stops.weight, family = poisson, weights = n)

Da dove viene la citazione? Non riesco a trovare la risposta corrispondente.
ameba dice Ripristina Monica il

Secondo link, prima risposta, tra parentesi
canderson156,

3
breve non-abbastanza-risposta: non credo che ci sarebbero problemi. Non so esattamente cosa significasse il primo risponditore alla seconda domanda collegata sopra: hai preso in considerazione l'idea di lasciare un commento per chiedere (se hai un rappresentante sufficiente)? Nel limite in cui hai esattamente 1 osservazione per gruppo, la variabilità tra i gruppi e quella residua saranno completamente confuse. Potrei non preoccuparmi di modelli misti se tu avessi un minoranza di gruppi con> 1 osservazione (e un piccolo numero in quei gruppi), ma il tuo caso suona bene ...
Ben Bolker,

Non sono sicuro che la tua seconda opzione (ponderata Poisson) funzioni davvero correttamente, ma dovrei pensarci più attentamente.
Ben Bolker,

@BenBolker Cosa sceglieresti nel caso descrivi, dove ci sono solo una minoranza di gruppi con> 1 osservazione?
mkt - Ripristina Monica l'

Risposte:


3

In generale, hai un problema con l'identificabilità. I modelli lineari con un effetto casuale assegnato a un parametro con una sola misurazione non sono in grado di distinguere tra l'effetto casuale e l'errore residuo.

Una tipica equazione lineare con effetti misti sarà simile a:

E=β+ηi+ϵj

Dove è l'effetto fisso, η i è l'effetto casuale per il livello i e ϵ j è la variabilità residua per jβηiiϵjjηϵηϵSD(η)SD(ϵ)var(η)+var(ϵ)

SD(η)SD(ϵ)

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.