外观
statsmodel 回归摘要
Statsmodel Regression Summary
statsmodel 提供了最全面的回归分析摘要之一。

然而,我看到很多人 struggle 于解读这份报告中提到的关键模型细节。在本章,让我们一起来理解 statsmodel 提供的整份摘要,以及它为何如此重要。
第一部分的第一列列出了模型的设置(或配置)。这部分与模型的表现无关。

- Dependent variable:我们要预测的变量。
- Model 和 Method:我们使用 OLS 来拟合线性模型。
- Date 和 time:你懂的。
- No. of observations:数据集的大小。
- Df residuals:与残差相关的自由度。它本质上是数据点数减去模型中估计的参数数(包括截距项)。
- Df Model:表示与模型相关的自由度。它是预测变量的个数,本例中为 2——X 和 sin_X。
如果你的数据包含类别特征,statsmodel 会对它们做独热编码。但在这个过程中,它会丢弃其中一个独热编码特征。

这样做是为了避免虚拟变量陷阱,我们之前(本章)已经讨论过。
- Covariance type:这与残差分布的假设有关。
- 在线性回归中,我们假设残差具有恒定的方差(同方差性)。
- 我们用 “nonrobust” 在该假设下训练模型。
在第二列,statsmodel 提供了与整体表现相关的细节:

- R-squared:模型所捕获的原始数据变异性的比例。
- 例如,这里 0.927 表示当前模型捕获了训练数据中 92.7% 的原始变异性。
- statsmodel 报告的是输入数据上的 R²,因此你不应过度优化它。否则,会导致过拟合。
- Adj. R-squared:
- 它有点类似于 R-squared,但它还考虑了模型中预测变量(特征)的数量。
- 问题在于 R-squared 总会随着我们添加更多特征而增大。
- 所以即使我们加上完全不相关的特征,R-squared 也永远不会减小。Adj. R-squared 就是对 R-squared 这种行为的惩罚。
- F-statistic 和 Prob (F-statistic):
- 它们评估回归模型的整体显著性。
- 它们将 OLS 估计的系数与一个除截距外所有系数都为零的模型进行比较。
- F-statistic 检验自变量整体上是否对因变量有影响。
- Prob (F-statistic) 是与 F-statistic 对应的 p 值。
- 较小的 p 值(通常小于 0.05)表明模型整体在统计上是显著的。
- 这意味着至少有一个自变量对因变量有显著影响。
- Log-Likelihood:


- 它告诉我们给定数据由估计模型生成的对数似然。
- 该值越高,数据由该模型生成的可能性越大。
- AIC 和 BIC:
- 与调整后的 R-squared 类似,它们是衡量拟合优度的性能指标,同时会对复杂度进行惩罚。
- 较低的 AIC 和 BIC 值表示更好的拟合。
第二部分提供了与特征相关的细节:

coef:某个特征的估计系数。
t 和 P>|t|:
- 之前我们用 F-statistic 来判断整个模型的统计显著性。
- t-statistic 在这方面更细粒度,它判断每个单独特征的显著性。
- P>|t| 是与 t-statistic 对应的 p 值。
- 较小的 p 值(通常小于 0.05)表明该特征在统计上是显著的。
- 例如,特征 “X” 的 p 值约为 0.6。这意味着特征 “X” 对 “Y” 没有影响的概率为 60%。
[0.025, 0.975] 和 std err:
看,我们从模型得到的系数只是估计值。它们未必是生成数据的那个过程的真实系数。
那么,估计的参数带有不确定性,对吧?
注意:区间 [0.025, 0.975] 的宽度是 0.95 → 即 95%。它对应正态分布中均值两侧两个标准差之间的区域。
95% 置信区间提供了一个取值范围,你可以有 95% 的把握认为参数的真实值落在这个范围内。
例如,sin_X 的区间是 (0.092, 6.104)。所以尽管估计系数是 3.09,我们可以有 95% 的把握认为真实系数落在 (0.092, 6.104) 这个范围内。


报告最后一部分的细节用于检验线性回归的假设。

- Omnibus 和 Prob(Omnibus):
- 它们检验残差的正态性。
- Omnibus 值为零意味着残差完全正态。
- Prob(Omnibus) 是对应的 p 值。■ 本例中,Prob(Omnibus) 为 0.001。这意味着残差服从正态分布的概率只有 0.1%。
- Skew 和 Kurtosis:
- 它们也提供关于残差分布的信息。
- 偏度衡量残差分布的不对称性。■ 零偏度意味着完全对称。■ 正偏度表示分布有一个长长的右尾。这表明残差集中在较低的取值上。此时最好检查一下是否有离群点。
负偏度表示分布有一个长长的左尾。这

通常意味着特征不佳。例如,考虑用一个线性特征 (X) 去拟合一条 sin 曲线。大多数残差都会很高,从而导致负偏度。
- Durbin-Watson:
- 它衡量残差之间的自相关性。
- 当残差之间存在相关性时就会发生自相关,表明误差项之间不独立。
- 但线性回归假设残差之间不相关。
- Durbin-Watson 统计量的取值范围在 0 到 4 之间。■ 接近 2 的值表示无自相关。■ 接近 0 的值表示正自相关。■ 接近 4 的值表示负自相关。
- Jarque-Bera (JB) 和 Prob(JB):
- 它们的作用与 Omnibus 和 Prob(Omnibus) 相同——衡量残差的正态性。
- Condition Number:
- 它检验多重共线性。
- 当两个特征相关,或两个及以上特征决定另一个特征的取值时,就会出现多重共线性。
- Condition Number 的单独取值可能难以解读,所以我是这么用的:■ 把特征逐一加入回归模型,并留意 Condition Number 是否出现飙升。如上所述,这份报告的每个部分都有其重要性:
- 第一部分告诉我们模型的配置、整体表现及其统计显著性。
- 第二部分告诉我们各个特征的统计显著性,以及模型对找到真实系数的置信度等。
- 最后一部分让我们验证模型的假设,这些假设对线性回归的表现至关重要。现在你已经知道如何解读 statsmodel 的整份回归摘要了。