1.异方差诊断
(1)绘制残差序列图
先进行回归,然后画出残差与拟合值或者残差与自变量图,来观察异方差是否存在。命令为:rvfplot
本命令的含义是画残差与拟合值的散点图,也是默认形式的残差图。
rvpplot varname
本命令的含义是画残差与自变量x的散点图,varname可以为合理的解释变量。
绘制残差序列图观察法只是一种直观的观察,不够精确,只能作为异方差判断的一种辅助性参考,还需要结合几种检验方法综合判断。
(2)怀特检验法
怀特检验是异方差检验的常用方法,基本思路是将最小二乘估计残差的平方对模型的解释变量、解释变量平方以及解释变量交叉乘积进行回归,然后根据回归方程显著性判断是否存在异方差性。考虑如下只有两个自变量的线性回归方程:
进行怀特检验的步骤如下:
1 首先使用OLS方法估计线性回归方程,并得到残差序列 。
2 以 为因变量,原线性回归方程中的自变量和自变量的平方项作为新的自变量,也可以加上任意两个自变量的交互项,建立怀特检验的辅助回归方程:
3 计算辅助回归方程的拟合优度 R 2 。怀特检验的原假设是原回归模型的残差不存在异方差。在原假设成立的条件下,怀特检验的统计量及其渐近分布为:
在公式中, n 是样本容量, k 是辅助回归方程中除常数项以外解释变量的个数。如果 x 2 ( k )的值大于给定检验水平对应的临界值或 x 2 ( k )的值相应的显著性P值小于显著性水平,则拒绝原假设 H 0 ,也就是认为存在异方差。
怀特检验的命令为:
estat imtest, white
(3)BP检验法
BP检验是一种常用的检验异方差的方法,在对模型的基本回归结束后,需要在命令窗口中重新输入以下3个命令中的一个:
estat hettest,iid
使用回归模型得到的拟合值来检验数据是否存在异方差。
estat hettest,rhs
用回归模型右边的解释变量来检验数据是否存在异方差,不包括 。
estat hettest [varlist]
使用指定的解释变量列表varlist检验数据是否存在异方差,但是不能加入被解释变量 y 。
2.异方差处理
(1)使用的稳健标准差进行最小二乘回归分析
该方法通常适用于大样本,命令是:
reg y x1 x2…, robust
从命令的形式上看,与普通最小二乘法的区别是后面加上了robust选项,表示在模型估计中采用的是稳健标准差。
(2)使用加权最小二乘回归分析
命令为:
reg y x1 x2…, [aweight=…]
aweight为权重设置。
(3)Heteroskedastic(异方差)线性回归
在Stata 16.0中可以使用命令hetregress让用户处理异质性回归,允许用户对异方差建模,其中方差是协变量的指数函数。
如果正确地指定了方差模型,将方差建模为指数函数还可以产生更有效的参数估计。
hetregress对方差进行了两种估计:最大似然(ML)估计和两步GLS估计。如果正确地指定了均值和方差函数,并且误差是呈正态分布的,则最大悠然估计比GLS估计更有效。如果方差函数不正确或误差不正常,两步GLS估计更可靠。
最大似然估计的命令及其语法格式为:
hetregress depvar [indepvars] [if] [in] [weight] [,ml_options]
其中[if] 为条件表达式,[in]用于设置样本范围,[weight]用于设置权重,[,ml_options]为可选项。
两步GLS估计的命令及其语法格式为:
hetregress depvar [indepvars] [if] [in], twostep het(varlist)[ts_options]
其中[if]为条件表达式,[in]用于设置样本范围,[weight]用于设置权重,[ts_options]为可选项。