使用R中的lmer()更正混合模型设计的格式

时间:2012-09-05 13:13:52

标签: r lm lme4

我正在尝试使用lmer()确定混合效果模型的正确格式。下面的三个模型都试图达到同样的目的 - 一个简单的固定效果模型 - 所以两个必定是错误的。

在模型中,shoppers是有关商业中心消费者支出的数据。存在一般的反平方距离关系,描述了消费者如何从中心分配。这反映在gravity模型中,该矩阵对较近的区域区域进行加权,使得区域区域比距离更远的区域更加模拟距离的影响。住宅区的Population大小也给出了。我认为r3应该是正确的格式,但它会产生比r2更高的AIC分数。知道为什么会这样,哪个是正确的?

> r1 <- lmer(shoppers / gravity ~ population + (1 | District), data = d)
> r2 <- lmer(shoppers * gravity ~ population + (1 | District), data = d)
> r3 <- lmer(shoppers ~ gravity / population + (1 | District), data = d)
> 
> summary(r1)@AICtab
      AIC      BIC    logLik deviance  REMLdev
 38154.25 38180.12 -19073.12 38132.84 38146.25
> summary(r2)@AICtab
      AIC     BIC    logLik deviance  REMLdev
 6504.574 6530.45 -3248.287 6470.837 6496.574
> summary(r3)@AICtab
      AIC     BIC    logLik deviance  REMLdev
 14965.16 14997.5 -7477.579 14933.57 14955.16

非常感谢提前!

1 个答案:

答案 0 :(得分:1)

您的模型shoppers ~ gravity / population + (1 | District)使用shoppers作为因变量,gravity的主要影响以及gravitypopulation之间的互动(gravity:population )作为两个固定效应:

model1 <- lmer(shoppers ~ gravity / population + (1 | District), data = d)

如果您想测试交互,您的模型也应该包含相应的主效果。

如果您想要测试gravity除以population的结果作为单个固定效果的效果,请使用以下公式:

model2 <- lmer(shoppers ~ as.numeric(gravity / population) + (1 | District), data = d)

也许您想尝试模型shoppers ~ gravity * population + (1 | District)。此模型中有三种固定效果:gravitypopulation的主要影响以及这些变量之间的相互作用(gravity:population):

model3 <- lmer(shoppers ~ gravity * population + (1 | District), data = d)

模型的选择应取决于基础理论和您的问题/假设。

由于这些模型使用相同的因变量(shoppers),即它们在~符号左侧相同,因此您可以比较AIC值。

anova(model1, model2, model3)