stata具有异方差误差的区间回归

简介: stata具有异方差误差的区间回归

在Stata的实现中,可以使用鲁棒选项,当残差方差不恒定时,可以使用常规线性回归。使用稳健选项不会更改参数估计值,但使用三明治方差估计器计算标准误差(SE)。在这篇文章中,我将简要介绍使用稳健的区间回归的基本原理,并强调如果残差方差不是常数,与常规线性回归不同,则区间回归估计是有偏差的。


用于常规线性回归的稳健SE

在常规线性回归中,如果残差方差不是常数,则回归参数估计值仍然是无偏的,但SE则不然。处理SE中偏差的一种途径是使用Huber / White三明治SE。为了说明这一点,我们生成了一些简单的(X,Y)数据,其中Y遵循给定X的线性回归,但是残差方差是X的函数,因此违反了常数方差假设:

clear
set seed 1234
set obs 100000
gen x = 3 * runiform()
gen res_sd = exp(x)
gen y = x + res_sd * rnormal()


如果我们然后运行线性回归,首先没有robust选项,然后使用,我们获得:


. reg y x

      Source |       SS       df       MS              Number of obs =  100000
-------------+------------------------------           F(  1, 99998) = 1188.55
       Model |  78897.8401     1  78897.8401           Prob > F      =  0.0000
    Residual |  6638041.59 99998  66.3817435           R-squared     =  0.0117
-------------+------------------------------           Adj R-squared =  0.0117
       Total |  6716939.43 99999   67.170066           Root MSE      =  8.1475

------------------------------------------------------------------------------
           y |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
           x |   1.027518   .0298045    34.48   0.000     .9691014    1.085934
       _cons |  -.0177612   .0514732    -0.35   0.730    -.1186481    .0831258
------------------------------------------------------------------------------

. reg y x, robust

Linear regression                                      Number of obs =  100000
                                                       F(  1, 99998) =  713.39
                                                       Prob > F      =  0.0000
                                                       R-squared     =  0.0117
                                                       Root MSE      =  8.1475

------------------------------------------------------------------------------
             |               Robust
           y |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
           x |   1.027518   .0384705    26.71   0.000     .9521162    1.102919
       _cons |  -.0177612   .0359651    -0.49   0.621    -.0882524    .0527301
------------------------------------------------------------------------------

用于生成数据的Y和X之间的真实回归系数是1,并且我们看到out估计是无偏的(接近1),尽管非恒定的残差方差。基于模型和鲁棒SE之间的差异是由于鲁棒SE松弛恒定方差假设的事实,该假设违反了这个(大)数据集。


区间回归

如上所述,区间回归允许我们处理这样的情况:对于某些记录,结果的值未被精确观察,但受到间隔,左或右删失的影响。区间回归通过计算结果值位于已知范围内的相应概率来包括来自删失记录的似然贡献来适应这一点。例如,如果我们只知道特定记录/个体的结果值大于2,则Stata计算对应的可能性贡献。

Stata的intreg命令还允许使用鲁棒选项,这为我们提供了参数估计的抽样方差的有效估计。有人可能会合理地认为,即使错误具有非恒定方差,这样做也可以让我们获得有效的推论。然而,与常规线性回归的情况不同,事实证明,当误差具有非恒定方差时,参数估计通常是有偏差的。这是因为在似然计算中对删失观察的处理依赖于正态性的分布假设和残差的恒定方差。为了凭经验证明这一点,我们可以采用我们的模拟数据集,审查一些结果值,并使用intreg来拟合回归模型:

. replace  =2 if y>2
(38110 real changes made)

. gen depvar2=y

 (38110 real changes made, 38110 to missing)

.
 
Fitting constant-only model:

Iteration 0:   log likelihood = -247972.92
Iteration 1:   log likelihood = -236859.06
Iteration 2:   log likelihood = -236635.97
Iteration 3:   log likelihood = -236635.67
Iteration 4:   log likelihood = -236635.67

Fitting full model:

Iteration 0:   log likelihood = -248343.77
Iteration 1:   log likelihood = -236509.35
Iteration 2:   log likelihood = -236241.11
Iteration 3:   log likelihood = -236240.65
Iteration 4:   log likelihood = -236240.65

Interval regression                               Number of obs   =     100000
                                                  LR chi2(1)      =     790.03
Log likelihood = -236240.65                       Prob > chi2     =     0.0000

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
           x |  -.7679952   .0268782   -28.57   0.000    -.8206754    -.715315
       _cons |   2.222817   .0452328    49.14   0.000     2.134162    2.311471
-------------+----------------------------------------------------------------
    /lnsigma |   1.929401   .0030675   628.97   0.000     1.923389    1.935414
-------------+----------------------------------------------------------------
       sigma |   6.885387   .0211212                      6.844114    6.926908
------------------------------------------------------------------------------

  Observation summary:         0  left-censored observations
                           61890     uncensored observations
                           38110 right-censored observations
                               0       interval observations

X的截距和系数现在分别从它们的真实值0和1偏差(估计值为2.22和-0.77) - 这是非常数残差方差的结果。因此,对于标准线性回归,非常数残差方差不会偏差估计,对于区间回归则不然。我们现在可以继续使用强大的标准错误:

Fitting constant-only model:

Iteration 0:   log pseudolikelihood = -247972.92
Iteration 1:   log pseudolikelihood = -236859.06
Iteration 2:   log pseudolikelihood = -236635.97
Iteration 3:   log pseudolikelihood = -236635.67
Iteration 4:   log pseudolikelihood = -236635.67

Fitting full model:

Iteration 0:   log pseudolikelihood = -248343.77
Iteration 1:   log pseudolikelihood = -236509.35
Iteration 2:   log pseudolikelihood = -236241.11
Iteration 3:   log pseudolikelihood = -236240.65
Iteration 4:   log pseudolikelihood = -236240.65

Interval regression                               Number of obs   =     100000
                                                  Wald chi2(1)    =     751.14
Log pseudolikelihood = -236240.65                 Prob > chi2     =     0.0000

------------------------------------------------------------------------------
             |               Robust
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
           x |  -.7679952    .028022   -27.41   0.000    -.8229173   -.7130731
       _cons |   2.222817     .03622    61.37   0.000     2.151827    2.293807
-------------+----------------------------------------------------------------
    /lnsigma |   1.929401   .0062859   306.94   0.000     1.917081    1.941722
-------------+----------------------------------------------------------------
       sigma |   6.885387   .0432812                      6.801078    6.970741
------------------------------------------------------------------------------

  Observation summary:         0  left-censored observations
                           61890     uncensored observations
                           38110 right-censored observations
                               0       interval observations

在这里使用鲁棒确实在某种程度上改变了截距/常数的SE,但问题是使用鲁棒不会影响仍然存在偏差的参数估计。


结论


我们基于区间回归的估计(假设正态分布的常数方差误差)通常会有偏差。这不是区间回归本身的缺陷,而仅仅是处理审查的反映,对错误的分布假设比标准线性回归更重要。

相关文章
|
6月前
|
数据可视化
R语言极值推断:广义帕累托分布GPD使用极大似然估计、轮廓似然估计、Delta法
R语言极值推断:广义帕累托分布GPD使用极大似然估计、轮廓似然估计、Delta法
|
6月前
贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据
贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据
贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据
|
6月前
在R语言和Stan中估计截断泊松分布
在R语言和Stan中估计截断泊松分布
|
6月前
R语言异方差回归模型建模:用误差方差解释异方差
R语言异方差回归模型建模:用误差方差解释异方差
|
6月前
|
数据采集
R语言用线性模型进行臭氧预测: 加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值
R语言用线性模型进行臭氧预测: 加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值
|
6月前
|
机器学习/深度学习 算法 数据挖掘
K-均值算法
K-均值算法是发现给定数据集的k个簇的算法。簇个数k是用户给定的,每一个簇通过其簇中所有点的中心点来描述 工作流程: 首选选取样本中k个样本作为每个簇的簇中心 然后对每一个样本与每个簇之间的关系,来分配到每一个簇中 然后更新每个簇的均值
58 1
R-ggpmisc|回归曲线添加回归方程,R2,方差表,香不香?
R-ggpmisc|回归曲线添加回归方程,R2,方差表,香不香?
106 0
|
算法
线性回归模型异方差解决方法
线性回归模型异方差解决方法
448 0
【数理统计】均值检验(双侧、单侧)和区间估计
【数理统计】均值检验(双侧、单侧)和区间估计
422 0
【数理统计】均值检验(双侧、单侧)和区间估计
|
机器学习/深度学习
L4-数字特征:期望、方差、协方差、相关系数等
L4-数字特征:期望、方差、协方差、相关系数等
L4-数字特征:期望、方差、协方差、相关系数等