模拟平均gamm4模型并报告结果

时间:2016-02-16 07:35:41

标签: r gam

我使用gamm4构建了三个替代模型,并希望比较和报告我所有三个模型中表示的不同预测变量的参数估计值。我使用MuMIn来计算模型平均过程中的参数估计值。

但是,为每个变量和结水平返回参数估计值,而不是每个预测变量的总体估计值(例如,k=5时,它会将k1的参数估计值返回到k4我感兴趣的是比较每个预测因子的整体影响/重要性,因此对每个结的估计值不感兴趣。

1)有没有办法获得与每个预测因子相关的总体估计值,而不管结节水平如何?这样一来,人们可以使用这样的估计(当标准化时)来推断整体效果,就像使用' glmm')时那样。

2)一般来说,如何报告gamm4 / gamm模型或重新表述的估算值 - 这些模型中的哪些组件应该报告并且可以在模型平均中使用?

require(MuMIn)
library(gamm4)
library(mgcv)

#GENERATE DATA
dat <- gamSim(1,n=400,scale=2)
dat<-subset(dat, select=c(x0,x1,x2,x3,f) )
dat$g <- as.factor(sample(1:20,400,replace=TRUE))#random factor
dat$yb<-runif(400)#yb ranges between 0-1 hence fitted with beta family

##FITTING gamm4 MODELS
m1<-gamm4(yb~s(x0, k=5)+s(x1, k=5)+s(x2, k=5)+s(x3, k=5),family=Gamma(link='log'),data=dat,random=~(1|g))
m2<-gamm4(yb~s(x1, k=5)+s(x2, k=5)+s(x3, k=5),family=Gamma(link='log'),data=dat,random=~(1|g))
m3<-gamm4(yb~s(x0, k=5)+s(x2, k=5)+s(x3, k=5),family=Gamma(link='log'),data=dat,random=~(1|g))

#same as above BUT using a function wrapper UGamm required by model.avg function from MuMIn package

m1a<-uGamm(yb~s(x0, k=5)+s(x1, k=5)+s(x2, k=5)+s(x3, k=5),family=Gamma(link='log'),data=dat,random=~(1|g), lme4=TRUE)
m2a<-uGamm(yb~s(x1, k=5)+s(x2, k=5)+s(x3, k=5),family=Gamma(link='log'),data=dat,random=~(1|g), lme4=TRUE)
m3a<-uGamm(yb~s(x0, k=5)+s(x2, k=5)+s(x3, k=5),family=Gamma(link='log'),data=dat,random=~(1|g), lme4=TRUE)

#create a list of models
models<-list(m1a,m2a,m3a)

#average the models
average.models<-model.avg(models)

0 个答案:

没有答案