第六篇我们要对之前提过的 AR model (AutoRegressive model) 做一个延伸,那就是「VAR (Vector Autoregression model),向量自回归模型」!
为什麽要延伸介绍它呢?
这是因为原本的 AR model 只能处理单变量时间序列,而 VAR 可以容纳大於 1 个变量,所以适用於处理「多变量时间序列 (multivariate time series)」,更贴近实务需求!
虽然向量自回归模型是一个进化版,但相比现今非线性模型,如树回归模型、递归神经网络家族等,向量自回归主要还是线性方法,对於变化更复杂的时间序列就还是有很多优化空间了。
还记得我们说过自回归模型是,假设当前时间点数值与过去时间点存在一线性关系。
那延伸到 VAR,就是将原本的单变量,改以矩阵表示多变量的自回归系数,用以下公式表示:
其中:
实际把矩阵写出来,以时间序列中有 2 个变量的 VAR(1) 为例:
(VAR(p),p=1,当前时间与过去前 1 个时间点的线性关系表达式)
有什麽套件能够帮助我们建立 VAR model 呢? 当然不能不提到 python package 中的统计爱用包:statsmodels
from statsmodels.tsa.api import VAR
除此之外,做完整的时间序列分析,不能少了「平稳性检测(Stationarity Check)」以及拟合程度指标,常用的例如: AIC (Akaike information criterion)、RMSE (Root-Mean-Squared Error)
from statsmodels.tsa.stattools import adfuller
from statsmodels.tools.eval_measures import rmse, aic
下一篇我们就可以来实际走过一遍,如何用 Python 进行多变量时间序列预测。
<<: DAY21 MongoDB Profiler 如何监控效能差的操作
适用人员: 资安人员/技术人员。 适用法规: 资通安全责任等级分级办法 - 附表十资通系统防护基准....
在上一篇文中我们提到了一维弹力模拟的案例 这次我们则是要实作二维弹力模拟~并且是存在重力场的状态! ...
昨天初步认识 python 怎麽设定变数的操作,今天我们要聚焦在串列、字典、字串的操作,东西有点多X...
想请教一下大家, 我想由 Site A LAN 连线到 Site B LAN, 环境简介如下: //...
人工智慧8 前言 系列文章简介 大家好,我们是 AI . FREE Team - 人工智慧自由团队,...