①测定预测精度的方法【误差】—②组合模型【线性组合模型+最优线性组合模型+贝叶斯组合模型】
文章目录
- 1 测定预测精度的方法
- 2 组合模型
- 2.1 模式一:线性组合模型
- 2.2 模式二:最优线性组合模型
- 2.3 模式三:贝叶斯组合模型
1 测定预测精度的方法
- 平均误差
ME=∑i=1n(yi−y^i)nME=\frac{\sum\limits_{i=1}^n{\left( y_i-\hat{y}_i \right)}}{n} ME=ni=1∑n(yi−y^i)
平均绝对误差
MAD=∑i=1n∣yi−y^i∣nMAD=\frac{\sum\limits_{i=1}^n{\left| y_i-\hat{y}_i \right|}}{n} MAD=ni=1∑n∣yi−y^i∣平均相对误差
MPE=1n∑i=1nyi−y^iyiMPE=\frac{1}{n}\sum\limits_{i=1}^n{\frac{y_i-\hat{y}_i}{y_i}} MPE=n1i=1∑nyiyi−y^i平均相对误差绝对值
MAPE=1n∑i=1n∣yi−y^iyi∣MAPE=\frac{1}{n}\sum\limits_{i=1}^n{\left| \frac{y_i-\hat{y}_i}{y_i} \right|} MAPE=n1i=1∑n∣∣∣∣yiyi−y^i∣∣∣∣预测误差的方差(均方误差)
均方误差MSE(Mean Squared Error)又被称为 L2范数损失 。
MSE=∑i=1nei2n=1n∑i=1n(yi−y^i)2MSE=\frac{\sum\limits_{i=1}^n{e_i^2}}{n}=\frac{1}{n}\sum\limits_{i=1}^n{\text{(}y_i-\hat{y}_i}\text{)}^2 MSE=ni=1∑nei2=n1i=1∑n(yi−y^i)2
由于MSE与我们的目标变量的量纲不一致,为了保证量纲一致性,我们需要对MSE进行开方 。预测误差的标准差(均方根误差,又叫标准误差)
RMSE=∑i=1nei2n=1n∑i=1n(yi−y^i)2RMSE=\sqrt{\frac{\sum\limits_{i=1}^n{e_i^2}}{n}}=\sqrt{\frac{1}{n}\sum\limits_{i=1}^n{\text{(}y_i-\hat{y}_i}\text{)}^2} RMSE=ni=1∑nei2=n1i=1∑n(yi−y^i)2
2 组合模型
组合预测就是设法把不同的预测模型组合起来,综合利用各种预测方法所提供的信息,以适当的加权平均形式得出组合预测模型。
虽然单项经济预测方法在经济预测中仍占据主导地位,但是各种单项预测模型都有自己的假设前提、特点和适用场合。
例如
- 经典线性回归模型要求变量之间线性关系显著,对于出现数据序列相关、异方差性、多重共线性等要进一步讨论。
- 灰色系统模型虽然要求的数据序列较短,但是用于GM(1,1)建模的原始序列 X0X^0X0 需要一定的前提条件:一是非负序列,二是等时距,同时生成数据序列满足指数规律。
鉴于不同的单项预测模型利用的样本数据不尽相同,它们从不同的角度提供各个方面有用的信息,各有优点和缺点。
在得到多个独立预测模型的研究结果后,寻找既基于这些单项预测模型的结果,又能够博采众长,从而得到更好效果的组合预测模型。
单项预测模型
线性回归模型(以前记过的笔记)
灰色预测模型(以前记过的笔记)
时间序列模型(以前记过的笔记)
BP神经网络(以前记过的笔记)
参考文献中的GABP神经网络模型
2.1 模式一:线性组合模型
预测的关键是建立合理的预测模型。不同的预测模型各有长处,通过对不同预测模型的线性组合可以得到效果更好的线性组合预测模型。
形式如下:
y^t=ω1y1(t)+ω2y2(t)+...+ωmym(t)\hat{y}_t=\omega _1y_{1\left( t \right)}+\omega _2y_{2\left( t \right)}+...+\omega _my_{m\left( t \right)} y^t=ω1y1(t)+ω2y2(t)+...+ωmym(t)
式中,i=1,2,⋯,m;t=1,2,⋯,ni=1,2,\cdots ,m\text{ ;}t=1,2,\cdots ,ni=1,2,⋯,m ;t=1,2,⋯,n
y^t\hat{y}_ty^t 为 t 时刻的组合预测值;
yi(t)y_{i(t)}yi(t) 为第 i 个预测模型在 t 时刻的预测值;
y(t)y_{(t)}y(t) 为一预测对象某个指标实际值序列
eit=y(t)−yi(t)e_{it}=y_{\left( t \right)}-y_{i\left( t \right)}eit=y(t)−yi(t) 第 i 个预测模型在第 t 时刻的预测误差;
et=y(t)−y^t,t=1,2,⋯,ne_t=y_{\left( t \right)}-\hat{y}_t\ \text{,}t=1,2,\cdots ,net=y(t)−y^t ,t=1,2,⋯,n 在 t 时刻线性组合模型的预测误差;
W=(ω1,ω2,⋯,ωm)TW=\left( \omega _1,\omega _2,\cdots ,\omega _m \right) ^TW=(ω1,ω2,⋯,ωm)T 为 m 个预测模型线性组合的加权系数,且满足 ω1+ω2+⋯+ωm=1\omega _1+\omega _2+\cdots +\omega _m=1ω1+ω2+⋯+ωm=1 和 ωi≥0\omega _i\ge 0ωi≥0
线性组合预测模型的关键在于确定合理的权数 ωi\omega_iωi,使得预测模型更加有效地提高预测精度。 一种合理的方法是可以依据误差平方和(SSE)最小原则来加以确定。
即
SSE=∑t=1net2=∑t=1n(∑i=1mωieit)2=WTEWSSE=\sum_{t=1}^n{e_{t}^{2}}=\sum_{t=1}^n{\left( \sum_{i=1}^m{\omega _ie_{it}} \right) ^2=W^TEW} SSE=t=1∑net2=t=1∑n(i=1∑mωieit)2=WTEW
其中 EEE 为信息误差矩阵,E=(eit)m×n(eit)m×nTE=\left( e_{it} \right) _{m\times n}\left( e_{it} \right) _{m\times n}^TE=(eit)m×n(eit)m×nT,通过求解线性规划问题的最优解,得到最佳权系数 W0W_0W0。
即
{minSSE=WTEWs.t.RmW=1,W≥0\left\{ \begin{array}{l} \min\text{\ }SSE=W^TEW\\ \\ s.t.\ R_mW=1\ \text{,}W\ge 0\\ \end{array} \right. ⎩⎨⎧min SSE=WTEWs.t. RmW=1 ,W≥0
⇒W0=E−1RmTRmE−1RmT\Rightarrow W_0=\frac{E^{-1}R_{m}^{T}}{R_mE^{-1}R_{m}^{T}} ⇒W0=RmE−1RmTE−1RmT
其中 RmR_mRm 为元素全为 1 的 m 维行向量,并且保证的非负最优加权系数可使得线性组合模型有效地提高预测精度。
例如,在参考文献中,已经得到每个单项模型的预测值
信息误差矩阵
16.2487 = (51.4-50.1)(51.4-50.1)+(44.7-48.01)(44.7-48.01)+…
通过公式
W0=E−1RmTRmE−1RmTW_0=\frac{E^{-1}R_{m}^{T}}{R_mE^{-1}R_{m}^{T}} W0=RmE−1RmTE−1RmT
得到线性组合模型最优加权系数
W0=(0.0323,0.4160,0.5517)TW_0=\left( 0.0323,0.4160,0.5517 \right) ^T W0=(0.0323,0.4160,0.5517)T
从而得到线性组合模型
可以得到组合模型预测值
如下表中组合模型第一个预测值
51.37 = 0.032350.1+0.416049.73+0.5517*52.69
通过比较模型的相对误差,可以判断模型的预测精度。
2.2 模式二:最优线性组合模型
原理:利用样本期的实际值和各单项预测模型的拟合值,进行线性回归,然后利用线性回归模型,以原方案的预测值作为外生变量进行外推预测。
最优线性组合模型的一般形式为:
yt=a+b1y1t+...+bnynty_t=a+b_1y_{1t}+...+b_ny_{nt} yt=a+b1y1t+...+bnynt
- yty_tyt 为样本期实际值;
- y1t,y2t,...,ynty_{1t},y_{2t},...,y_{nt}y1t,y2t,...,ynt 为样本期n个不同模型得到的预测值。
最优线性模型是广义的线性组合预测模型,其特点在于组合权数由线性回归得到。
2.3 模式三:贝叶斯组合模型
贝叶斯组合模型是线性组合模型的特例
在 n 种单项预测模型中选择一种为主要方案,由这一方案得出的预测值为原预测值。然后,取其他 n-1 种预测方案在某一时点上的预测值分布的均值和方差,代入下面公式,就得到贝叶斯组合模型。
Y^t+1=(Yt+1/sy,t+12+Yˉt+1/syˉ,t+12)/(1sy,t+12+1syˉ,t+12)\hat{Y}_{t+1}=\left( Y_{t+1}/s_{_{y,\,t+1}}^{2}+\bar{Y}_{t+1}/s_{_{\bar{y},\,t+1}}^{2} \right) /\left( \frac{1}{s_{_{y,\,t+1}}^{2}}+\frac{1}{s_{_{\bar{y},\,t+1}}^{2}} \right) Y^t+1=(Yt+1/sy,t+12+Yˉt+1/syˉ,t+12)/(sy,t+121+syˉ,t+121)
Y^t+1\hat{Y}_{t+1}Y^t+1 为贝叶斯组合预测值;
Yt+1Y_{t+1}Yt+1 为原预测值;
Yˉt+1\bar{Y}_{t+1}Yˉt+1 为其他 n-1 种预测值分布的均值;
syˉ,t+12s_{_{\bar{y},\,t+1}}^{2}syˉ,t+12 为其他 n-1 种预测值分布的方差;
sy,t+12s_{_{y,\,t+1}}^{2}sy,t+12 为原预测值的方差。
参考文献:
《线性组合预测模型及其应用》
《统计预测与决策》
①测定预测精度的方法【误差】—②组合模型【线性组合模型+最优线性组合模型+贝叶斯组合模型】相关推荐
- 线性分类(五)-- 朴素贝叶斯法
贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类.贝叶斯分类法是统计学分类方法,它可以预测类隶属关系的概率,如一个给定元组属于一个特定类的概率.而朴素贝叶斯分类是贝叶斯 ...
- 【机器学习入门】(3) 朴素贝叶斯算法:多项式、高斯、伯努利,实例应用(心脏病预测)附python完整代码及数据集
各位同学好,今天我和大家分享一下朴素贝叶斯算法中的三大模型.在上一篇文章中,我介绍了朴素贝叶斯算法的原理,并利用多项式模型进行了文本分类预测. 朴素贝叶斯算法 -- 原理,多项式模型文档分类预测,附p ...
- 为机器学习爱好者推荐一本书《贝叶斯方法:概率编程与贝叶斯推断》
本书的内容特色: 学习贝叶斯思维方式 ·理解计算机如何进行贝叶斯推断 ·利用PyMC Python库进行编程来实现贝叶斯分析 ·利用PyMC建模以及调试 ·测试模型的拟合优度 ·打开马尔科夫链蒙特卡洛 ...
- 【机器学习入门】(2) 朴素贝叶斯算法:原理、实例应用(文档分类预测)附python完整代码及数据集
各位同学好,今天我向大家介绍python机器学习中的朴素贝叶斯算法.内容有:算法的基本原理:案例实战--新闻文档的分类预测. 案例简介:新闻数据有20个主题,有10万多篇文章,每篇文章对应不同的主题, ...
- 朴素贝叶斯—疾病的预测
1. 朴素贝叶斯理论基础 贝叶斯决策理论方法时统计模型决策中的一个基本方法,基本思想如下: (1)已知类条件概率密度参数表达式和先验概率 (2)利用贝叶斯公式转换成后验概率 (3)根据后验概率大小进行 ...
- 基于概率论的分类方法:朴素贝叶斯及CSDN_RSS源分析
本文所有代码都是基于python3.6的,数据及源码下载:传送门 引言 最简单的解决方法通常是最强大的,朴素贝叶斯呢就是一个很好的证明.尽管在过去的几年里机器学习取得了巨大的进步,各种优秀算法层出不穷 ...
- 【Ryo】SPSS Modeler:贝叶斯网络在预测银行信贷风险中的应用
对银行信贷来说,如何量化客户违约的可能性,对潜在的风险进行预测是管理决策层关注的重中之重.面对复杂的信息结构和庞大的人群数据,运用贝叶斯网络能够理清相关影响因素的关联关系,是现在提高信贷违约风险预测正 ...
- 机器学习实验二:朴素贝叶斯和SVM——肿瘤分类与预测(朴素贝叶斯)
实操项目 1--肿瘤分类与预测(朴素贝叶斯) 实验要求 采用朴素贝叶斯方法,对美国威斯康星州的乳腺癌诊断数据集进行分类,实现针对乳腺癌检测的分类器,以判断一个患者的肿瘤是良性还是恶性. [实验要求] ...
- 机器学习实验之肿瘤分类与预测(朴素贝叶斯)
文章目录 肿瘤分类与预测(朴素贝叶斯) [实验内容] [实验要求] **[数据集]:威斯康星乳腺肿瘤数据集** 导入sklearn自带的数据集:威斯康星乳腺肿瘤数据集(load_breast_canc ...
- 机器学习:基于朴素贝叶斯(Naive Bayes)的分类预测
目录 一.简介和环境准备 简介: 环境: 二.实战演练 2.1使用葡萄(Wine)数据集,进行贝叶斯分类 1.数据导入 2.模型训练 3.模型预测 2.2模拟离散数据集–贝叶斯分类 1.数据导入.分析 ...
最新文章
- 蚂蚁集团研究员王益:Go+ 可有效补全 Python 的不足
- 【Android 应用开发】 Fragment 详解
- AI:《Why is DevOps for Machine Learning so Different?—为什么机器学习的 DevOps 如此不同?》翻译与解读
- NetApp 7MTT 工具进行存储数据的迁移
- sublime突然中文乱码
- python web框架 多线程_python 简单web框架: Bottle
- javascript 字符串操作函数大全
- TensorFlow 2.0 自定义操作与建模方式
- 从命令行获取两个路径名称并找出文件一样内容一样的两个文件
- 淘宝的生态灾难,谁来救赎?
- python软件不用买吗_Python 3.3+中的软件包不需要__init__.py吗
- 华为MSTP负载均衡配置示例
- 白板推导系列Pytorch-隐马尔可夫模型(HMM)
- mybatis 学习五 二级缓存不推荐使用
- unity如何实现图片透视_如何用java实现图片与base64转换
- 神州数码c语言笔试题,神州数码应聘笔试题(2)
- [tyvj2032]升降梯上dpspfa
- arcgis engine 打开shp文件
- 赵小楼《天道》《遥远的救世主》深度解析(90)谈经论道说心安
- 2016年如何用正确的姿势抢“头条”?
热门文章
- VBA批量标色删除两列重复值
- Manjaro Linux 魔兽世界 使用黑盒工坊安装插件
- Cousera - Deep Learning - 课程笔记 - Week 6
- go-cqhttp系列教程-gocqhttp数据处理端-2
- [LeetCode]347. 前 K 个高频元素
- [usOJ5677]御神渡
- 程序员都会的常用Linux网络命令汇总
- 人脸识别“火”了!网友:胖了、整容了怎么办?
- shared_ptr中的owner_before解析(最易懂,最全面)
- linux 字符 拨号上网,LINUX下用ADSL拨号上网