我知道这个话题在这里之前已经提出过很多次了,但是我仍然不确定如何最好地解释我的回归输出。
我有一个非常简单的数据集,由一列x值和一列y值组成,并根据位置(位置)分为两组。要点看起来像这样
一位同事假设,我们应该将单独的简单线性回归拟合到每个组,我已经使用进行了拟合y ~ x * C(loc)
。输出如下所示。
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.873
Model: OLS Adj. R-squared: 0.866
Method: Least Squares F-statistic: 139.2
Date: Mon, 13 Jun 2016 Prob (F-statistic): 3.05e-27
Time: 14:18:50 Log-Likelihood: -27.981
No. Observations: 65 AIC: 63.96
Df Residuals: 61 BIC: 72.66
Df Model: 3
Covariance Type: nonrobust
=================================================================================
coef std err t P>|t| [95.0% Conf. Int.]
---------------------------------------------------------------------------------
Intercept 3.8000 1.784 2.129 0.037 0.232 7.368
C(loc)[T.N] -0.4921 1.948 -0.253 0.801 -4.388 3.404
x -0.6466 0.230 -2.807 0.007 -1.107 -0.186
x:C(loc)[T.N] 0.2719 0.257 1.057 0.295 -0.242 0.786
==============================================================================
Omnibus: 22.788 Durbin-Watson: 2.552
Prob(Omnibus): 0.000 Jarque-Bera (JB): 121.307
Skew: 0.629 Prob(JB): 4.56e-27
Kurtosis: 9.573 Cond. No. 467.
==============================================================================
从系数的p值来看,位置和交互项的虚拟变量与零没有显着差异,在这种情况下,我的回归模型实质上减少为上图中的红线。对我来说,这表明将单独的线拟合到两组可能是一个错误,而更好的模型可能是整个数据集的一条回归线,如下所示。
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.593
Model: OLS Adj. R-squared: 0.587
Method: Least Squares F-statistic: 91.93
Date: Mon, 13 Jun 2016 Prob (F-statistic): 6.29e-14
Time: 14:24:50 Log-Likelihood: -65.687
No. Observations: 65 AIC: 135.4
Df Residuals: 63 BIC: 139.7
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [95.0% Conf. Int.]
------------------------------------------------------------------------------
Intercept 8.9278 0.935 9.550 0.000 7.060 10.796
x -1.2446 0.130 -9.588 0.000 -1.504 -0.985
==============================================================================
Omnibus: 0.112 Durbin-Watson: 1.151
Prob(Omnibus): 0.945 Jarque-Bera (JB): 0.006
Skew: 0.018 Prob(JB): 0.997
Kurtosis: 2.972 Cond. No. 81.9
==============================================================================
在我看来,这看起来不错,并且所有系数的p值现在都很重要。然而,AIC的第二个模型是多比第一高。
我认识到,模型的选择大约是超过刚刚 p值或只是在AIC,但我不知道怎么利用这一点。请问有人可以提供有关解释此输出并选择适当模型的任何实用建议吗?
在我看来,单条回归线看起来还可以(尽管我意识到它们都不是特别好),但似乎似乎至少有一些理由可以拟合单独的模型(?)。
谢谢!
编辑以回应评论
@Cagdas Ozgenc
两行模型使用Python的statsmodels和以下代码进行拟合
reg = sm.ols(formula='y ~ x * C(loc)', data=df).fit()
据我了解,这实际上只是此类模型的简写
其中是代表位置的二进制“虚拟”变量。实际上,这实际上只是两个线性模型,不是吗?当,,模型简化为
这是上图中的红线。当,,模型变为
这是上图中的蓝线。该模型的AIC将自动在statsmodels摘要中报告。对于单线模型,我只是使用了
reg = ols(formula='y ~ x', data=df).fit()
我认为可以吗?
@ user2864849
我不认为单线模型显然更好,但我确实担心的回归线约束得。这两个位置(D和N)在空间上相距很远,如果从中间产生的点的某个位置收集大致在我已经拥有的红色和蓝色星团之间绘制的其他数据,我也不会感到惊讶。我还没有任何数据可以支持这一点,但是我不认为单行模型看起来太可怕了,我想让事情尽可能简单:-)
编辑2
仅出于完整性考虑,以下是@whuber建议的残差图。从这个角度来看,两线模型确实看起来要好得多。
两线模型
一线模式
谢谢大家!