如何建模变量,而不是我们观察区间的值?

机器算法验证 回归 参考 序数数据 间隔审查
2022-03-16 14:25:11

考虑一种情况,我们观察变量范围,而不是观察实际变量值。可能的范围值可以被枚举(即可以是一组固定的值,例如固定的年龄组范围)或可以是特定于观察的(并且可能重叠)。

在前一种情况下,变量可以被视为序数变量(根据@whuber 的评论,将此变量视为序数变量似乎是不必要的限制)。后一种情况是否有类似的可能?有没有其他方法可以分析这些数据?


我对分析区间数据变量的一般处理感兴趣 - 作为模型的输出变量和输入变量。此外,是否有任何针对此类变量的探索性数据分析方法。

2个回答

在 Stata 中,这两种情况都可以用区间回归命令来处理intreg,它是 Tobit 的泛化。它可以处理点、区间或左/右删失数据(或它们的混合)。它确实假设错误项正常,但如果您的数据需要并允许,日志转换通常可以工作。

我不确定是否有罐装的非 Stata 实现,但在手动链接的末尾有公式和参考。这是一个相当简单的似然函数,应该很容易最大化。在第一种情况下,使用对数似然值的有序概率方法和区间回归之间也有很好的比较。

这是一个非常简单的模拟N=5000,Y=α+βX+ε=12+1X+N[0,1]

#delimit;
clear all;

set seed 10011979;
set obs 5000;

gen x = rnormal();
gen ystar = 0.5 + 1*x + rnormal();
gen ylb = ystar - int((5-1)*runiform());
gen yub = ystar + int((5-1)*runiform());

intreg ylb yub x;

每个观测值都有一个可变区间,该区间是通过将随机均匀数加/减到真值而构成的,因此区间可能会重叠。数据基本上是这样的:

前 10 次观察

如您所见,2 个观察值是未经审查的(即点数据)。

输出是:

Interval regression                               Number of obs   =    5000
                                                  LR chi2(1)      =    2102.49 
Log likelihood = -3580.5326                       Prob > chi2     =     0.0000


------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
           x |    .979912   .0192016    51.03   0.000     .9422775    1.017546
       _cons |   .4757097   .0190327    24.99   0.000     .4384063    .5130131
-------------+----------------------------------------------------------------
    /lnsigma |   .0336532   .0143186     2.35   0.019     .0055893    .0617171
-------------+----------------------------------------------------------------
       sigma |   1.034226   .0148086                      1.005605    1.063661
------------------------------------------------------------------------------

  Observation summary:         0  left-censored observations
                             326     uncensored observations
                               0 right-censored observations
                            4674       interval observations

似乎所有参数,包括误差的标准偏差,都非常接近真实值。

您正在寻找区间回归:在 R 中,您可以使用 此处解释的生存包

或者您可以使用 intReg 函数尝试使用intReg