数学建模系列-预测模型(四)---时间序列模型

本文介绍了时间序列模型在预测中的应用,包括长期趋势、季节变动、循环变动和不规则变动的分析。讨论了ARIMA模型、指数平滑法、时间序列分解等方法,并推荐了Facebook-Prophet作为有效解决方案。
摘要由CSDN通过智能技术生成

上回书说到,预测模型中的插值与拟合已经讲述完毕。现在我们研究的是时间序列模型。

分类
与普通的数值拟合不同,时间序列的拟合需要考虑多种因素,本质上是一种高级的拟和方式。同时也是一种黑箱模型,

小结一下:多参数对多/单结果:神经网络模型
单/复参数-单结果:线性回归模型
参数极度短缺:灰色模型。

定义
可以简单理解为自变量为时间的数据拟合模型。

底层逻辑
承认事物发展的延续性,运用过去的时间序列数据进行统计分析,推测出事物的发展趋势;另一方面充分考虑到由于偶然因素影响而产生的随机性,为了消除随机波动产生的影响,利用历史数据进行统计分析,并对数据进行适当处理,进行趋势预测。即认真考虑时间流逝的规律性。

分析方法
与普通黑箱模型不同,时间序列要考虑的有:
1.长期趋势(这也是所有黑箱模型考虑的)
2,季节变动
3.循环变动(根据某些规律产生)
4。不规则变动(如某些特殊节假日、特殊事件等)、

建模中一般用加法模型和惩罚模型,或者综合两者,底层逻辑就是将这些变动/趋势量化后叠加、

解决方法
1.kalman filter
可以参见上一讲的链接,了解卡尔曼滤波法。

2.时间序列平均水平法
比较简单的算法,通过每年熟知的平均值预测;改进方法为通过每年的增长量加权平均。说句实话意义不是很大,只是列出。也可以改为微分方程预测。

3.指数平滑法
相比于方法2,指数平滑法进一步加强了观察期近期观察值对预测值的作用,对不同时间的观察值所赋予的权数不等,从而加大了近期观察值的权数,使预测值能够迅速反映市场实际的变化。模型中参数a越大,那么近期所占的权重就越大。
S(t)=aY+(1-a)S(t-1).因此该模型需要自己设初始值S(0)和a.

可以用excel等软件直接实现,平滑预测基于的更像是人口模型等的底层逻辑。当一次指数平滑后曲线有线性特征时,考虑二次(当平滑成直线)、三次平滑(当平滑成抛物线)加强稳定性。在一般的数据中勉强够用了。

改进方法:当数据有一个明显上升/下降趋势时,可以加一个趋势补偿函数,由此来弥补原本预测带来的滞后效应。X补偿=bX原+(1-b)(\delta Y)。就是根据最近的趋势以及原本的函数分权相加。如果已经进行过二、三阶平滑,可以考虑留下最近5组数据作为实验组来裁定是否有滞后,

前面三种基本还是线性回归/神经网络/微分方程的思路,对于时间导致的周期性的考虑不大。

4.ARIMA模型
在实际中遇到的时间序列往往有趋势性、季节性等, 本节主要采用差分方法,有时还要用时间序列的变换方法,消除其趋势性、季节性,使得变换后的序列是平稳序列,并用ARMA 序列的方法去研究。

ARMA分为AR和MA
AR(p阶):X(t)=其余X(n)的加权和+白噪声
MA(q阶):X(t)=其余X(n)的移动量加权和—+白噪声
差分方法可消除正相关但同时引入负相关
AR项可消除正相关,MA项消除负相关
AR项和MA项作用会相互抵消,通常包含两种要素时可尝试减少某项,避免过拟合。

(1)差分法去掉周期性、趋势性以及随机性
在这里插入图片描述
(2)取参数ARIMA(p,d,q)

(3)带入数据求解。

mat代码如下:

clc,clear 
a = text read(<
  • 2
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值