【问题标题】:How to rectify heteroscedasticity for multiple linear regression model如何纠正多元线性回归模型的异方差性
【发布时间】:2020-03-06 17:36:09
【问题描述】:

我正在拟合具有 6 个预测变量(3 个连续变量和 3 个分类变量)的多元线性回归模型。残差与拟合图表明存在异方差性,也被bptest()证实。

summary of sales_lm

rediduals vs. fitted plot

我还计算了我的训练数据和测试数据的 sqrt,如下所示:

sqrt(mean(sales_train_lm_pred-sales_train$SALES)^2)

23533.665

 sqrt(mean(sales_test_lm_pred-sales_test$SALES)^2)

23556.036

我试图拟合 glm() 模型,但仍然没有纠正异方差性。

 glm.test3<-glm(SALES~.,weights=1/sales_fitted$.resid^2,family=gaussian(link="identity"), data=sales_train)

resid vs. fitted plot for glm.test3 看起来很奇怪。 glm.test3 plot

你能帮我下一步该怎么做吗?

提前致谢!

【问题讨论】:

  • 第一个建议是以log 比例转换数据并执行相同的分析。二是取一阶差分,进行同样的分析。

标签: r model linear-regression


【解决方案1】:

您观察到数据的异方差性意味着方差不是平稳的。您可以尝试以下方法:

1) 将带有合适lambda 的单参数Box-Cox transformation(其中对数变换是一种特殊情况)应用于数据集中的一个或多个变量。最佳lambda 可以通过查看其对数似然函数来确定。看看MASS::boxcox

2) 使用您的功能集(减少、增加、添加新变量)。

2) 使用加权线性回归方法。

【讨论】:

  • 非常感谢你们两位,我尝试以对数比例转换我的数据,Box-Cox 转换,也减少/增加变量,但不适用于我的数据。接下来我将尝试使用加权线性回归方法。我是新手,想弄清楚。
  • @Aifen 没问题。如果您喜欢这个答案,请考虑支持或接受。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-23
  • 2021-12-20
  • 1970-01-01
  • 2016-09-06
  • 2023-02-11
相关资源
最近更新 更多