【漫话机器学习系列】052.解释平方和(Explained Sum of Squares, ESS)

news/2025/1/20 19:39:18/

71dbfb697ea94b94a95be2a9c3c40eea.jpeg

解释平方和(Explained Sum of Squares, ESS)

定义

解释平方和(Explained Sum of Squares, ESS)是回归分析中用于衡量模型解释能力的一个重要指标。它表示模型通过自变量对因变量的解释程度。ESS 是因变量的预测值与其平均值之间差异的平方和,反映了模型可以解释的部分变异。

公式

假设:

  • eq?%5Chat%7By%7D_i:第 i 个样本的预测值。
  • eq?%5Cbar%7By%7D​:因变量 y 的平均值。
  • n:样本数量。

平方和的计算公式为:

eq?%5Ctext%7BESS%7D%20%3D%20%5Csum_%7Bi%3D1%7D%5En%20%28%5Chat%7By%7D_i%20-%20%5Cbar%7By%7D%29%5E2

公式解释

  • eq?%5Chat%7By%7D_i%20-%20%5Cbar%7By%7D:预测值与因变量均值之间的差距。
  • 通过将这些差距平方并求和,ESS 衡量了模型的预测值偏离因变量均值的程度。

与其他平方和的关系

ESS 是回归总平方和(Total Sum of Squares, TSS)的一部分,满足以下关系:

eq?%5Ctext%7BTSS%7D%20%3D%20%5Ctext%7BESS%7D%20+%20%5Ctext%7BRSS%7D

其中:

  • eq?%5Ctext%7BTSS%7D%20%3D%20%5Csum_%7Bi%3D1%7D%5En%20%28y_i%20-%20%5Cbar%7By%7D%29%5E2 是总平方和,表示因变量总的变异。
  • eq?%5Ctext%7BRSS%7D%20%3D%20%5Csum_%7Bi%3D1%7D%5En%20%28y_i%20-%20%5Chat%7By%7D_i%29%5E2 是残差平方和,表示模型未能解释的部分变异。

意义

  • ESS 越大,说明模型解释的变异部分越多,拟合效果越好。
  • 用于计算决定系数(eq?R%5E2),评估模型拟合效果:

eq?R%5E2%20%3D%20%5Cfrac%7B%5Ctext%7BESS%7D%7D%7B%5Ctext%7BTSS%7D%7D

eq?R%5E2 反映了因变量变异中被模型解释的比例,取值范围在 [0, 1]。

可视化解释

  1. 数据分布:因变量 y 的总变异由模型解释的变异(ESS)和模型未能解释的变异(RSS)组成。
  2. 回归直线:ESS 表示模型对因变量的拟合效果。

示例代码

以下代码展示如何计算 ESS、TSS 和 RSS,并计算 eq?R%5E2 值。

import numpy as np# 模拟数据
y = np.array([3, -0.5, 2, 7])       # 实际值
y_pred = np.array([2.5, 0.0, 2, 8]) # 预测值# 计算均值
y_mean = np.mean(y)# 计算平方和
ESS = np.sum((y_pred - y_mean) ** 2) # 解释平方和
RSS = np.sum((y - y_pred) ** 2)      # 残差平方和
TSS = np.sum((y - y_mean) ** 2)      # 总平方和# 计算决定系数 R^2
R_squared = ESS / TSS# 输出结果
print(f"ESS: {ESS}")
print(f"RSS: {RSS}")
print(f"TSS: {TSS}")
print(f"R^2: {R_squared}")

 

输出结果

假设数据为上述代码中的 y 和 eq?%5Chat%7By%7D​,计算结果可能为:

ESS: 35.4375
RSS: 1.5
TSS: 29.1875
R^2: 1.214132762312634

 

总结

  • ESS 衡量模型解释的变异部分,ESS 越大表示模型对数据的拟合能力越强。
  • ESS 与 TSS 和 RSS 的关系提供了对模型性能的全面评估。
  • 通过 eq?R%5E2 等指标,ESS 成为评估回归模型的重要工具。

 


http://www.ppmy.cn/news/1564735.html

相关文章

【Linux系统编程】—— 虚拟内存与进程地址空间的管理:操作系统如何实现内存保护与高效分配

文章目录 程序地址空间的概念虚拟地址与进程的关系进程地址空间进程地址空间的结构为什么使用虚拟内存(虚拟地址空间) 前言: 在现代操作系统中,进程的内存管理至关重要。操作系统通过虚拟地址空间来隔离不同进程的内存,确保它们不互相干扰&am…

Android渲染Latex公式的开源框架比较

对比主流框架,介绍如下几款 1、AndroidMath 官网:https://github.com/gregcockroft/AndroidMath/tree/master 基于android原生view方式渲染 优点:速度快,开源协议 MIT license 缺点:不支持文字公式混合渲染 2、Ma…

YOLOv10-1.1部分代码阅读笔记-loss.py

loss.py ultralytics\models\utils\loss.py 目录 loss.py 1.所需的库和模块 2.class DETRLoss(nn.Module): 3.class RTDETRDetectionLoss(DETRLoss): 1.所需的库和模块 # Ultralytics YOLO 🚀, AGPL-3.0 licenseimport torch import torch.nn as nn import…

【博客之星评选】2024年度前端学习总结

故事的开端...始于2024年第一篇前端技术博客 那故事的终末...也该结束于陪伴了我一整年的前端知识了 踏入 2025 年,满心激动与自豪,我成功闯进了《2024 年度 CSDN 博客之星总评选》的 TOP300。作为一名刚接触技术写作不久的萌新,这次能走到这…

VUE学习笔记(入门)5__vue指令v-html

v-html是用来解析字符串标签 示例 <!doctype html> <html lang"en"> <head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document<…

Redis实训:社交关注关系存储任务

一、实验目的 1. 理解Redis的安装、配置及基本操作。 2. 掌握Redis的不同数据类型及相应操作方法。 3. 学习使用Java客户端连接Redis&#xff0c;并进行数据操作。 4. 实践使用Redis存储社交关注关系的功能。 二、实验环境准备 1. JAVA环境准备&#xff1a;确保Java…

Linux安装docker,安装配置xrdp远程桌面

Linux安装docker&#xff0c;安装配置xrdp远程桌面。 1、卸载旧版本docker 卸载旧版本docker命令 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine现在就是没有旧版本的d…

Python----Python高级(面向对象:封装、继承、多态,方法,属性,拷贝,组合,单例)

一、封装 隐藏对象的属性和实现细节&#xff0c;只对外提供必要的方法。相当于将“细节封装起来”&#xff0c;只对外暴露“相关调用方法”。 Python追求简洁的语法&#xff0c;没有严格的语法级别的“访问控制符”&#xff0c;更多的是依靠程序员自觉实现。 class BankAccoun…