在时间序列预测中,评价指标的多样性为模型性能的评估带来多角度的参考意义。该篇推文列举了当前已知的27种确定性预测评估指标及其Python的实现,其中Python的评估指标函数实现基于numpy库(调用方法:import numpy as np)。

01 误差

def _error(actual: np.ndarray, predicted: np.ndarray):""" Simple error """return actual - predicted

02 误差百分比

def _percentage_error(actual: np.ndarray, predicted: np.ndarray):""" Percentage error """return (actual - predicted) / actual

03 均方误差 MSE

def mse(actual: np.ndarray, predicted: np.ndarray):""" Mean Squared Error """return np.mean(np.square(_error(actual, predicted)))

04 均方根误差 RMSE

def rmse(actual: np.ndarray, predicted: np.ndarray):""" Root Mean Squared Error """return np.sqrt(mse(actual, predicted))

05 标准化均方根误差 NRMSE

def nrmse(actual: np.ndarray, predicted: np.ndarray):""" Normalized Root Mean Squared Error """return rmse(actual, predicted) / (actual.max() - actual.min())

06 平均误差 ME

def me(actual: np.ndarray, predicted: np.ndarray):""" Mean Error """return np.mean(_error(actual, predicted))

07 平均绝对误差 MAE

def mae(actual: np.ndarray, predicted: np.ndarray):""" Mean Absolute Error """return np.mean(np.abs(_error(actual, predicted)))

08 中位数绝对误差 MedAE

def mdae(actual: np.ndarray, predicted: np.ndarray):""" Median Absolute Error """return np.median(np.abs(_error(actual, predicted)))

09 平均百分比误差 MPE

def mpe(actual: np.ndarray, predicted: np.ndarray):""" Mean Percentage Error """return np.mean(_percentage_error(actual, predicted))

10 平均绝对百分比误差 MAPE

def mape(actual: np.ndarray, predicted: np.ndarray):"""Mean Absolute Percentage ErrorProperties:+ Easy to interpret+ Scale independent- Biased, not symmetric- Undefined when actual[t] == 0Note: result is NOT multiplied by 100"""return np.mean(np.abs(_percentage_error(actual, predicted)))

11 中位数绝对误差百分比 MedAPE

def mdape(actual: np.ndarray, predicted: np.ndarray):"""Median Absolute Percentage ErrorNote: result is NOT multiplied by 100"""return np.median(np.abs(_percentage_error(actual, predicted)))

12 对称平均绝对误差百分比 SMAPE

def smape(actual: np.ndarray, predicted: np.ndarray):"""Symmetric Mean Absolute Percentage ErrorNote: result is NOT multiplied by 100"""return np.mean(2.0 * np.abs(actual - predicted) / ((np.abs(actual) + np.abs(predicted)) + EPSILON))

13 对称中位数绝对误差百分比 SMDAPE

def smdape(actual: np.ndarray, predicted: np.ndarray):"""Symmetric Median Absolute Percentage ErrorNote: result is NOT multiplied by 100"""return np.median(2.0 * np.abs(actual - predicted) / (np.abs(actual) + np.abs(predicted)))

14 平均反正切绝对百分比误差 MAAPE

def maape(actual: np.ndarray, predicted: np.ndarray):"""Mean Arctangent Absolute Percentage ErrorNote: result is NOT multiplied by 100"""return np.mean(np.arctan(np.abs((actual - predicted) / actual))

15 平均绝对比例误差 MASE

def mase(actual: np.ndarray, predicted: np.ndarray, seasonality: int = 1):"""Mean Absolute Scaled ErrorBaseline (benchmark) is computed with naive forecasting (shifted by @seasonality)"""return mae(actual, predicted) / mae(actual[seasonality:], _naive_forecasting(actual, seasonality))

16 标准化绝对误差 NAE

def std_ae(actual: np.ndarray, predicted: np.ndarray):""" Normalized Absolute Error """__mae = mae(actual, predicted)return np.sqrt(np.sum(np.square(_error(actual, predicted) - __mae))/(len(actual) - 1))

17 标准化绝对百分比误差 NAPE

def std_ape(actual: np.ndarray, predicted: np.ndarray):""" Normalized Absolute Percentage Error """__mape = mape(actual, predicted)return np.sqrt(np.sum(np.square(_percentage_error(actual, predicted) - __mape))/(len(actual) - 1))

18 均方根误差百分比 RMSPE

def rmspe(actual: np.ndarray, predicted: np.ndarray):"""Root Mean Squared Percentage ErrorNote: result is NOT multiplied by 100"""return np.sqrt(np.mean(np.square(_percentage_error(actual, predicted))))

19 中位数方根误差百分比 RMedSPE

def rmdspe(actual: np.ndarray, predicted: np.ndarray):"""Root Median Squared Percentage ErrorNote: result is NOT multiplied by 100"""return np.sqrt(np.median(np.square(_percentage_error(actual, predicted))))

20 均方根比例误差 RMSSE

def rmsse(actual: np.ndarray, predicted: np.ndarray, seasonality: int = 1):""" Root Mean Squared Scaled Error """q = np.abs(_error(actual, predicted)) / mae(actual[seasonality:], _naive_forecasting(actual, seasonality))return np.sqrt(np.mean(np.square(q)))

21 积分标准方根误差 INRSE

def inrse(actual: np.ndarray, predicted: np.ndarray):""" Integral Normalized Root Squared Error """return np.sqrt(np.sum(np.square(_error(actual, predicted))) / np.sum(np.square(actual - np.mean(actual))))

22 相对方根误差 RRSE

def rrse(actual: np.ndarray, predicted: np.ndarray):""" Root Relative Squared Error """return np.sqrt(np.sum(np.square(actual - predicted)) / np.sum(np.square(actual - np.mean(actual))))

23 平均相对误差 MRE

def mre(actual: np.ndarray, predicted: np.ndarray, benchmark: np.ndarray = None):""" Mean Relative Error """return np.mean(_relative_error(actual, predicted, benchmark))

24 相对绝对值误差 RAE

def rae(actual: np.ndarray, predicted: np.ndarray):""" Relative Absolute Error (aka Approximation Error) """return np.sum(np.abs(actual - predicted)) / (np.sum(np.abs(actual - np.mean(actual))) + EPSILON)

25 平均相对绝对值误差 MRAE

def mrae(actual: np.ndarray, predicted: np.ndarray, benchmark: np.ndarray = None):""" Mean Relative Absolute Error """return np.mean(np.abs(_relative_error(actual, predicted, benchmark)))

26 中位数相对绝对值误差 MedAE

def mdrae(actual: np.ndarray, predicted: np.ndarray, benchmark: np.ndarray = None):""" Median Relative Absolute Error """return np.median(np.abs(_relative_error(actual, predicted, benchmark)))

27 平均方向精度 MDA

def mda(actual: np.ndarray, predicted: np.ndarray):""" Mean Directional Accuracy """return np.mean((np.sign(actual[1:] - actual[:-1]) == np.sign(predicted[1:] - predicted[:-1])).astype(int))

—END—

往期精彩回顾适合初学者入门人工智能的路线及资料下载(图文+视频)机器学习入门系列下载中国大学慕课《机器学习》(黄海广主讲)机器学习及深度学习笔记等资料打印《统计学习方法》的代码复现专辑机器学习交流qq群955171419,加入微信群请扫码

【机器学习】27种确定性预测评估指标及其Python实现相关推荐

  1. 27 种确定性预测评估指标(Python实现)

    在时间序列预测中,评价指标的多样性为模型性能的评估带来多角度的参考意义.该篇推文列举了当前已知的27种确定性预测评估指标及其Python的实现,其中Python的评估指标函数实现基于numpy库(调用 ...

  2. ML之分类预测:分类预测评估指标之AUC计算的的两种函数具体代码案例实现

    ML之分类预测:分类预测评估指标之AUC计算的的两种函数具体代码案例实现 目录 分类预测评估指标之AUC计算的的两种函数代码案例实现 输出结果 实现代码

  3. 【理论 | 代码】机器学习分类与回归性能评估指标大全

    一.回归指标 1.1 均方误差(Mean Squared Error, MSE) MSE 称为均方误差,又被称为 L2 范数损失,该统计参数是预测数据和原始数据对应点误差的平方和的均值,公式如下: M ...

  4. 「机器学习速成」分类,评估指标(TP、FP、TN、FN),ROC曲线和AUC

    https://www.toutiao.com/a6706449645901464078/ 2019-06-25 20:49:47 大家好,今天我们学习[机器学习速成]之 分类,评估指标(TP.FP. ...

  5. AUC值越大_「机器学习速成」分类,评估指标(TP、FP、TN、FN),ROC曲线和AUC

    大家好,今天我们学习[机器学习速成]之 分类,评估指标(TP.FP.TN.FN),ROC曲线和AUC. 本节介绍了如何使用逻辑回归来执行分类任务, 并探讨了如何评估分类模型的有效性. 我们 马上学三点 ...

  6. 模型评估指标-2-ROC与PR曲线对比,TPR/FPR/Precision关系,3种特殊的评估指标

    导语:在进阶篇里面,将会讨论ROC和PR曲线的联系,在不平衡数据中的偏差问题,同时利用公式来说明TPR/FPR/Precision三者之间的关系,在第三部分结合业务场景将介绍了几个特殊指标,但是没有说 ...

  7. 图解机器学习之回归模型性能评估指标

    一个房价预测的任务,老板说你看看这个模型咋样? 我们先绘制一个坐标轴: Y 轴为房价,X 轴为年份.将过去房价数据绘制为绿色,回归模型绘制为蓝色. 关键问题是,怎么知道这个模型的好坏呢? 为了评估该模 ...

  8. 机器学习算法——概率类模型评估指标4(校准可靠性曲线及预测概率直方图)

    一.预测概率直方图 我们可以通过绘制直方图来查看模型的预测概率的分布. 直方图以样本的预测概率分箱后的结果为横坐标,每个箱中的样本数量为纵坐标绘制一个图像. 具体代码实现为: from sklearn ...

  9. sklearn预测评估指标:混淆矩阵计算详解-附Python计算代码

    目录 前言 混淆矩阵 python代码 前言 很多时候需要对自己模型进行性能评估,对于一些理论上面的知识我想基本不用说明太多,关于校验模型准确度的指标主要有混淆矩阵.准确率.精确率.召回率.F1 sc ...

最新文章

  1. sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系
  2. Android Profiler 抓取接口返回信息,请求头信息等,
  3. Linux命令学习记录(六)
  4. 在配置类上写@CompentScan注解来进行包扫描
  5. Servlet JSP系列文章总结
  6. python fromhex_Python hexstring-list-str之间的转换方法
  7. Windows高精度微秒级(并发)定时器实现
  8. java的反射机制--关于类中属性的反射。
  9. java 8 谓词_Java谓词– Java 8谓词
  10. 在一个公司,谁有业绩,谁就有说话权
  11. linux更改445端口,windows连接非445端口(nginx转发)的samba服务卡顿
  12. Arduino Atmega328P烧写bootloader及熔丝
  13. 如何在自己电脑上设php网站,怎么在自己电脑上建网站
  14. 文本相似度计算(中英文)详解实战
  15. uni-app截屏截取页面可视区,以及利用截屏截取完整页面方法
  16. 知乎版ChatGPT「知海图AI」加入国产大模型乱斗,称效果与GPT-4持平
  17. 系统集成项目管理工程师备考资料(口袋应试第二版第3章)
  18. biubiu~~~~~文件操作来喽
  19. AWS云计算技术架构探索系列之二-身份账户体系(IAM)
  20. 杰信项目第五天(合同复制+合同查看+出货表)

热门文章

  1. android培训那里好!万字长文轻松彻底入门Flutter,含泪整理面经
  2. 用EXCLE制作抽奖客户名单操作步骤
  3. Python:利用cv2模块对图片进行灰度转换
  4. 全球与中国雄激素和合成代谢类固醇市场发展前景与投资规划建议2021-2027年版
  5. 树莓派远程音乐播放器
  6. 第2节:英语中的形容词,副词,动词,动名词,动词不定式
  7. 单元格下拉全选快捷键_EXCEL筛选后把某一列全选,用什么快捷键。我用CTRL+SHIFT+下方向键总是全选,为什么?求教!...
  8. 抖音电商的发展趋势如何
  9. 群发邮件平台有哪些?哪个好用?
  10. 龚胤全云栖大会_2018杭州云栖大会-大会嘉宾