【小白学机器学习5】评价预测值和观测值差异的指标:MSE, RMSE,MAE, MAPE, WMAPE

目录

1 评价误差的各种度量指标

2 从误差的评价开始捋这个问题

2.1 误差问题的由来:回归模型预测值和真实值的差距

2.2 如何评价某函数的预测值是否足够好? 如何比较不同的预测函数的预测值的好坏呢?

2.3 最小二乘法:应该叫最小乘方法

2.3.1 最小二乘法

2.3.2 插播知识: 什么是范式和L1,L2范式

3 评价误差的各种标准

3.1 MSE 均方差损失( Mean Squared Error Loss)

3.1.1 计算公式

3.1.2 图形推导

3.13  MSE的特点

3.2 RMSE

3.3 MAE

3.3.1 L1 loss

3.3.2 计算公式

3.4.3 图形推导

3.4.4 MAE的特点

3.4 MAPE

3.4 WMAPE

3.6 R^2

参考文档


1 评价误差的各种度量指标

     评价误差有各种指标,那么什么时候应该用什么指标合适?要搞清楚这个,必须先了解每个指标的具体公式,意义,使用的差别。

     这些评价指标里最经典方法就是,最小二乘法。从最小二乘这个评价标准开端,又衍生了各种各有优劣的评价方法和指标。

  • 最小二乘法:Σ(Y-f(xi))**2
  • MSE
  • RMSE
  • MAE
  • MAPE
  • WMAPE
  • R**2
  • 等等

2 从误差的评价开始捋这个问题

误差的由来,我们评价的是什么误差

2.1 误差问题的由来:回归模型预测值和真实值的差距

  • step1: 假设我们有自变量X,因变量Y。
    • 这个自变量是x是,我们观测Y的依据,也是客观可记录的
    • 而因变量Y是我们从自然界进行观测而记录下来的客观的值。
    • 比如我们记录从1号到30号(日期是x)每天的温度(问题是Y)
  • step2: 我们经过计算和模拟得到模拟函数/预测函数 f(X)
  • step3: 然后我们用预测函数 f(X) 去模拟Y
    • 因为试图根据折30天的温度数据,去预测第31天的温度
    • 因此我们会模拟一个直线/曲线出来,但是这条线和前30天温度的散点图肯定是不完全匹配的,因此会产生误差。
  • step4: 但是预测函数和真实值之间一定是有误差的,Y=f(X)+ ε
  • step5: 那么如何评价不同的曲线Y=f(X)+ ε

2.2 如何评价某函数的预测值是否足够好? 如何比较不同的预测函数的预测值的好坏呢?

  • 真实值:只存在理想中,主观的
  • 观测值 :Y,客观存在的
  • 预测值: Y^=f(x) ,对应每一个观测值,理论上只存在一个预测值。
  • 但是,因为我们可能做多个模拟模型,有多个模拟函数/曲线,我们因此会有多个预测值,我们还需要比较不同模型的预测值Y^,哪个更好。
  • 预测值:Y^=f(x) ,对应每一个真实值,对应的预测值根据预测函数可做出多个
  • 然后现在怎么判断,预测值是否准确呢?
  • 就到了最小二乘法了。

2.3 最小二乘法:应该叫最小乘方法

2.3.1 最小二乘法

最小二乘法:应该叫最小乘方法,二乘就是指平方!这个名字不直观,很容易误导我这样的新手。

最小二乘法误差=Σ(Y-f(xi))**2

2.3.2 插播知识: 什么是范式和L1,L2范式

  • 简单的理解,范式就是距离
  • L1 范式距离,就是 |y1-y2|
  • L2 范式距离,就是 (y1-y2)**2
  • 以下类推
  • 像我现在的水平,暂时了解到这么多即可。

3 评价误差的各种标准

从最小二乘这个评价标准开端,又衍生了各种各有优劣的评价方法和指标

  • 最小二乘法误差=Σ(Y-f(xi))**2
  • MSE
  • RMSE
  • MAE
  • MAPE
  • WMAPE

3.1 MSE 均方差损失( Mean Squared Error Loss)

  • MSE 均方差损失( Mean Squared Error Loss)
  • L2范式误差
  • L2 loss

3.1.1 计算公式

  • MSE,均方误差
  • MSE=Σ(Y-f(Xi))**2/i ,i=1~n
  • MSE=最小二乘误差/n

3.1.2 图形推导

推导

  • MSE=Σ(y^-y)^2/n
  • 这个函数的抽象化
  • MSE=y=f(x)
  • MSE=y=f(x)=f(x^2)

  • 这个图形是个二次曲线,有最小值
  • 范围[0,+∞),当预测值与真实值完全相同时为0,误差越大,该值越大
  • MSE 曲线的特点是光滑连续、可导,便于使用梯度下降算法,是比较常用的一种损失函数。
  • 而且,MSE 随着误差的减小,梯度也在减小,这有利于函数的收敛

3.13  MSE的特点

  • 不同商品真实值量纲上的差别带来的MSE结果波动大
  • 极端值的影响,可以平衡
  • [0,1] 误差越小,平方值的MSE会越小
  • [1,∞] 误差越大,平方值的MSE会越大,惩罚性的把误差越大
  • 不够直观(平方之后含义不好解释)

  • 其中,y^为预测值,y为真实值。
  • 对每期预测值和实际值的差值进行平方,然后再对多期差值的平方取平均值,得到平均均方误差。
  • 平方的好处是放大极端误差:对误差进行平方,就是加倍“惩罚”那些极端误差,凸显那些极端虚高或虚低的预测值,也是我们应该重点避免的对象。
  • 选择预测方法时,要尽量避免产生大错特错、极端误差的预测模型,用均方误差来量化预测准确度,能较好地排除这样的模型。

  • 平方误差有个特性,就是当 yi 与 f(xi) 的差值大于 1 时,会增大其误差;
  • 当 yi 与 f(xi) 的差值小于 1 时,会减小其误差。这是由平方的特性决定的。
  • 也就是说, MSE 会对误差较大(>1)的情况给予更大的惩罚,对误差较小(<1)的情况给予更小的惩罚。
  • 从训练的角度来看,模型会更加偏向于惩罚较大的点,赋予其更大的权重。
  • 如果样本中存在离群点,MSE 会给离群点赋予更高的权重,但是却是以牺牲其他正常数据点的预测效果为代价,这最终会降低模型的整体性能。

3.2 RMSE

RMSE,开方均方误差    RMSE=sqrt(MSE)

Root Mean Square Error

3.3 MAE

3.3.1 L1 loss

  • MAE
  • L1 loss

3.3.2 计算公式

MAE=Σ|Y-f(Xi)|/n ,i=1~n

3.4.3 图形推导

3.4.4 MAE的特点

  • 不同商品真实值量纲上的差别带来的MAE结果波动大

 举例子

  • 比如同样是 |yi^-yi|=5
  • 有可能是6-1=5,但是百分比percent=(6-1)/1=5=500%,误差很大
  • 也可能是105-100=5,但是百分比percent=(105-100)/100=5/100=5%,误差较小
  • 也可能是1005-1000=5,但是百分比percent=(1005-1000)//1000=5/1000=0.5%,误差极小
  • 可见,ABS都是5,但是百分比差别巨大!!
  • MAE 的曲线呈 V 字型,连续但在 y-f(x)=0 处不可导,计算机求解导数比较困难。
  • 而且 MAE 大部分情况下梯度都是相等的,这意味着即使对于小的损失值,其梯度也是大的。
  • 这不利于函数的收敛和模型的学习。
  • 值得一提的是,MAE 相比 MSE 有个优点就是 MAE 对离群点不那么敏感,更有包容性。
  • 因为 MAE 计算的是误差 y-f(x) 的绝对值,无论是 y-f(x)>1 还是 y-f(x)<1,没有平方项的作用,惩罚力度都是一样的,所占权重一样。

3.4 MAPE

Mean Absolute Percentage Error

  

  • 当真实值y_{i}​非常小,特别是接近0时,MAPE可能很大
  • 这个值很直观,但也容易误导:当实际值非常小,特别是接近0时,这一百分比可能很大;
  • 如果实际值是0的话,分母就是0,计算没有意义。解决方案是设定上限,比如平均绝对百分比误差不超过100%。
  • MAPE 指平均绝对百分比误差,是一种相对度量,实际上将 MAD 尺度确定为百分比单位而不是变量的单位。平均绝对百分比误差是相对误差度量值,它使用绝对值来避免正误差和负误差相互抵消
  • MAPE 对相对误差敏感,不会因目标变量的全局缩放而改变,适合目标变量量纲差距较大的问题

3.4 WMAPE

  

  • 极端值带来的误差波动小


3.6 R^2

参考文档

http://www.360doc.com/content/17/1217/10/40769523_713767996.shtml

https://zhuanlan.zhihu.com/p/26061758?from_voters_page=true

https://www.jianshu.com/p/301766de458d

机器学习中的方差和偏差理解-CSDN博客

机器学习中的方差和偏差理解_low-variance-CSDN博客

如何在 EXCEL 中使用函数进行线性回归分析? - 知乎

使用Excel进行线性回归、计算R2、RMSE、MAE等精度方法_rmse怎么用excel-CSDN博客

MAE, MSE, RMSE, R方 — 哪个指标更好? - 知乎

回归预测模型的常见评估指标(MAE,MSE,MAPE等) - 知乎

深度学习常用损失MSE、RMSE、MAE和MAPE-CSDN博客

https://www.cnblogs.com/hider/p/17095700.html

机器学习——需求预测——准确性(误差)统计——MAE、MSE、MAPE、WMAPE-CSDN博客

Excel统计分析——多元线性回归分析 - 知乎

Excel统计分析——一元线性回归分析(二) - 知乎

数据分析必备五大思维(二)——统计思维

Excel统计分析——一元线性回归分析 - 知乎

https://blog.csdn.net/htuhxf/article/details/84585022

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/436127.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux-网络-011

1网络协议模型 1.1【OSI】协议模型 1.1.1应用层 实际发送的数据应用层:HTTP 超文本传输协议HTTPS FTP 文件传输协议TFTP 简单文本传输协议SMTP 邮件传输协议MQTT TELNET ..1.1.2表示层 发送的数据是否加密1.1.3会话层 是否建立会话连接1.1.4传输层 数据…

STM32各外设初始化步骤

1、GPIO初始化步骤 1、使能GPIO时钟 2、初始化GPIO的输入/输出模式 3、设置GPIO的输出值或获取GPIO的输入值 GPIO_InitTypeDef GPIO_InitStruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStruct.GPIO_Mode GPIO_Mode_Out_PP; GPIO_InitStruct.GPIO_Pin…

chrome插件chrome.storage数据写入失败QUOTA_BYTES_PER_ITEM quota exceeded

Unchecked runtime.lastError while running storage.set: QUOTA_BYTES_PER_ITEM quota exceeded at Object.callback 在开发浏览器插件的时候&#xff0c;报错提示&#xff1a;超出存储限制&#xff0c;浏览器插件存储官方文档&#xff1a;https://developer.chrome.com/docs…

【数据结构】21 Trie字符串统计

Trie 树 Trie树又称字典树、单词查找树。是一种能够高效存储和查找字符串集合的数据结构。 插入字符串 对上面已知的tire树&#xff0c;假如插入一个字符串"abdf"&#xff0c;需要进行以下操作&#xff1a; 从字符a开始寻找&#xff1a; 从第一层开始p 0 ,s[p][a…

Datadog平台各服务简介

AIOps的核心是AI&#xff0c;所以训练一个AI是实现AIOps的首要任务。 Datadog平台服务简介 Datadog 是一个云监控平台&#xff0c;提供了多种服务来帮助用户监控、分析、优化和保护他们的应用程序、基础设施、网络和安全。以下是每个服务的简要介绍&#xff1a; INFRASTRUCTU…

[C#]winform基于C2PNet算法实现室内和室外图像去雾

【CP2Net框架】 https://github.com/YuZheng9/C2PNet 【CP2Net介绍】 Abstract 考虑到不适定的性质&#xff0c;发展了单图像去模糊的对比正则化&#xff0c;引入了来自负图像的信息作为下界。然而&#xff0c;对比样本是非一致的&#xff0c;因为阴性通常距离清晰&#xff…

中国制造赢得世界 外贸独立站wordpress建站案例

孵化器wordpress外贸主题 孵化器、孵化设备wordpress企业主题&#xff0c;适合做孵化器 、孵化设备的企业使用。 https://www.jianzhanpress.com/?p3478 橡胶制品wordpress外贸主题 橡胶制品wordpress外贸主题&#xff0c;橡塑产品对外贸易公司官方网站wordpress模板。 ht…

ServletContext

ServletContext 1.共享数据 ServletContext servletContext this.getServletContext(); String username "徐凤年"; servletContext.setAttribute("username",username);ServletContext servletContext this.getServletContext(); String username (…

Subversion svn 开源的版本控制系统入门介绍 VCS

拓展阅读 Subversion 开源的版本控制系统入门介绍 VCS Git 开源的版本控制系统-01-入门使用介绍 Git 开源的版本控制系统-02-base usage 基本用法 Git 开源的版本控制系统-03-时间数据回溯 Git 开源的版本控制系统-04-branch manage 分支管理 Git 开源的版本控制系统-05-…

软考-中级-系统集成2023年综合知识(六)

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 软考中级专栏回顾 专栏导航描述软考-中级系统集成2023年综合知识(一)软考-中级系统集成2023年综合知识(二)软…

泛微OA本地部署项目

泛微OA本地部署 本文演示脱离公司服务器&#xff0c;在本地搭建泛微 OA。 本次演示的版本如下&#xff1a; ecology&#xff1a;e-9sql server 版本&#xff1a;2012jdk 版本&#xff1a;1.8 一、安装 VmWare、Centos 7 对于 VmWare、Centos 7的安装&#xff0c;此处不再一一…

[LeetBook]【学习日记】有效数字——状态机

题目 有效数字 有效数字&#xff08;按顺序&#xff09;可以分成以下几个部分&#xff1a; 若干空格一个小数或者整数&#xff08;可选&#xff09;一个’e’或’E’&#xff0c;后面跟着一个整数若干空格 小数&#xff08;按顺序&#xff09;可以分成以下几个部分&#xff1a…

微信小程序python+uniapp+hbuiderx宠物美容用品商城领养寄养系统i843n

宠物中心信息管理系统app是在安卓操作系统下的应用平台。为防止出现兼容性及稳定性问题&#xff0c;编辑器选择的是Hbuildex&#xff0c;安卓APP与后台服务端之间的数据存储主要通过MySQL。用户在使用应用时产生的数据通过 python等语言传递给数据库。通过此方式促进宠物中心信…

JS实现chatgpt数据流式回复效果

最近高了一个简单chatgpt对话功功能&#xff0c;回复时希望流式回复&#xff0c;而不是直接显示结果&#xff0c;其实很简单&#xff0c;前端流式读取即可&#xff0c;后端SSE实现流式传输 前端用到fetch获取数据&#xff0c;然后利用reader读取 let requestId parseInt(Ma…

flink重温笔记(十一):Flink 高级 API 开发——flink 四大基石之 Checkpoint(详解存储后端)

Flink学习笔记 前言&#xff1a;今天是学习 flink 的第 11 天啦&#xff01;学习了 flink 四大基石之 Checkpoint &#xff08;检查点&#xff09;&#xff0c;主要是解决大数据领域持久化中间结果数据&#xff0c;以及取消任务&#xff0c;下次启动人可以恢复累加数据问题&…

STC89C52串口通信详解

目录 前言 一.通信基本原理 1.1串行通信与并行通信 1.2同步通信和异步通信 1.2.1异步通信 1.2.2同步通信 1.3单工、半双工与全双工通信 1.4通信速率 二.串口通信简介 2.1接口标准 2.2串口内部结构 2.3串口相关寄存器 三.串口工作方式 四.波特率计算 五.串口初始化步骤 六.实验…

centos7中python3.10找不到openssl解决方案

如果有用其他方法安装了其他版本openssl&#xff0c;记得卸载其他的openssl&#xff0c;删除其他的openssl相关文件。 yum remove openssl* rm -rf ***下载最新版的openssl文件 按照官网安装方法安装openssl 官方安装地址https://docs.python.org/3/using/unix.html#on-linu…

平台工程指南:从架构构建到职责分工

平台工程只是 DevOps 专业化的另一个术语&#xff0c;还是另有所指&#xff1f;事实可能介于两者之间。DevOps 及其相关的 DevXOps 有着浓厚的文化色彩&#xff0c;以各个团队为中心。不幸的是&#xff0c;在许多地方&#xff0c;DevOps 引发了新的问题&#xff0c;如工具激增和…

【Appium问题】每次启动appium都会安装一次uiautomator

问题 每次启动appium&#xff0c;都需要安装一次uiautomator2比较麻烦 解决 在配置文件capabilities 中增加参数skipServerInstallationTrue

关于springboot一个接口请求后,主动取消后,后端是否还在跑

1、最近在思考一个问题&#xff0c;如果一个springboot的请求的接口比较耗时&#xff0c;中途中断该请求后&#xff0c;则后端服务是否会终止该线程的处理&#xff0c;于是写了一个demo RequestMapping(value "/test", method RequestMethod.GET)public BasicResul…