Як випадкові ефекти лише з 1 спостереженням вплинуть на узагальнену лінійну змішану модель?


14

У мене є набір даних, в якому змінна, яку я хотів би використовувати як випадковий ефект, має лише одне спостереження для деяких рівнів. На основі відповідей на попередні запитання я зібрав, що в принципі це може бути добре.

Чи можу я відповідати змішаній моделі з предметами, які мають лише 1 спостереження?

Модель випадкових перехоплень - одне вимірювання на предмет

Однак у другому посиланні перша відповідь зазначає:

"... якщо припустити, що ви не використовуєте узагальнену лінійну змішану модель GLMM, де в такому випадку питання наддисперсії вступають у гру"

Я розглядаю можливість використання GLMM, але не дуже розумію, як рівні випадкові ефекти з одинарними спостереженнями впливатимуть на модель.


Ось приклад однієї з моделей, які я намагаюся помістити. Я вивчаю птахів, і хотів би моделювати вплив популяції та сезону на кількість зупинок під час міграції. Я хотів би використовувати індивіда як випадковий ефект, тому що для деяких людей я маю до 5 років даних.

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)

Є 27 особин. 9 осіб мають єдине спостереження. У 18 осіб спостерігається 2-9 спостережень.

Що має турбувати, якщо 1/3 рівня випадкових ефектів має лише одне спостереження?


Я розглядав:

Варіант 1: GLMM, як описано вище

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

Варіант 2: Зважена узагальнена лінійна модель GLM з використанням засобів для індивідів з кількома спостереженнями

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)

Звідки береться цитата? Я не можу знайти відповідну відповідь.
Амеба каже: Відновити Моніку

Друга посилання, перша відповідь, в дужках
canderson156

3
коротка не зовсім відповідь: Я не думаю, що буде якась проблема. Не знаєте точно, що означав перший відповідь на друге вищезгадане запитання: чи ви думали залишити коментар, щоб запитати (якщо у вас є достатня кількість представників)? У межах, де у вас є рівно 1 спостереження на групу, то змінність між групою та залишковою мінливістю будуть повністю заплутані. Я не можу заважати змішаним моделям, якби у вас була меншість груп із> 1 спостереженням (і невелика кількість у цих групах), але ваш випадок звучить нормально ...
Бен Болкер

Я не впевнений, що ваш другий варіант (зважений Пуассон) справді працює правильно, але мені доведеться подумати над цим ретельніше.
Бен Болкер

@BenBolker Що б ви вирішили зробити в описуваному вами випадку, де є лише меншість груп із спостереженням> 1?
mkt -

Відповіді:


3

Загалом у вас є проблема з ідентифікацією. Лінійні моделі з випадковим ефектом, присвоєним параметру лише одним вимірюванням, не можуть відрізняти випадковий ефект від залишкової помилки.

Типове лінійне рівняння змішаного ефекту виглядатиме так:

Е=β+ηi+ϵj

βηiiϵjjηϵηϵSD(η)SD(ϵ)var(η)+var(ϵ)

SD(η)SD(ϵ)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.