Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何计算广义线性混合效应模型的中值绝对偏差(MAD)_R_Lme4_Mixed Models - Fatal编程技术网

R 如何计算广义线性混合效应模型的中值绝对偏差(MAD)

R 如何计算广义线性混合效应模型的中值绝对偏差(MAD),r,lme4,mixed-models,R,Lme4,Mixed Models,我知道我的问题与统计数据有关,但我正在R中寻找解决方案,因此我相信它适合这样做 我使用R中lme4包中的glmer函数构建了一个广义线性混合效应模型(GLMM),以Zuur等人(2009)的重要解释变量为基础,对水产养殖场周围的物种丰富度进行建模。模型是: Mod1 <- glmer(Richness ~ Distance + Depth + Substrate + Beggiatoa + Distance*Beggiatoa + (1|Site/transect), f

我知道我的问题与统计数据有关,但我正在
R
中寻找解决方案,因此我相信它适合这样做

我使用
R
lme4
包中的
glmer
函数构建了一个广义线性混合效应模型(GLMM),以Zuur等人(2009)的重要解释变量为基础,对水产养殖场周围的物种丰富度进行建模。模型是:

Mod1 <- glmer(Richness ~ Distance + Depth + Substrate + Beggiatoa + 
        Distance*Beggiatoa + (1|Site/transect), family = poisson, data = mydata)
有人知道这里出了什么问题吗?是否
stats
中的
mad
无法计算GLMMs?如果是,是否有另一个
R
包可以从GLMMs计算mad?

编辑:

为了让您了解我的数据,这里是来自
dput(head(mydata))
的输出,还请注意,新数据集中没有“衬底”类别,“s”指的是“丰富性”:

对于样本内误差,中位数绝对偏差计算仅为

mad(residuals(fitted_model))
。。。您可能需要
残差(fitted_model,type=“response”)
,因为
残差默认情况下会给您偏差残差(请参见
?residuals.merMod

如果要查看样本外错误,可以执行以下操作:

pred <- predict(fitted_model,
                newdata = newdf,
                type = "response",
                re.form=~0)
mad(pred, center=newdf$S)

pred
mydata
看起来像什么?你能发布
dput(head(mydata))
给我们一个感觉吗?听起来R试图将非数据帧的部分子集。@jdobres感谢您的关注。我刚刚用要求的信息更新了我的问题。
mad
用于原始数据。它接受一个数字向量,而
glmer
的结果将是一个列表对象。另外,您的示例数据不包含“丰富性”列。@jdobres再次感谢。“丰富性”在我的数据中被称为“S”,我只是在我的问题中解释清楚了。如果
mad
函数仅用于原始数据,是否有函数计算
glmer
的中值绝对偏差,或者我正在尝试计算无法从
glmer
计算的值?请将您的问题编辑为“我如何计算mad”,而不是“寻找要-因此,不推荐请求非现场资源的问题。(如果答案是“使用软件包xxx”,那没关系。)谢谢你的回答和编辑,这就是我想要的。因此,如果我理解得很好,我会将原始数据集(样本内错误)上的模型中的
mad
与新数据集(样本外错误)上的
mad
进行比较,对吗?我真的不知道,我自己也没有将mad用作标准。好的,谢谢,我会验证这一点。如果您对在新数据集上评估模型性能有其他建议,欢迎您回答或评论我的简历问题!更改OOS答案中的
center=
是否仍然返回中值,或者其他值?
mad(residuals(fitted_model))
pred <- predict(fitted_model,
                newdata = newdf,
                type = "response",
                re.form=~0)
mad(pred, center=newdf$S)