我试图使用基于谢弗物流曝光方法来运行巢生存模型中使用的收缩数据,2004年我有一系列的参数,并希望比较所有可能的模式,然后用Burnham和Anderson在2002年估算的模型平均参数。然而,我很难找出如何估计收缩调整参数的置信区间。计算置信区间模型的平均R中
是否有可能估计置信区间使用收缩估计模型平均参数?我可以很容易地使用model.average $ coef.shrinkage提取模型平均参数的平均估计值,但我不清楚如何得到相应的置信区间。
任何帮助表示衷心感谢。我目前正在使用MuMIn软件包,因为我在链接功能方面遇到了AICcmodavg错误。
下面是我使用的代码的简化版本:
library(MuMIn)
# Logistical Exposure Link Function
# See Shaffer, T. 2004. A unifying approach to analyzing nest success.
# Auk 121(2): 526-540.
logexp <- function(days = 1)
{
require(MASS)
linkfun <- function(mu) qlogis(mu^(1/days))
linkinv <- function(eta) plogis(eta)^days
mu.eta <- function(eta) days * plogis(eta)^(days-1) *
.Call("logit_mu_eta", eta, PACKAGE = "stats")
valideta <- function(eta) TRUE
link <- paste("logexp(", days, ")", sep="")
structure(list(linkfun = linkfun, linkinv = linkinv,
mu.eta = mu.eta, valideta = valideta, name = link),
class = "link-glm")
}
# randomly generate data
nest.data <- data.frame(egg=rep(1,100), chick=runif(100), exposure=trunc(rnorm(100,113,10)), density=rnorm(100,0,1), height=rnorm(100,0,1))
nest.data$chick[nest.data$chick<=0.5] <- 0
nest.data$chick[nest.data$chick!=0] <- 1
# run global logistic exposure model
glm.logexp <- glm(chick/egg ~ density * height, family=binomial(logexp(days=nest.data$exposure)), data=nest.data)
# evaluate all possible models
model.set <- dredge(glm.logexp)
# model average 95% confidence set and estimate parameters using shrinkage
mod.avg <- model.avg(model.set, beta=TRUE)
(mod.avg$coef.shrinkage)
如何提取任何想法/生成相应的置信区间?
由于 艾米
这是一些非常酷的造型:
的代码从以上可以上。我没有完全理解这一点,但我认为你知道mod.avg $ avg.model返回CIs,并且你正在询问使用收缩的估计值,如果我理解正确,那些估计值就不是。而对于model.avg帮助使用这个配置项,但我真的不知道什么cumsum(重量)ARG做:confint(model.avg(model.set,cumsum(重量)<= 0.95)) – MattBagg
思考更多的是,这个问题可能在交叉验证(stats.stackexchange.com)中得到更好的关注,它实际上有一个缩小标签。就这个问题涉及在这种类型的模型中估计CI的适当方法而言,这是一个统计问题而不是编码问题。 – MattBagg
谢谢@ mb3041023。 'cumsum(weight = x)'参数将模型平均中包含的模型限制为累计权重等于x的模型。不幸的是'confint'不使用收缩,但我想出了一个黑客,我认为在卢卡奇,P. M.,伯纳姆,K. P.,&安德森,D。R.(2009)基于方程的5部作品。模型选择偏差和弗里德曼的悖论。统计数学研究所年鉴,62(1),117-125。代码包含在单独的评论中。也感谢关于交叉验证的单挑。 – nzwormgirl