如何为有界目标变量建模?


17

我有5个变量,我试图预测目标变量,该变量必须在0到70的范围内。

如何使用这些信息更好地为目标建模?

Answers:


21

您不必做任何事情。预测变量可能会正常工作。即使预测变量外推到范围之外的值,也可能将预测限制在范围内(即使用而不是\ hat {y})好。对模型进行交叉验证,看是否可行。max(0,min(70,y^))y^

但是,限制范围增加了因变量(y)和自变量(xi)之间存在非线性关系的可能性。其他一些指标包括:

  • y^在其范围的中间时相比,残差值的更大变化要比该范围任一端的残差变化大。

  • 特定非线性关系的理论原因。

  • 模型错误指定的证据(以通常的方式获得)。

  • x_i中二次项或高阶项的意义xi

考虑这些条件中的任何一个成立的情况下,y的非线性重新表达y

有很多方法可以重新表达y以与x_i建立更多线性关系xi。例如,间隔[0,70]上定义的任何递增函数f都可以通过y \ to f(y)-f(70-y)进行“折叠”以创建对称的递增函数。如果f随其参数接近0而变得任意大且为负,则f的折叠形式会将[0,70]映射到所有实数中。此类函数的示例包括对数和任何负幂。使用对数等效于@ user603建议的“ logit链接”。另一种方法是让Gf[0,70]yf(y)f(70y)f0f[0,70]G是任何概率分布的逆CDF并定义f(y)=G(y/70)。使用正态分布给出了“概率”变换。

利用变换族的一种方法是进行实验:尝试进行可能的变换,针对对变换后的进行快速回归,然后测试残差:它们应与的预测值无关(同构且不相关) 。这些是与自变量线性关系的迹象。如果逆变换后的预测值的残差趋于较小,这也有帮助。这表明变换已改善了拟合度。为了抵制离群值的影响,请使用健壮的回归方法,例如迭代地加权最小二乘法yxiy


1
+1好答案!您是否可以外推或引用为什么“当y_hat处于其范围的中间时,与范围两端的残差变化相比,残值的较大变化”表示非线性?
安迪·麦肯齐

1
@Andy从理论上讲,这种异方差与非线性没有直接关系,但是在实践中,经常观察到方差稳定化的转换趋于使关系线性化。从最小值(如0)到最大值(如70)连续上升的任何曲线都会在该范围的中间某处具有最大斜率,这通常也导致较大的残留方差。这就是为什么我们希望看到残差在中间显示更多方差,而在末端显示更少方差。如果是没有的情况下,希望对大家能有线性关系,未转换的变量。
ub

5

重要的是要考虑为什么您的值限制在0-70范围内。例如,如果它们是70个问题测验中正确答案的数量,则应考虑“成功数量”变量的模型,例如过度分散的二项式回归。其他原因可能会导致您使用其他解决方案。


2

数据转换:重新缩放数据以使其位于,并使用具有logit链接的glm模型对其进行建模。[0,1]

编辑:重新缩放向量时(即,将所有元素除以最大的项),通常,在执行此操作之前,请筛选(眼球)异常值。

更新

假设您有权使用R,我将使用健壮的 glm例程携带建模部分,请参见包中的。glmrob()robustbase


3
按此处推荐的方式钳位数据将使斜率出现偏差。
ub

1
同样,当先验地知道数据的真实范围时,我看不到基于样本分位数进行钳位的立即值。
主教

@Cardinal关键是(例如)可能有99%的数据位于[0,1]中,而其余值等于70:对范围的紧凑约束不能确保没有异常值!因此,尽管我担心提议的方法可能存在偏差,但我同意@ user603提供的建议的精神。
ub

@whuber:在这种情况下,我倾向于使用能够抵抗异常值的GLM,而不是这种形式的夹紧。然后让模型拟合通过“截距”和“斜率”系数进行调整。
主教

@Cardinal是的,这是一个有效的解决方案。我希望使用这样的GLM仍然可以通过诊断程序来检查(近似)线性和残差的独立性。
ub
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.