Sadece 1 gözlemle rastgele etkiler genelleştirilmiş doğrusal karışık modeli nasıl etkiler?


14

Rasgele bir efekt olarak kullanmak istediğim değişkenin sadece bazı seviyeler için tek bir gözlemi olduğu bir veri setim var. Önceki soruların cevaplarına dayanarak, prensip olarak, bunun iyi olabileceğini topladım.

Sadece 1 gözlemi olan deneklerle karışık bir model takabilir miyim?

Rastgele engelleme modeli - konu başına bir ölçüm

Ancak, ikinci linkte ilk cevap şunları belirtir:

“... genel bir doğrusal karma model GLMM kullanmadığınızı varsayarsak , bu durumda aşırı dağılım sorunları devreye girer”

GLMM kullanmayı düşünüyorum, ancak tek gözlemli rastgele etki seviyelerinin modeli nasıl etkileyeceğini gerçekten anlamıyorum.


İşte uydurmaya çalıştığım modellerden birine bir örnek. Kuşları inceliyorum ve nüfusun ve mevsimin göç sırasındaki durak sayısı üzerindeki etkilerini modellemek istiyorum. Bireyi rastgele bir etki olarak kullanmak istiyorum, çünkü bazı kişiler için 5 yıla kadar verim var.

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 kişi var. 9 kişinin tek bir gözlemi vardır. 18 kişinin 2-9 gözlemi vardır.

Rastgele etki seviyelerinin 1 / 3'ünde sadece bir gözlem varsa endişe edilmesi gerekenler neler?


Düşünüyordum:

Seçenek 1: Yukarıda açıklandığı gibi GLMM

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

Seçenek 2: Birden fazla gözlemi olan bireyler için araçlar kullanan ağırlıklı genelleştirilmiş doğrusal model 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)

Alıntı nereden geliyor? İlgili cevabı bulamıyorum.
amip diyor Reinstate Monica

İkinci bağlantı, ilk yanıt, parantez içinde
canderson156

3
kısa bir cevap değil: Herhangi bir sorun olacağını sanmıyorum. Yukarıdaki ikinci soruya ilk cevap verenin ne anlama geldiğini tam olarak bilmiyorum: sormak için orada bir yorum bırakmayı düşündünüz mü (yeterli temsilciniz varsa)? Grup başına tam olarak 1 gözleminizin olduğu sınırda, gruplar arası ve artık değişkenlik tamamen karıştırılacaktır. > 1
gözlemli

İkinci seçeneğinizin (ağırlıklı Poisson) gerçekten doğru çalıştığından emin değilim, ancak daha dikkatli düşünmek zorunda kalacağım.
Ben Bolker

@BenBolker 1'den fazla gözlemi olan grupların sadece azınlığının olduğu, tarif ettiğiniz durumda ne yapmayı seçersiniz?
mkt - Monica

Yanıtlar:


3

Genel olarak, tanımlanabilirlikle ilgili bir sorununuz var. Yalnızca bir ölçüm içeren bir parametreye rastgele efekt atanmış doğrusal modeller, rastgele etki ile kalan hata arasında ayrım yapamaz.

Tipik bir doğrusal karışık efekt denklemi şöyle görünecektir:

E=β+ηi+ϵj

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

SD(η)SD(ϵ)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.