线性模型异方差

机器算法验证 回归 数据转换 线性模型 异方差
2022-03-17 17:19:04

我有以下线性模型:

线性模型残差 观测分布

为了解决残差异方差性,我尝试对因变量应用对数变换为,但我仍然看到对残差的扇出效应相同。DV 值相对较小,因此在这种情况下,取对数之前的 +1 常数加法可能不合适。log(Y+1)

> summary(Y)
Min.   :-0.0005647  
1st Qu.: 0.0001066  
Median : 0.0003060  
Mean   : 0.0004617  
3rd Qu.: 0.0006333  
Max.   : 0.0105730  
NA's   :30.0000000

如何转换变量以改善预测误差和方差,特别是对于最右边的拟合值?

3个回答

你的目标是什么?我们知道异方差不会影响我们的系数估计;它只会使我们的标准错误不正确。因此,如果您只关心模型的拟合度,那么异方差无关紧要。

如果您使用加权最小二乘法,您可以获得更有效的模型(即标准误差较小的模型)。在这种情况下,您需要估计每个观测值的方差,并通过该观测值特定方差的倒数对每个观测值加权(对于 的weights参数lm)。此估算过程会更改您的估算。

或者,要在不更改估计值的情况下纠正异方差的标准误,您可以使用稳健标准误。有关R应用程序,请参阅包sandwich

使用对数转换可能是纠正异方差的好方法,但前提是您的所有值都是正数并且新模型提供了相对于您所问问题的合理解释。

您会想尝试Box-Cox 转换这是一个权力转换的版本:

y{yλ1λ(y˙)λ1,λ0y˙lny,λ=0
其中是数据的几何平均值。当用作响应变量的变换时,它的名义作用是使数据更接近正态分布,而偏度是数据可能看起来不正常的主要原因。我对您的散点图的直觉是它需要应用于(某些)解释变量和响应变量。y˙

一些较早的讨论包括除了平方根、对数等常见的转换之外,还有哪些常用的标准化转换?以及我应该如何转换包括零在内的非负数据?. 您可以在如何在 R 中搜索统计过程?

在 Halbert White (1980) 关于建立对异方差稳健的推理程序的开创性工作之后,计量经济学家停止了对异方差的困扰(实际上这只是重述了统计学家 F. Eicker (1967) 的早期故事)。请参阅我刚刚重写的维基百科页面

对于与时间序列数据中的因变量相关的异方差问题,有一个非常简单的解决方案。我不知道这是否适用于您的因变量。假设它是,而不是使用名义 Y 将其更改为当前期间与上一期间相比 Y 的百分比变化。例如,假设您的名义 Y 是当前时期 14 万亿美元的 GD​​P。相反,计算最近一段时间内 GDP 的变化(比如说 2.5%)。

名义时间序列总是增长并且总是异方差的(误差的方差随着时间的推移而增长,因为值增长)。百分比变化系列通常是同方差的,因为因变量几乎是平稳的。