1 数据&库函数

import numpy as np
import pandas
import statsmodels.api as sm
from statsmodels.tsa.api import VAR
mdata = sm.datasets.macrodata.load_pandas().datadates = mdata[['year', 'quarter']].astype(int).astype(str)quarterly = dates["year"] + "Q" + dates["quarter"]mdata = mdata[['realgdp','realcons','realinv']]mdata.index = pandas.DatetimeIndex(quarterly)data = np.log(mdata).diff().dropna()

2 VAR

VAR类假设过去的时间序列是平稳的。非平稳数据通常可以通过一阶差分或其他方法转换为平稳数据。对于直接分析非平稳时间序列,一个标准的稳定VAR(p)模型是不合适的。

判断数据平稳性,可以用:statsmodels笔记:判断数据平稳性(adfuller)_UQI-LIUWJ的博客-CSDN博客

class statsmodels.tsa.vector_ar.var_model.VAR(endog)

endog就是要传入VAR的数据

举例:

model = VAR(data)

2.1 方法&属性

fit(maxlags)

喂入 最大的时延(最多考虑过去多久的自回归),fit数据

summary

对模型的分析

k_ar

这个model对应的maxlag值

select_order

VAR.select_order(maxlags=None,trend='c')

基于每个可用信息标准计算滞后顺序选择

(滞后顺序的选择可能是一个困难的问题。标准分析采用似然检验或基于信息准则的顺序选择。VAR已经实现了后者)

AIC和BIC需要越小越好,算法笔记:ARIMA_UQI-LIUWJ的博客-CSDN博客

通过上面的输出,我们可以发现lag取1或者3的时候比较好

2.2 绘图

2.2.1 plot()

就是把不同的time series分别画出来

m=model.fit(9)
m.plot()

2.2.2 绘制时间序列自相关函数

ACF理论部分见:算法笔记:ARIMA_UQI-LIUWJ的博客-CSDN博客

m.plot_acorr()

2.2.3 plot_forecast

预测值和上下2个标准差的区间

3 预测

线性预测器是基于均方误差的最优h步提前预测:

我们可以使用预测函数来生成这个预测。请注意,我们必须指定预测的“初始值”:

m.forecast(data.values[-2:], 5)
'''
array([[ 0.00502587,  0.0053712 ,  0.0051154 ],[ 0.00593683,  0.00784779, -0.00302473],[ 0.00662889,  0.00764349,  0.00393308],[ 0.00731516,  0.00797044,  0.00657495],[ 0.00732726,  0.00808811,  0.00649793]])
'''

表示以哪几个数字开始,向后预测几个时间片

array([[ 0.00502587,  0.0053712 ,  0.0051154 ],[ 0.00593683,  0.00784779, -0.00302473],[ 0.00662889,  0.00764349,  0.00393308],[ 0.00731516,  0.00797044,  0.00657495],[ 0.00732726,  0.00808811,  0.00649793]])

statsmodels 笔记:VAR相关推荐

  1. statsmodels 笔记 STL

    理论部分见:机器学习笔记: 时间序列 分解 STL_UQI-LIUWJ的博客-CSDN博客 1 基本用法 class statsmodels.tsa.seasonal.STL(endog, perio ...

  2. statsmodels 笔记:自回归模型 AutoReg

    理论部分"算法笔记:ARIMA_UQI-LIUWJ的博客-CSDN博客 1 基本用法 class statsmodels.tsa.ar_model.AutoReg(endog, lags, ...

  3. statsmodels笔记:绘制ACF和PACF

    理论部分见 算法笔记:ARIMA_UQI-LIUWJ的博客-CSDN博客 3.1 & 3.2 1 绘制自相关函数ACF from statsmodels.graphics.tsaplots i ...

  4. statsmodels 笔记:seasonal_decompose 时间序列分解

    1 使用方法 statsmodels.tsa.seasonal.seasonal_decompose(x, model='additive', filt=None, period=None, two_ ...

  5. JavaScript笔记 var e=e||window.event

    你是如何理解var e=e||window.event的?相信很多人都能给我个回答说是:为了实现多种浏览器兼容. 不错,确实是为了实现浏览器兼容,但是它又是如何实现浏览器兼容的呢? 其实,如果把他写全 ...

  6. Unity3d学习笔记 var 关键字

    Unity中写脚本用C#的时候,那么当返回值不是固定的怎么办? var关键字 var 是3.5新出的一个定义变量的类型 其实也就是弱化类型的定义 VAR可代替任何类型 编译器会根据上下文来判断你到底是 ...

  7. Cesium学习笔记(四)Camera

    http://blog.csdn.net/HobHunter/article/details/74909641 Cesium 相机控制场景中的视野.操作相机的方法有很多,如旋转,缩放,平移和飞到目的地 ...

  8. HTML5与移动端web学习笔记

    概述 HTML5 提供了很多新的功能,主要有: 全选复制放进笔记 新的 HTML 元素,例如 section, nav, header, footer, article 等 用于绘画的 Canvas ...

  9. python库整理目录

     zip与zip(*)_刘文巾的博客-CSDN博客 python函数整理_刘文巾的博客-CSDN博客 python笔记:正则表达式_刘文巾的博客-CSDN博客 python笔记:深拷贝与浅拷贝_刘文巾 ...

最新文章

  1. 堆(heap)与栈(stack)的区别(一)
  2. string java getbytes_从 String.getBytes 理解 Java 编码和解码
  3. Cpp / 拷贝构造函数的参数为什么必须使用引用类型
  4. unittest-读取yaml文件
  5. ASP.NET企业开发框架IsLine FrameWork系列之八--AppLogProvider日志框架(下)
  6. 一文了解十大 Java 开发者必备测试框架!
  7. FREETYPE旋转功能初探
  8. excel宏教程_用Excel做个年会抽奖软件,老板惊呆了!
  9. 基于社会工程学的网络攻击手段分析
  10. TaoAudio: 淘宝直播短视频音频解决方案
  11. 实现对绝对地址赋值详解实现绝对地址开始执行程序详解
  12. 悼念512汶川大地震遇难同胞——选拔志愿者
  13. Win11系统组策略编辑器打不开解决方法
  14. 【Matplotlib】(三)折线图
  15. Win32 组合框控件的使用
  16. 管理后台项目-04-SPU列表-增删改SPU-获取SKU【续】
  17. linux 命令 dsm,群晖常用指令 - osc_sa9nsts3的个人空间 - OSCHINA - 中文开源技术交流社区...
  18. SPSS统计软件学习
  19. Global Pointer
  20. 编码之道(六):程序员的修练之道

热门文章

  1. sqlserver 多排序的问题
  2. 如何添加和删除LaunchPad里面的程序图标
  3. 如何自己动手建立最简单的动态网站
  4. Cortex-M3基本知识点(手册)
  5. 802.11协议精读9:初探节能模式(PS mode)与缓存机制
  6. vectorint[]和vectorint()有什么区别?
  7. c++runtime error单调栈
  8. 中国人民大学_《组织行为学》_15如何降低集体决策的风险?
  9. 自考计算机及应用笔记,自考“计算机及应用”专业论文参考范文
  10. 安卓中radiobutton不进入监听事件_Laravel模型事件的实现原理详解