时间序列学习篇

今天看了一些时间序列算法相关的文档和帖子。很惭愧,也是搞了很长时间预测算法的人了,但是都没能详细学习一下时间序列的理论。

首先,要预测一个时序问题,可以从什么路径解决呢?一种是认为过去序列状态影响将来的状态,是一种状态转移的角度;另一种是认为时间序列可以看做周期函数的叠加,这样对周期函数在频域做分析,也就是傅里叶展开的方法。我们这里先讨论第一种路径。

那么时间序列可以被认为包含哪几种部分呢?这里就直接给结论了:

可以分为趋势性(Trend)、季节性(Seasonal)、循环性(cyclical)、以及一些无规律的(Irregular)部分。

所以,我们分析时间序列,首先要对问题建模,找到各个部分,然后分别建模,这样分析问题才是有的放矢。如果直接对序列的整体建模,就会导致一旦出了错,不知道究竟改进那个部分比较好。当然之前还建模是用基线+天气+活动等乱七八糟的因子去叠加,但这种本质上是不好的,首先基线这里用的其实是ma的方法,然后天气、活动这些都是扰动项;所以还缺了一个ar,也就是自回归的方法。

然后讲到了序列平稳的定义。平稳是一个重要的概念。分为严格平稳和弱平稳。严格平稳就是说无论从序列的哪段连续采样,都是同分布的;而弱平稳需要满足一些条件,比如二阶矩是有界的,序列均值是恒定的,等等。

然后还有协方差的概念。其实协方差矩阵听起来概念可怕,实际上就是序列里两个时刻的关联性,也就是说能不能用过去时刻的变量来预测未来时刻。不难发现,如果是相互独立的变量,那么协方差矩阵只能在对角线上有非零值,其他值都是0;这种序列也不能用自回归的方式来预测。

那么有了协方差矩阵,还有一个自相关系数;其实就是算协方差和每个时刻变量分布方差的比值。不难看出,如果是严平稳序列,自相关系数应该就是1了。

自相关系数(ACF)是检验序列能否用时序分析法建模的重要指标。

最后讲一讲ARIMA模型吧。前面已经提到了ar(自回归)和ma(移动平均)两种方法,其实这两种思想是有区别的。ar是认为当前时刻的序列状态和几个lag状态相关;其实在建模的过程中,忽略了剩余项wt的建模。而ma是认为,我观测的序列一直是平稳的,有一个稳定的均值项μ,误差是在有规律的扰动,我们建模这个误差的规律就可以。但可能现实场景,这两种建模方式都不完全正确。因此需要综合两种建模方法。另外arima的i指的其实是差分累积;一般来讲,一个时间序列可能不是稳态的,但是如果隔几天做个差,就可以把周期性突变消除,变成稳态的序列了。但是这个差分一般不需要很高阶。对于arima(p,d,q)来说,p,d,q分别对应自回归lag项,差分阶数和ma观察项。这几个参数的取值范围是,p一般不超过5,d不超过2,q不超过5。

先总结到这里,后续再补充。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值