草稿

zy123
2025-08-29 /  0 评论 /  0 点赞 /  7 阅读 /  1526 字
最近更新于 12-04

是的,除了 MAE、RMSE 和 MAPE,(决定系数,Coefficient of Determination)也是一个常用的评估指标。它用来衡量模型的预测结果与实际数据的拟合度。以下是关于 的详细解释和计算方法。

4. (决定系数)

公式:

$R^2 = 1 - \frac{\sum_{t=1}^{T} (y_t - \hat{y}t)^2}{\sum{t=1}^{T} (y_t - \bar{y})^2}$

  • 解释:
    • 分子是误差平方和(Residual Sum of Squares, RSS),表示模型预测值和真实值的偏差。
    • 分母是总平方和(Total Sum of Squares, TSS),表示真实值的偏差。
    • $\bar{y}$ 是真实值的均值,即 $\bar{y} = \frac{1}{T} \sum_{t=1}^{T} y_t$。

含义:

  • $R^2$ 的值范围

    在 [0, 1] 之间,表示模型拟合程度:

    • $R^2 = 1$ 表示完美拟合(模型预测结果与真实值完全一致)。
    • $R^2 = 0$ 表示模型没有解释任何变异,和用真实值的均值作为预测值一样。
    • $R^2 < 0$ 表示模型的预测比简单的均值预测还要差。

直观理解:

  • $R^2$ 值越高,模型拟合得越好。
  • $R^2$ 实际上衡量的是模型解释了数据变异的多少部分。例如,$R^2 = 0.8$ 表示模型解释了 80% 的数据变异。

5. 代码中的实现方式

在你提供的代码中,r2_score 函数是计算 的地方。它是通过以下步骤计算的:

r2_score 函数:

def r2_score(real, pred):
    real_mean = np.mean(real)
    ss_tot = np.sum((real - real_mean) ** 2)  # 总变异量
    ss_res = np.sum((real - pred) ** 2)       # 残差平方和
    if ss_tot < 1e-8:
        return 0.0
    return 1 - ss_res / ss_tot

解释:

  1. 计算总变异量(TSS)

    TSS=∑t=1T(yt−yˉ)2\text{TSS} = \sum_{t=1}^{T} (y_t - \bar{y})^2

    其中 $\bar{y}$ 是真实值的均值。

  2. 计算残差平方和(RSS)

    RSS=∑t=1T(yt−y^t)2\text{RSS} = \sum_{t=1}^{T} (y_t - \hat{y}_t)^2

  3. 计算 $R^2$

    R2=1−RSSTSSR^2 = 1 - \frac{\text{RSS}}{\text{TSS}}

在代码中,这一过程通过以下两行代码完成:

ss_tot = np.sum((real - real_mean) ** 2)
ss_res = np.sum((real - pred) ** 2)

然后,最后一步计算出 R² 值:

return 1 - ss_res / ss_tot

6. 如何解读 R² 值

  • R² = 1: 模型完美地拟合了数据,预测值和实际值完全一致。
  • R² = 0: 模型完全无法拟合数据,与仅用均值预测的效果相同。
  • R² > 0: 模型的预测比均值预测要好,但可能还存在一些偏差。
  • R² < 0: 模型的表现比简单的均值模型还差。这意味着模型的预测误差大于仅使用均值作为预测值的误差。

7. R² 的优缺点

优点:

  • 直观:$R^2$ 值介于 0 和 1 之间,便于理解和解释。
  • 标准化:$R^2$ 是标准化的度量,不依赖于数据的量纲。

缺点:

  • 不一定能揭示实际的预测能力:$R^2$ 有时可能会过高,尤其是在过拟合的情况下,即使模型对训练数据表现很好,但对未知数据却不准确。
  • 对异常值敏感:大误差(尤其是异常值)可能会严重影响 $R^2$ 的值。
  • 无法评估模型的偏差:即使 $R^2$ 很高,也不能完全说明模型的预测值和真实值的偏差程度。

8. R² 和其他指标的关系

  • MAE, RMSE, MAPE 都是直接评估误差的指标,关注的是预测的准确性,而 更多的是评估模型对数据变异的解释能力。
  • R² 提供了一个模型如何拟合数据的全局视图,而其他指标则给出了更加细化的局部误差信息。

小结

**R²(决定系数)**是评估回归模型拟合程度的重要指标,表示模型预测值与实际值之间的关系程度。它的计算基于总变异量和残差平方和,反映了模型对数据变异的解释能力。

  • 公式: $R^2 = 1 - \frac{\text{RSS}}{\text{TSS}}$
  • 直观: R² 越接近 1,表示模型对数据的拟合程度越高。
  • 代码: 通过计算残差平方和(RSS)与总变异量(TSS)的比率来得到 R² 值。

这个指标通常与 MAE, RMSE 和 MAPE 一起使用,以全面评估模型的预测性能。

© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 收藏
评论 抢沙发
取消