方差不等的回归建模

机器算法验证 r 广义线性模型 线性模型 异方差 无游戏
2022-01-24 14:08:23

我想拟合一个线性模型(lm),其中残差方差明显取决于解释变量。

我知道这样做的方法是使用带有 Gamma 族的 glm 对方差进行建模,然后将其倒数放入 lm 函数中的权重中(例如: http: //nitro.biosci.arizona.edu/r/chapter31 .pdf )

我在想:

  • 这是唯一的技术吗?
  • 还有哪些相关的方法?
  • 与这种类型的建模相关的 R 包/功能是什么?(除 glm、lm 外)
3个回答

对抗“扩音器效应”的药丸包括(除其他外):

  1. 使用对数或平方根变换 这并不准确,但有时它会缓和扩大。Y
  2. 使用加权最小二乘回归在这种方法中,每个观测值都有自己的方差因子。这个答案显示了如何在 R 中使用 WLSR(例如,如果残差的方差与均值成正比,您可以在未加权模型中提供拟合值的倒数作为权重)。
  3. 使用稳健回归。R包rlm()MASS的函数进行 M 估计,这应该对方差不等式具有鲁棒性。

2017 年 7 月编辑:正如 Greg Snow 的回答所建议的,广义最小二乘似乎是最好的选择之一。

R包中的gls函数nlme可以同时估计回归和与方差的关系。请参阅weights帮助页面上的参数和第二个示例。

使用gamlss包,您可以将响应的误差分布建模为解释变量的线性、非线性或平滑函数。这似乎是一种非常强大的方法(我学到了很多关于模型选择过程中可能出现的所有可能性),并且在上面链接中引用的几本出版物(包括书籍)中很好地解释了一切。