当前位置: 首页 > backend >正文

【漫话机器学习系列】237. TSS总平方和

深度理解 TSS(总平方和):公式、意义与应用

在机器学习与统计建模领域,评价模型好坏的重要指标之一就是方差误差分析。其中,TSS(Total Sum of Squares,总平方和)扮演着非常关键的角色。今天我们就来深入剖析 TSS,从公式理解到实际应用,一步步搞懂它!


什么是 TSS?

TSS(总平方和) 是指样本数据中各观测值与其均值之间差异的总和,具体来说,是每个观测值到整体均值的偏差的平方,再将这些平方累加起来。

TSS可以用来衡量数据的总体变异性,也就是说:原始数据本身波动有多大?


TSS的数学公式

根据本文开头的图示,TSS 的定义公式为:

TSS = \sum_{i=1}^n (y_i - \overline{y})^2

其中:

  • y_i:第 i 个样本的真实值(观测值)

  • \overline{y}:所有样本的平均值

  • n:样本总数

图中的标注也特别清晰:

  • y_i 真实值 ➔ 每一个观测的数据点。

  • \overline{y} 平均值 ➔ 所有观测点的均值,用于作为基准线。

这张图用简单的箭头标明了各元素的含义,非常友好。


为什么要平方?

也许你会好奇,为什么要对偏差进行平方呢?原因有两点:

  1. 避免正负抵消:如果不平方,正偏差和负偏差会互相抵消,导致总和接近零,失去意义。

  2. 强调大偏差:平方放大了大的误差,使得远离均值的点对 TSS 贡献更大。

因此,平方是必须的处理方式。


TSS的意义

TSS 衡量的是总体数据的分散程度。

  • 如果 TSS 很小,说明大部分数据点离均值很近,数据比较集中。

  • 如果 TSS 很大,说明数据点分布很散,离均值的距离很远。

在回归分析中,TSS 是衡量模型拟合优度(比如 R^2 决定系数)的基础部分。


与其他平方和的关系

在回归分析中,除了 TSS,还有两个重要的平方和:

  • RSS(残差平方和,Residual Sum of Squares):真实值与预测值之间的差异。

  • ESS(回归平方和,Explained Sum of Squares):预测值与真实均值之间的差异。

三者之间有着重要的关系:

TSS = ESS + RSS

这意味着,TSS 可以分解为模型解释的部分(ESS)和模型无法解释的残差部分(RSS)。

简而言之

  • TSS:原始数据的总波动。

  • ESS:模型能解释的数据波动。

  • RSS:模型不能解释的数据波动。


一个简单例子

假设我们有以下数据:

样本编号y_i
12
24
36

计算过程如下:

  1. 计算均值:\overline{y} = (2+4+6)/3 = 4

  2. 计算每个点与均值的差值并平方:

    • (2 - 4)^2 = 4

    • (4 - 4)^2 = 0

    • (6 - 4)^2 = 4

  3. 将平方和加总:

TSS = 4 + 0 + 4 = 8

因此,总平方和 TSS = 8。


TSS在实际中的应用

TSS 最常见的应用场景包括:

  • 评估回归模型的拟合优度:TSS 用于计算 R2R^2 值。

    R^2 = 1 - \frac{RSS}{TSS}

    R^2 越接近 1,说明模型越好。

  • 特征工程中筛选特征:分析某个特征是否能有效减少数据波动。

  • 聚类分析:衡量聚类效果,比如在 K-means 聚类中,也有类似的平方和概念。


总结

  • TSS 是理解数据变化范围的基础指标。

  • 平方和的分解公式 TSS = ESS + RSS 是理解回归分析的核心。

  • 掌握 TSS 有助于进一步深入理解 R²、模型评价、特征选择等机器学习技术。

记住,理解 TSS,就是理解数据本身的变化规律!


参考资料

  • Chris Albon 手绘笔记

  • 《统计学习方法》李航

  • 《An Introduction to Statistical Learning》


如果你觉得这篇讲解有帮助,欢迎点赞、评论、收藏!
后续我还会继续分享更多统计与机器学习基础知识系列,敬请期待!

http://www.xdnf.cn/news/3774.html

相关文章:

  • 【2025软考高级架构师】——未来信息综合技术(11)
  • C++笔记-多态(包含虚函数,纯虚函数和虚函数表等)
  • 在MySQL中建索引时需要注意哪些事项?
  • Vue3源码学习5-不使用 `const enum` 的原因
  • 普推知产:图形商标通过初审,图形商标申请时注意!
  • 【深度学习】典型的 CNN 网络
  • Linux第20节 --- inode和文件系统
  • qsort函数的用法
  • MySQL 日期加减函数详解
  • 61常用控件_QDateTimeEdit的使用
  • 用Maven定位和解决依赖冲突
  • 研究主题:聊天机器人使用与情感纽带的形成
  • 归并排序【逆序对】
  • 【AI面试准备】数据驱动测试思维与实践指南
  • 使用Node.js搭建https服务器
  • 《Windows 环境下 Qt C++ 项目升级 GCC 版本的完整指南》
  • 如何在WORD WPS中输入英语音标 批量给英语标注音标
  • 【堆】最大堆、最小堆以及GO语言的实现
  • Redis从入门到实战实战篇2
  • 智能家居的OneNet云平台
  • Linux进程间通信(二)之管道1【匿名管道】
  • 【2025软考高级架构师】——数据库系统(10)
  • SpringBoot上传文件到阿里云OSS对象存储
  • 数据赋能(211)——质量管理——数据可验证性原则
  • 【Mytais系列】介绍、核心概念
  • 【浅学】Windows下ffmpeg+nginx+flv将本地视频推流在本地搭建的Web前端页面中播放,超详细步骤
  • C++ 抽象工厂模式详解
  • [Vue]编程式导航
  • C++ 单例模式详解
  • React18组件通信与插槽