之前介绍了时间序列的基本概念和性质,现在就正式介绍一些处理时间序列的模型方法,第一个是移动平均法。

移动平均法很简单,就是用最近的数据预测未来短时间内的数据。有简单移动平均法,真的很简单,就是用最近的一组数据,去平均,作为下一时刻的预测:
Si=(xi−1+xi−2+...+xi−n)/nS_i = (x_{i-1} + x_{i-2} + ...+ x_{i-n})/nSi​=(xi−1​+xi−2​+...+xi−n​)/n
简单移动平均最大的优点就是通过计算平均可以减小随机波动的影响,当时序数据受到周期变动和随机波动的影响而起伏较大时,通过移动平均就能消除这种影响,进一步分析出它的发展方向与趋势。

简单移动平均的升级版就是加权移动平均,其实就是在各个时刻的数据加上一个权重,考虑了不同时刻的数据对未来的预测的作用的不同,不同于机器学习的模型,这里的权重更多是根据经验法和试算法确定的,个人觉得没有太大研究价值,不再深入讨论。

第二个要介绍的模型是指数平滑模型,它包括一次指数平滑、二次指数平滑、三次指数平滑,当时间序列没有明显趋势变化时,可以使用一次指数平滑进行预测,一次指数平滑的基本公式就是:
Si=α∗xi+(1−α)Si−1S_i = \alpha * x_i + (1-\alpha)S_{i-1}Si​=α∗xi​+(1−α)Si−1​
其中S_i是时刻t的预测值,x_i是时刻t的真实值,S_i-1是时刻t-1的预测值,a是平滑常数。一次指数平滑的预测公式是:
xi+k=six_{i+k} = s_ixi+k​=si​
一次指数平滑可以看成通过结合过去信息和当前信息进行预测,结合的方式就是通过合适的权重进行加权求和,得到的结果是一条直线,所以在序列没有明显趋势的时候才适用(即具有平稳性)。

如果序列具有线性趋势变化,就可以使用二次指数平滑,二次指数平滑的基本公式是:
Si=α∗xi+(1−α)(Si−1+ti−1)S_i= \alpha *x_i + (1-\alpha)(S_{i-1} + t_{i-1})Si​=α∗xi​+(1−α)(Si−1​+ti−1​)
ti=β∗(si−si−1)+(1−β)ti−1t_i = \beta * (s_i - s_{i-1}) + (1-\beta)t_{i-1}ti​=β∗(si​−si−1​)+(1−β)ti−1​
可以看出,二次指数平滑和一次指数平滑相比,加多了一项t_i用于表示趋势,在每个时刻对趋势进行分析,再加入到一次指数平滑中。预测公式是:
xi+h=si+h∗tix_{i+h} = s_i + h*t_ixi+h​=si​+h∗ti​
还记得之前提到过,一般的时间序列可表示为:
Zt=Tt+St+XtZ_t = T_t + S_t + X_tZt​=Tt​+St​+Xt​
其中包含了平稳的序列,趋势变化以及季节性变化,在二次指数平滑的预测公式中,我们看到预测值的等于一次指数平滑的预测值加上表示趋势变化的t_i,如果再继续引入季节性变化呢,就得到三次指数平滑了:
Si=α∗(xi−pi−k)+(1−α)(Si−1+ti−1)S_i = \alpha *(x_i-p_{i-k}) + (1-\alpha)(S_{i-1} + t_{i-1})Si​=α∗(xi​−pi−k​)+(1−α)(Si−1​+ti−1​)
ti=β∗(si−si−1)+(1−β)ti−1t_i = \beta * (s_i - s_{i-1}) + (1-\beta)t_{i-1}ti​=β∗(si​−si−1​)+(1−β)ti−1​
pi=γ∗(xi−si)+(1−γ)pi−kp_i = \gamma * (x_i - s_i ) + (1-\gamma)p_{i-k}pi​=γ∗(xi​−si​)+(1−γ)pi−k​
预测公式为:
xi+h=si+h∗ti+pi−k+hx_{i+h} = s_i + h*t_i + p_{i-k+h}xi+h​=si​+h∗ti​+pi−k+h​
总的来说,指数平滑的实质就是对现在的数据进行加权线性变换,不论是一次二次还是三次,即使是加入趋势和季节变化信息,也是用基本公式表示这些信息,然后汇总起来。

在github写的自然语言处理入门教程,持续更新:NLPBeginner

在github写的机器学习入门教程,持续更新:MachineLearningModels

想浏览更多关于数学、机器学习、深度学习的内容,可浏览本人博客

时间序列分析教程(二):移动平均与指数平滑相关推荐

  1. 时间序列分析及应用r语言pdf_R语言时间序列分析(十一):指数平滑法

    作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量.机器学习.数据可视化.应用统计建模.知识图谱等,著有& ...

  2. 一阶指数平滑c语言,时间序列数据之一、二、三阶指数平滑法

    原标题:时间序列数据之一.二.三阶指数平滑法 基本概念 时间序列数据: 是指一个数据序列,在时域上存在相互依赖的关系 前提假设: 时间序列分析一般假设我们获得的数据在时域上具有一定的相互依赖关系,例如 ...

  3. 时序预测 | MATLAB实现趋势外推时间序列预测(含移动平均、指数平滑对比)

    时序预测 | MATLAB实现趋势外推时间序列预测(含移动平均.指数平滑对比) 目录 时序预测 | MATLAB实现趋势外推时间序列预测(含移动平均.指数平滑对比) 基本介绍 程序设计 学习总结 参考 ...

  4. 时间序列进行分析的一些手法以及代码实现(移动平均、指数平滑、SARIMA模型、时间序列的(非)线性模型)

    文章目录 1.移动平均 moving average方法 weighted average方法 2.指数平滑 单指数平滑 exponential_smoothing 双指数平滑 三指数平滑 Tripl ...

  5. 时间序列分析中的移动平均趋势剔除法

    近期学到<统计学>(贾俊平.何晓群.金勇进编著)的第13章--时间序列分析和预测,里面的"移动平均趋势剔除法"看得我一头雾水,尤其是第一步的计算移动平均值,编者在书中一 ...

  6. 【时间序列】从移动平均到指数平滑

    移动平均 移动平均法是用一组最近的实际数据来预测未来一期或几期内目标值的常用方法.移动平均法适用于即期预测,当时间序列不会快速变化,且不存在季节性因素的时候,移动平均法能有效地消除预测中的随机波动,对 ...

  7. 29Python时间序列分析(美国消费者信心指数及维基百科点击量EDA,含实例数据)

    唐宇迪<python数据分析与机器学习实战>学习笔记 29Python时间序列分析 一.pandas生成时间序列 常见的时间序列:时间戳(timestamp):具体时间点2020.4.6的 ...

  8. 一文速学-时间序列分析算法之移动平均模型(MA)详解+Python实例代码

    目录 前言 一.移动平均模型(MA) 模型原理 自回归 移动平均模型 自相关系数 常用的 MA 模型的自相关系数 通用: MA(1)模型: MA(2)模型: 自协方差函数 二.Python案例实现 平 ...

  9. 时间序列分析教程(一):基本性质

    这个学期接触了时间序列分析,期末复习了几天,稍微总结一下写一个系列的文章,如果出现一些知识性错误或者迷惑的地方,欢迎交流. 时间序列分析,其实就是和自然语言处理一样对序列数据进行分析,只是这里的序列数 ...

最新文章

  1. ACMNO.40 C语言-子串 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串
  2. Mac OS X 使用命令sed替换tab
  3. 第二次作业+105032014001
  4. python 字符串前面加 f
  5. Java 自动装箱性能
  6. 探索Julia(part5)--字典
  7. python 参数_Python命令行参数(七)
  8. 微信公布7月朋友圈十大谣言 包括“奥运冠军杨倩被奖励1600万”等
  9. 自学python单片机编程-Python玩转单片机:从基础到进阶,几款主流的开发板大盘点!...
  10. linux手机摩托,[图]摩托罗弹奏Linux顺手机的前生
  11. 服务器使用nginx做代理,通过HttpServletRequest获取请求用户真实IP地址
  12. java 调用tomcat api,tomcat处理http请求-下
  13. 线性回归,最小二乘法 C语言实现
  14. endnote layout can not be formatted because it is no longer open
  15. 低代码开发之开源数据可视化分析平台datagear
  16. 贴片晶振邻层挖空背后的原理
  17. 计算机网络的组成及其逻辑结构
  18. php12生肖是哪个,生肖查询-十二属相年份查询-生肖五行查询-12生肖顺序查询
  19. 2022-2027(新版)中国工业5G技术行业发展动态与前景规划分析报告
  20. 搜索引擎优化的一般内容应包括什么

热门文章

  1. wps在线预览接口_WPS文档在线预览接入的一点心得
  2. 使用FreeMarker生成word文档(带图片),word转pdf,预览pdf,pdf下载工具类
  3. Node.JS实战34:远程屏幕监控?可以的
  4. python中日期格式和时间戳格式的转换
  5. 利用Matlab描述和求解传递函数
  6. 熬夜刚完的注解与反射
  7. Rockchip Android平台内存优化及系统裁剪
  8. 国外长高书籍内有详细锻炼方法
  9. java/php/net/python教学评价系统设计
  10. 数据安全加密技术分析