1

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

但是,返回每个变量和节点级别的参数估计值,而不是每个预测变量的总体估计值(例如,当 时k=5,它返回k1to 的参数估计值k4。除此之外,我感兴趣的是比较每个预测变量的整体效果/重要性因此对每个结的估计不感兴趣。

1)有没有办法获得与每个预测变量相关的总体估计,而不管节点级别如何?这样人们就可以使用这样的估计(标准化时)来推断整体效果,就像使用“glmm”时所说的那样)。

2)一般来说,一个模型应该如何报告估计gamm4gamm改写 - 这些模型中的哪些组件应该报告,这些组件可以用于模型平均吗?

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)
4

0 回答 0