【问题标题】:Standardisation in MuMIn package in RR中MuMIn包中的标准化
【发布时间】:2014-09-23 10:41:03
【问题描述】:

我正在使用 R 中的“MuMIn”包来选择模型并计算输入变量(rain、brk、onset、wid)的效应大小。为了使变量之间的效果大小具有可比性,我使用 arm 包中的标准化函数对它们进行了标准化。这是我正在关注的代码:

参考请参考本文附录:http://onlinelibrary.wiley.com/doi/10.1111/j.1420-9101.2010.02210.x/full 格鲁伯等人。 2011:生态和进化中的多模型推理:挑战和解决方案

data1<-read.csv("data.csv",header=TRUE)       #reads the data

global.model<-lmer(yld.res ~ rain + brk + onset + wid + (1|state),data=data1,REML="FALSE")               # prepares a global model

stdz.model <- standardize(global.model,standardize.y = FALSE)          # standardise the input varaibles 

model.set <- dredge(stdz.model)      ### generates the full submodel set

top.models <- get.models(model.set, subset= delta<2)   # selects models with delta AIC <2

model.avg(top.models)       # calculates the average effect size of input variables

这是model.avg(top.models) 的结果,它给出了每个输入变量的平均效果大小

Coefficients: 
         (Intercept)     brk         rain         wid        onset
subset -4.281975e-14   -106.0919   51.54688    39.82837    35.68766

我阅读了标准化函数的工作原理——减去均值并除以 2SD。

我的问题是:既然我已经标准化了输入变量,那么效果大小不应该在 -1 到 1 之间吗?或者输出显示的效果大小是否正确?

请指教

非常感谢

【问题讨论】:

    标签: r lme4 standardized mumin


    【解决方案1】:

    这更像是一个统计问题而不是编程问题,但是:您只标准化了预测变量,而不是响应变量(您指定了standardize.y=FALSE);因此,您的每个系数都代表预测变量中每 2 个 SD 变化的响应的预期变化(以响应的单位!)。如果响应的范围很大(在您的示例中必须如此),那么可能会有很大的变化。例如,如果我正在分析以毫克为单位测量的大象体重的变化,我可以预期对预测变量(例如性别、年龄、食物供应)的合理微小变化的响应会有非常大的变化。如果您想要真正的无量纲/无单位效应大小,您可能应该使用standardize.y=TRUE。即使是无量纲效应也不一定限制在 -1 和 +1 之间,但它们如此之大令人惊讶。

    顺便说一句,我认为您的standardize 函数来自arm 包,而不是来自MuMIn (library("sos"); findFn("standardize",sortby="Function))。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-13
      • 2013-02-19
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      相关资源
      最近更新 更多