statsmodels 笔记:VAR
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已经实现了后者) 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相关推荐
- statsmodels 笔记 STL
理论部分见:机器学习笔记: 时间序列 分解 STL_UQI-LIUWJ的博客-CSDN博客 1 基本用法 class statsmodels.tsa.seasonal.STL(endog, perio ...
- statsmodels 笔记:自回归模型 AutoReg
理论部分"算法笔记:ARIMA_UQI-LIUWJ的博客-CSDN博客 1 基本用法 class statsmodels.tsa.ar_model.AutoReg(endog, lags, ...
- statsmodels笔记:绘制ACF和PACF
理论部分见 算法笔记:ARIMA_UQI-LIUWJ的博客-CSDN博客 3.1 & 3.2 1 绘制自相关函数ACF from statsmodels.graphics.tsaplots i ...
- statsmodels 笔记:seasonal_decompose 时间序列分解
1 使用方法 statsmodels.tsa.seasonal.seasonal_decompose(x, model='additive', filt=None, period=None, two_ ...
- JavaScript笔记 var e=e||window.event
你是如何理解var e=e||window.event的?相信很多人都能给我个回答说是:为了实现多种浏览器兼容. 不错,确实是为了实现浏览器兼容,但是它又是如何实现浏览器兼容的呢? 其实,如果把他写全 ...
- Unity3d学习笔记 var 关键字
Unity中写脚本用C#的时候,那么当返回值不是固定的怎么办? var关键字 var 是3.5新出的一个定义变量的类型 其实也就是弱化类型的定义 VAR可代替任何类型 编译器会根据上下文来判断你到底是 ...
- Cesium学习笔记(四)Camera
http://blog.csdn.net/HobHunter/article/details/74909641 Cesium 相机控制场景中的视野.操作相机的方法有很多,如旋转,缩放,平移和飞到目的地 ...
- HTML5与移动端web学习笔记
概述 HTML5 提供了很多新的功能,主要有: 全选复制放进笔记 新的 HTML 元素,例如 section, nav, header, footer, article 等 用于绘画的 Canvas ...
- python库整理目录
zip与zip(*)_刘文巾的博客-CSDN博客 python函数整理_刘文巾的博客-CSDN博客 python笔记:正则表达式_刘文巾的博客-CSDN博客 python笔记:深拷贝与浅拷贝_刘文巾 ...
最新文章
- 堆(heap)与栈(stack)的区别(一)
- string java getbytes_从 String.getBytes 理解 Java 编码和解码
- Cpp / 拷贝构造函数的参数为什么必须使用引用类型
- unittest-读取yaml文件
- ASP.NET企业开发框架IsLine FrameWork系列之八--AppLogProvider日志框架(下)
- 一文了解十大 Java 开发者必备测试框架!
- FREETYPE旋转功能初探
- excel宏教程_用Excel做个年会抽奖软件,老板惊呆了!
- 基于社会工程学的网络攻击手段分析
- TaoAudio: 淘宝直播短视频音频解决方案
- 实现对绝对地址赋值详解实现绝对地址开始执行程序详解
- 悼念512汶川大地震遇难同胞——选拔志愿者
- Win11系统组策略编辑器打不开解决方法
- 【Matplotlib】(三)折线图
- Win32 组合框控件的使用
- 管理后台项目-04-SPU列表-增删改SPU-获取SKU【续】
- linux 命令 dsm,群晖常用指令 - osc_sa9nsts3的个人空间 - OSCHINA - 中文开源技术交流社区...
- SPSS统计软件学习
- Global Pointer
- 编码之道(六):程序员的修练之道
热门文章
- sqlserver 多排序的问题
- 如何添加和删除LaunchPad里面的程序图标
- 如何自己动手建立最简单的动态网站
- Cortex-M3基本知识点(手册)
- 802.11协议精读9:初探节能模式(PS mode)与缓存机制
- vectorint[]和vectorint()有什么区别?
- c++runtime error单调栈
- 中国人民大学_《组织行为学》_15如何降低集体决策的风险?
- 自考计算机及应用笔记,自考“计算机及应用”专业论文参考范文
- 安卓中radiobutton不进入监听事件_Laravel模型事件的实现原理详解