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

1 基本用法

class statsmodels.tsa.ar_model.AutoReg(endog, lags, trend='c', seasonal=False, exog=None, hold_back=None, period=None, missing='none', *, deterministic=None
)

2  参数说明

endog 一维序列,需要自回归的因变量
lags

{None, int, list[int]}

包含一个整数或滞后指数列表。

例如,[1,4]只包含滞后1和4,而4则包含滞后1、2、3和4。

None排除所有AR滞后,且行为一致为0。

3 举例说明

3.1 训练模型

import pandas as pd
import numpy as np
from statsmodels.tsa.ar_model import AutoReg
import matplotlib.pyplot as plt
from sklearn.metrics import mean_squared_error as MSEdf = pd.read_csv('https://raw.githubusercontent.com/jbrownlee/Datasets/master/daily-min-temperatures.csv',index_col=0, parse_dates=True)x = df.values
lag=[1,3,7]
#滞后集,表示当前时刻的时序信号会受到多少过去时刻时序信号的影响。train, test = x[:-max(lag)], x[-max(lag):]
# 把模型数据分为train和test,分别用来训练模型和对比模型预测结果model_fit = AutoReg(train,lag,old_names=False).fit()
#训练模型print(model_fit.params)
#[1.3344155  0.61595801 0.10489587 0.15938696]
'''
从前往后分别是:偏差,一个时间片之前数据的影响,3个时间片之前数据的影响,7个时间片之前数据的影响(和lag顺序一致)
'''

3.2 测试模型

history = train[-max(lag):]
history = np.hstack(history).tolist()
print(history)
#[17.2, 14.7, 15.4, 13.1, 13.2, 13.9, 10.0]
test = np.hstack(test).tolist()
print(test)
#test = np.hstack(test).tolist()
#[12.9, 14.6, 14.0, 13.6, 13.5, 15.7, 13.0]
redictions = []
for t in range(len(test)):#逐时间片地预测late = history[-max(lag):]#本轮时间片所能看到的过去的时序信号yhat = params[0]#params[0]是偏移量for i in range(len(lag)):yhat += params[i+1] * late[max(lag)-lag[i]]#参数乘以对应的过去时序信号predictions.append(yhat)obs = test[t]history.append(obs)#当前的test信号也作为我们已经看过的过去信号print(np.mean((np.array(test) - np.array(predictions))**2))
#1.5267307279954954
# 得到mean_squared_error, MSEplt.plot(test)
plt.plot(predictions, color='r')
plt.show()

statsmodels 笔记:自回归模型 AutoReg相关推荐

  1. statsmodels 笔记:VAR

    1 数据&库函数 import numpy as np import pandas import statsmodels.api as sm from statsmodels.tsa.api ...

  2. statsmodels 笔记 STL

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

  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. Python 第三方模块 统计1 statsmodels模块2 时间序列

    三.时间序列研究(Time-Series Study) (1)导入: #通常导入为tsa: import statsmodels.tsa.api as tsa #注意: ①这类接口推荐用于交互式使用 ...

  6. python库整理目录

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

  7. Python数模笔记-StatsModels 统计回归(1)简介

    1.关于 StatsModels statsmodels(http://www.statsmodels.org)是一个Python库,用于拟合多种统计模型,执行统计测试以及数据探索和可视化. 欢迎关注 ...

  8. Python数模笔记-StatsModels 统计回归(3)模型数据的准备

    1.读取数据文件 回归分析问题所用的数据都是保存在数据文件中的,首先就要从数据文件读取数据. 数据文件的格式很多,最常用的是 .csv,.xls 和 .txt 文件,以及 sql 数据库文件的读取 . ...

  9. Python数模笔记-StatsModels 统计回归(2)线性回归

    1.背景知识 1.1 插值.拟合.回归和预测 插值.拟合.回归和预测,都是数学建模中经常提到的概念,而且经常会被混为一谈. 插值,是在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数 ...

最新文章

  1. 在IBatisNet中使用存储过程
  2. js win10语音朗读文字
  3. SpringBoot @Configuration •@Import •@Conditional•@ImportResoure基本使用
  4. C++类的使用(三)—— 封装
  5. 图解集合8:红黑树的移除节点操作
  6. 转:Singleton模式
  7. 《SAS编程与数据挖掘商业案例》学习笔记之五
  8. 【渝粤题库】陕西师范大学800011 专题地图制图
  9. 记一次git amend事故处理方案
  10. 图解java多线程设计模式 pdf_图解Java设计模式之状态模式
  11. AC日记——单词替换 1.7 21
  12. 商业流程中的traversedpath
  13. springmvc源码-参数解析
  14. 你的喜爱——软件测试方法和技术
  15. c语言约分最简分式原理,算法基础:约分最简分式
  16. ubuntu wine qq
  17. QList、QVector,QSet,std::vector,std::list直接的转换关系总结
  18. char* 和 char[]区别
  19. 条件生成对抗神经网络,生成对抗网络gan原理
  20. 华为鸿蒙系统到底能否使用,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可 !【手机吧】_百度贴吧...

热门文章

  1. 我为什么还要造轮子?欠踹?Monk.UI表单美化插件诞生记!
  2. Bitbucket Pipelines在Atlassian的Bitbucket云上提供持续交付功能
  3. CI中PHP写法规范(不断更新)
  4. XCode Could not launch quot;quot; failed to get the task for process
  5. RemoteApp连接时所需要的证书
  6. HDU 4288 Coder [线段树]
  7. Vs2008 开发Wap 网站
  8. foxmail使用技巧
  9. 算法提高课-图论-有向图的强连通分量-AcWing 1174. 受欢迎的牛:tarjan算法求强连通分量、tarjan算法板子、强连通图
  10. 《现代操作系统》第4章读书笔记--文件系统(未完成)