Doğrusal olmayan karışık bir nlme
modelin tahminlerinde% 95 güven aralığı elde etmek istiyorum . Bunu yapmak için standart bir şey sağlanmadığı için , Ben Bolker'ın kitap bölümünde maksimum olasılıkla uygun modeller bağlamında belirtildiğinlme
gibi "nüfus tahmin aralıkları" yöntemini kullanmanın doğru olup olmadığını merak ediyordum . takılan modelin varyans-kovaryans matrisine dayalı sabit etki parametrelerini yeniden örneklemek, buna dayalı tahminleri simüle etmek ve daha sonra% 95 güven aralıkları elde etmek için bu tahminlerin% 95 persantilini almak?
Bunu yapmak için kod aşağıdaki gibi görünüyor: (Ben burada nlme
yardım dosyasından 'Loblolly' verileri kullanın )
library(effects)
library(nlme)
library(MASS)
fm1 <- nlme(height ~ SSasymp(age, Asym, R0, lrc),
data = Loblolly,
fixed = Asym + R0 + lrc ~ 1,
random = Asym ~ 1,
start = c(Asym = 103, R0 = -8.5, lrc = -3.3))
xvals=seq(min(Loblolly$age),max(Loblolly$age),length.out=100)
nresamp=1000
pars.picked = mvrnorm(nresamp, mu = fixef(fm1), Sigma = vcov(fm1)) # pick new parameter values by sampling from multivariate normal distribution based on fit
yvals = matrix(0, nrow = nresamp, ncol = length(xvals))
for (i in 1:nresamp)
{
yvals[i,] = sapply(xvals,function (x) SSasymp(x,pars.picked[i,1], pars.picked[i,2], pars.picked[i,3]))
}
quant = function(col) quantile(col, c(0.025,0.975)) # 95% percentiles
conflims = apply(yvals,2,quant) # 95% confidence intervals
Artık güven sınırlarım olduğuna göre bir grafik oluşturuyorum:
meany = sapply(xvals,function (x) SSasymp(x,fixef(fm1)[[1]], fixef(fm1)[[2]], fixef(fm1)[[3]]))
par(cex.axis = 2.0, cex.lab=2.0)
plot(0, type='n', xlim=c(3,25), ylim=c(0,65), axes=F, xlab="age", ylab="height");
axis(1, at=c(3,1:5 * 5), labels=c(3,1:5 * 5))
axis(2, at=0:6 * 10, labels=0:6 * 10)
for(i in 1:14)
{
data = subset(Loblolly, Loblolly$Seed == unique(Loblolly$Seed)[i])
lines(data$age, data$height, col = "red", lty=3)
}
lines(xvals,meany, lwd=3)
lines(xvals,conflims[1,])
lines(xvals,conflims[2,])
İşte bu şekilde elde edilen% 95 güven aralıklı grafik:
Bu yaklaşım geçerli mi veya doğrusal olmayan karma bir modelin tahminlerinde% 95 güven aralığını hesaplamak için başka veya daha iyi yaklaşımlar var mı? Modelin rastgele etki yapısıyla nasıl başa çıkacağından tam olarak emin değilim ... Biri belki de rastgele etki seviyelerinin üzerinde olmalı mı? Ya da şu an sahip olduğum şeye daha yakın gibi görünen ortalama bir konu için güven aralıklarına sahip olmak uygun olur mu?