可决系数(Coefficient of Determination)

在scikit-learn中定义的回归问题模型评价指标有:

explained_variance_score(explained_variance)
mean_absolute_error(MAE)
mean_squared_error(MSE)
mean_squared_log_error(MSLE)
median_absolute_error(MedAE)
r2_score($R^2$)

可决系数$R^2$是评价回归模型好还的重要指标之一,本文介绍它的数学基础。

符号说明

符号 涵义
$x_i$ 样本特征特征,自变量
$y_i$ 样本$x_i$ 的观察值,因变量
$\hat{y}_i$ 回归模型对于样本$x_i$ 的预测值
$\bar{y}$ 所有样本观察值(因变量)的平均值 ${\bar {y}}={\frac {1}{n}}\sum _{i=1}^{n}y_{i}$

可决系数推导过程

离差平方和:因变量$y$相对于其均值的差异:$\sum_i(y_i- \bar{y})^2$ 。

对离差平方和进行如下分解:
$$
\begin {aligned}
\sum_i(y_i- \bar{y})^2 &= \sum_i\{(y_i - \hat{y})+(\hat{y}_i-\bar{y})\}^2 \\
&=\sum_i(y_i - \hat{y}_i)^2 +\sum_i(\hat{y}_i-\bar{y})^2 + \sum_i2(y_i - \hat{y}_i)(\hat{y}_i-\bar{y}) \\
&=\sum_i(y_i - \hat{y}_i)^2 + \sum_i(\hat{y}_i-\bar{y})^2
\end {aligned}
$$

上式中等号两边分别定义如下:

总体离差平方和: $SST = \sum_i(y_i- \bar{y})^2$ 反应因变量的观察值与其均值的总体离差

回归平方和: $SSR= \sum_i(\hat{y}_i-\bar{y})^2=\sum_i(\beta x_i-\bar{y})^2$ 因变量的理论值与样本均值的离差,即有$x$ 与$\hat y$之间的线性关系引起的$\hat y$的取值的变化。也就是回归模型能够解释的离差

残差平方和:$SSE=\sum_i(y_i - \hat{y}_i)^2\sum_i e_i^2$ 反应除$x$与$\hat y$的线性关系以外的其他因素对$y$的取值的影响,及残差

可决系数:
$$
R^2=\frac{SSR}{SST} = 1-\frac{SSE}{SST}
$$

可决系数总结

可决系数反应了线性回归模型能够解释的离差占总离差的比例,即模型的好坏。

  • $R^2 \in [0,1]$,对于可决系数的改进型,ajusted $R^2$可能出现小于0的情况
  • $R^2$约接近于1说明模型效果越好
  • $R^2$需要在测试集上求的
  • 在一元回归中$R^2 = r^2$,其中$R^2$为可决系数,$r$为相关系数。
  • 在多元回归中,可决系数称为多重可决系数(Maltiple Coefficient of Determination)。

修正的可决系数

在多元回归中,当样本容量一定时,随着特征的增加可决系数$R^2$总是上升的,即使新特征与因变量不相关,$R^2$也是上升。所以研究人员通常使用修正的可决系数(adjusted $R^2$)$R_a^2$。其定义如下:
$$
\begin {aligned}
R_a^2 &=1-(1-R^2)\frac{n-1}{n-p-1} \\
&=1-\frac{SSE / (n-p-1)}{SST/(n-1)} \\
&=1-\frac{SSE / df_E}{SST/df_T}
\end {aligned}
$$
其中: 样本量为$n$, 特征(自变量)数量为$p$, $SST$的自由度(degrees of freedom)为$df_T=n-1$, $SSE$的自由度为$df_E=n-p-1$。

修正的可决系数总结

  • 修正的可决系数$R_a^2 \le R^2$。
  • 可能是负数,当样本量较少,特征数量较多时可能会出现负值。