【发布时间】:2020-05-18 15:59:46
【问题描述】:
对于简单的回归模型,我们可以使用残差图来检查线性模型是否适合在预测变量和响应之间建立关系(通过检查残差是否随机分布)。
但是,当我们有多个预测变量和一个响应时(即对于多元线性回归模型),是否有类似的方法来检查线性回归是否适用?
【问题讨论】:
-
回归误差的直方图应显示近似正态分布。
标签: python machine-learning regression data-science
对于简单的回归模型,我们可以使用残差图来检查线性模型是否适合在预测变量和响应之间建立关系(通过检查残差是否随机分布)。
但是,当我们有多个预测变量和一个响应时(即对于多元线性回归模型),是否有类似的方法来检查线性回归是否适用?
【问题讨论】:
标签: python machine-learning regression data-science
同样的直觉适用于您有多个预测变量的情况。 (您可以搜索“多元”或“多元”回归,因为人们往往不同意何时使用哪个术语)。
该理论的简要说明是这样的:您希望“部分排除”其他预测变量对响应的影响,以便查看仅感兴趣的预测变量的影响。为此,您必须首先隔离除您选择的预测变量之外的任何预测变量的影响(自然是通过回归),然后获得残差。但是,由于您需要了解所有其他预测变量对您感兴趣的变量的影响,因此您必须对感兴趣的变量与所有其他变量进行回归,从而获得第二组残差。将它们相互绘制显示了一些关于您的响应和您感兴趣的变量之间可能的(非)线性关系的信息。
更具体地说,考虑一个具有两个预测变量和一个截距的回归方程:
y = x_0 + x_1*B_1 + x_2*B_2 + u
假设我们想要获得x_1 的部分残差。首先,在x_0 和x_2 上回归y。这会给你一个合适的y,显然不包括x_1。这将为您提供y 中未被x_1 预测的部分;让我们称之为y^。现在您需要从该回归中获取残差:y* = y - y^。
但您随后需要估计其他预测变量对感兴趣的预测变量的影响。在这种情况下,您需要在x_0 和x_2 上回归x_1。这是其他变量预测的x_1 的数量;打电话给x_1^。与响应残差类似,获取x_1* = x_1 - x_1^。
现在,只需将y* 与x_1* 对比以查看关系。
This page 可能是您的一个很好的参考。
在 python 中,statsmodels 包有一个plot_ccpr 函数,该函数将绘制部分残差和拟合线。完整的描述是here。
【讨论】: