1. 一些简单的预测方法

  • 平均值预测法:所有预测值都等于历史数据的均值。
  • 朴素预测法:所有预测值都等于数据中最后一个观测值。
  • 季节朴素预测法:对于季节性数据,预测值等于同一季度的最后一个观测值。比如,假设数据是以月份为间隔,那么未来所有1月份的预测值都等于历史数据中最后一个1月份的值。
  • 趋势预测法:在y1y_1y1​和yTy_TyT​之间画一条直线,未来所有预测值都落在这条直线上,即:

在某些场景下,这些预测方法还真的管用。但我们常把它们作为评价其他方法的benchmark。

2. 变换与调整

变换与调整可以使得历史数据中的模式更加简单,从而可以使用更简单的预测模型,获得更准确的预测结果。

日历调整(Calendar adjustments)

有时候数据的差异是由于日历因素造成的。比如,我们的数据是每月的牛奶产量,而一年有12个月,每个月的天数不一样。如果能消除掉这个影响,比如把数据转化为以天为单位,我们会得到更简单的pattern。示例:

人口调整(Population adjustments)

当数据受到人口变化的影响时,我们应当将数据转化为per-capita的数据,也就是说,考虑每人、每一百人或每一千人的data,而非总的data。

通胀调整(Inflation adjustments)

如果数据受到货币价值的影响,我们应当对其调整。20年前一套20万的房子与现在一套20万的房子没法比。因此,financial相关的时间序列通常基于某一年美元价格进行调整。

数学变换

有时候, 数据的方差随时间变化。这时候,可以使用对数变换。假如我们以10为底,则原始数据变化10倍,在对数域上仅增减1,因此对数起到压缩变化范围的作用。

也可以使用幂变换,比如平方根也能起到压缩的作用。

一般地,有Box-Cox变换:

λ\lambdaλ是一个可调的参数,可以根据需要选择对数变换或幂变换。

我们使用变换后的数据进行预测,预测完成后,要进行反变换:

3. 残差诊断

残差

残差是指观测值与拟合值的差:
et=yt−y^te_t=y_t-{\hat y}_tet​=yt​−y^​t​

其中,y^t{\hat y}_ty^​t​是对观测值预测的结果。一个好的预测方法的残差应该满足:

  • 残差是不相关的。否则,残差中包含未被利用的信息。
  • 残差是0均值的。否则,我们的预测是有偏的。

如果一个预测算法不满足以上二点,则它有提升的空间。若残差均值为m(m≠0)m(m\neq0)m(m̸​=0),我们只需要给预测值加上m即可。检查上述两个条件有助于知道我们的model是否充分利用了可用的信息,但不应该作为选择模型的标准。此外,如果残差满足下面2个性质,则预测区间的计算会更加容易:

  • 残差的方差一致。
  • 残差服从正态分布。

portmanteau test

除了观察残差的自相关,我们可以做portmanteau test来检验残差自相关的前h个值是否显著区别于白噪声。一种portmanteau test为Box-Pierce test:

另一种是Box-Pierce test:

太大的Q或Q∗Q^*Q∗意味着此自相关不是来自白噪声。

4. 评价预测准确度

训练集与测试集

对于预测问题,我们也需要划分训练集与测试集。训练集用于估计模型参数,测试集用于评估预测准确度,这样才能反映模型对于新数据的预测能力。

预测误差

预测误差指观测值与预测值的差。注意,误差是在测试集上算的,而残差是在训练集上算的,这两个概念要分清。

Scale-dependent errors

Scale-depentent就是指误差的值与数据的值的单位一样,也就是一个绝对的误差,不能用来比较不同单位(尺度)的数据。两种常用的Scale-depentent误差为:

百分比误差

上面的ete_tet​为绝对误差,我们可以定义百分比误差(也就是相对误差)pt=100et/ytp_t=100e_t/y_tpt​=100et​/yt​,ptp_tpt​自然就和数据的单位无关了。定义:

百分比误差的问题在于,当yty_tyt​为0或接近0时,会产生不稳定的值。同时,它仅对定比变量(ratio scale)有意义,而对定距变量(interval scale)没有意义。关于定比变量和定距变量可以参考。

Scaled errors

另一种衡量相对误差的方法是scaled errors,它是基于采用一个简单预测方法时的训练MAE对预测误差进行scale。

对于非季节性数据,scaled error可以定义为:

其中,分母是采用朴素预测法时在训练集上的MAE。

对于季节性数据,scaled error可以定义为:

分母是采用季节朴素预测法时在训练集上的MAE。

Forecasting: Principles and Practice读书笔记Chapter 3相关推荐

  1. 《C++捷径教程》读书笔记--Chapter 16--模板(完结)

    //--<C++捷径教程>读书笔记--Chapter 16--模板(完结) //--Chapter 16--模板 //--04/16/2006 Sun. //--Computer Lab ...

  2. 《C++捷径教程》读书笔记--Chapter 14--继承(完结)

    //--<C++捷径教程>读书笔记--Chapter 14--继承(完结) //--Chapter 14--继承 //--04/14/2006 Friday //--Computer La ...

  3. 《C++捷径教程》读书笔记--Chapter 10--结构与联合

    //--<C++捷径教程>读书笔记--Chapter 10--结构与联合 //--Chapter 10--结构与联合 //--11/24/2005 Thurs. //--Computer ...

  4. [The Path to QUANT] 《Volatility Trading》by Euan Sinclair 读书笔记 Chapter 3

    <Volatility Trading> by Euan Sinclair Chapter 3 收益率和波动率的典型事实 典型事实列表 波动率并非常数 收益率分布 成交量和波动率 波动率分 ...

  5. [The Path to QUANT] 《Volatility Trading》by Euan Sinclair 读书笔记 Chapter 4

    <Volatility Trading> by Euan Sinclair Chapter 4 预测波动率 波动率是否可以被预测? 无摩擦交易市场(交易费用为零) 信息有效(完美信息流) ...

  6. 判断性预测(Forecasting: Principles and practice第五章)

    使用判断预测三种情况:  没有可用的数据:此时统计方法不适用,判断预测是唯一可行的方法  可获得数据,生成统计预测,然后用判断对其进行调整  可获得数据,并独立生成统计和判断性预测,然后进行合并 ...

  7. 面向对象设计原则-Principles and Patterns读书笔记三

    原作者 Robert C. Martin 原文:http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf 引 ...

  8. 什么是需求预测(Forecasting: Principles and practice第一章)

    getting started 1.1 what can be forecast? 事件或数量的可预测性取决于 我们对造成这种情况的因素了解程度如何 有多少数据可用 预测是否会影响我们要预测的事物 1 ...

  9. 温习Android基础知识——《第一行代码(第三版)》读书笔记 Chapter 2 Kotlin语法

    第二章:探究新语言,快速入门Kotlin编程 Google在2017年的I/O大会上宣布Kotlin为Android的一级开发语言,之后又在2019年的I/O大会上宣布其成为Android第一开发语言 ...

最新文章

  1. 注入游戏没有焦点_不戴眼镜看3D电影、玩3D游戏,这项技术能焕发端游市场第二春吗?...
  2. python代码规范链接
  3. Angular2学习笔记——NgModule
  4. 使用python简单连接并操作数据库
  5. python廖雪峰教程 学习笔记
  6. Magoshare Data Recovery使用教程:在mac上恢复找回删除的丢失文件
  7. 伟大的Redis:Redis学习资料荟萃
  8. 降维系列之 MDS多维缩放 与 ISOMAP 等度量映射
  9. 聊聊编码那些事——Unicode,gb2312,cp936,GBK,GB18030
  10. HDU 1097 JAVA
  11. Win10 - 使用‘Alt+Tab’不能切换窗口及更改切换风格
  12. ME21N/ME22N/ME23N屏幕增强BADI ME_GUI_PO_CUST
  13. java大作穿越arpg_动作与角色扮演完美结合 精品ARPG游戏盘点
  14. Latex 中如何使插图的位置不跑到开头而紧跟插入的文字后
  15. 转载 总结了一下十几年来的经验教训
  16. Link-添加网页图标
  17. 锐捷 Smartweb管理系统 密码信息泄露漏洞
  18. 如何理解视频会议体统中的GK?
  19. 前端 table列表自行排序
  20. 51单片机8×8LED点阵屏动态显示取模汉字+ Proteus仿真

热门文章

  1. Java中文拼音转换
  2. BTC涨这么多,还能买吗?要卖吗?| 量化定投策略告诉你答案【附代码】
  3. Sheldon Numbers (暴力枚举)
  4. 7月火影忍者服务器维护,7月12日停机更新公告
  5. 你们中国人真TM假,微信居然能撤回…
  6. 【转】十大智能家居系统解决方案
  7. 大数据环境-云平台(阿里云)
  8. 解决目前阶段翻译插件Translation谷歌翻译的问题
  9. 日本科学家的AI读心术,解码脑电波,还原人眼所见
  10. telnet怎么算成功_男人一生怎么才算成功?