python statsmodel的使用


Posted in Python onDecember 21, 2020

1、Pandas

Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,相当于这是Python官方自己的一套库

statsmodel是基于Pandas开发的一套库,用于一些描述统计、统计模型估计、推断、预测

2、自回归模型(AutoRegression model,AR)

自回归,从物理的角度来理解就是:当前记录与其历史记录的差值。eg,自回归认为历史的发展是一条斜率一定的直线。

3、滑动平均模型(moving average model, MA)

移动平均,从物理的角度来理解就是:当前记录是历史记录的均值。eg,移动平均模型认为历史的发展是一条水平的线。

4、高级时间序列模型ARMA

ARMA就是把AR和MA结合在一起的一种算法,当AR和MA混合在一起,可以认为是一个y=ax+b的过程,自回归提供了a这个系数,移动平均提供了b这个截距。

5、高级时间序列模型ARIMA【autoregression intergrated moving average差分自回归移动平均】

ARIMA中,I指代的差分,其实是 前后时间上数值的差异,ARIMA就是使用差分的数据来进行ARMA建模

6、ARMA测试

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import statsmodels.api as sm
from statsmodels.graphics.tsaplots import acf, pacf, plot_acf, plot_pacf
from statsmodels.tsa.arima_model import ARMA
from statsmodels.tsa.stattools import arma_order_select_ic

if __name__ == "__main__":

  time_series = pd.Series(
    [151.0, 188.46, 199.38, 219.75, 241.55, 262.58, 328.22, 396.26, 442.04, 517.77, 626.52, 717.08, 824.38, 913.38,
     1088.39, 1325.83, 1700.92, 2109.38, 2499.77, 2856.47, 3114.02, 3229.29, 3545.39, 3880.53, 4212.82, 4757.45,
     5633.24, 6590.19, 7617.47, 9333.4, 11328.92, 12961.1, 15967.61])
  # print('BIC求解的模型阶次为', arma_order_select_ic(time_series, max_ar=10, max_ma=6, ic='bic')['bic_min_order'])
  print('time_series:', len(time_series))
  my_arma = ARMA(time_series, (1, 0)) # 这里的(1, 0)从arma_order_select_ic函数返回,但是这里返回6,7运行失败
  model = my_arma.fit()
  result = model.forecast(10)[0]
  print('result:', result)

python statsmodel的使用

以上就是python statsmodel的使用的详细内容,更多关于python statsmodel的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
利用python操作SQLite数据库及文件操作详解
Sep 22 Python
Python 在字符串中加入变量的实例讲解
May 02 Python
Python带动态参数功能的sqlite工具类
May 26 Python
python topN 取最大的N个数或最小的N个数方法
Jun 04 Python
详解Python最长公共子串和最长公共子序列的实现
Jul 07 Python
python递归实现快速排序
Aug 18 Python
Python循环结构的应用场景详解
Jul 11 Python
Django Python 获取请求头信息Content-Range的方法
Aug 06 Python
Python 寻找局部最高点的实现
Dec 05 Python
PyTorch加载自己的数据集实例详解
Mar 18 Python
python 基于opencv 实现一个鼠标绘图小程序
Dec 11 Python
Ubuntu16安装Python3.9的实现步骤
Dec 15 Python
Python 实现集合Set的示例
Dec 21 #Python
Python 实现二叉查找树的示例代码
Dec 21 #Python
如何利用Python matplotlib绘制雷达图
Dec 21 #Python
OpenCV+python实现膨胀和腐蚀的示例
Dec 21 #Python
python opencv肤色检测的实现示例
Dec 21 #Python
OpenCV+Python3.5 简易手势识别的实现
Dec 21 #Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
Dec 21 #Python
You might like
php中strtotime函数用法详解
2014/11/15 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
js判断为空Null与字符串为空简写方法
2014/02/24 Javascript
JavaScript实现的使用键盘控制人物走动实例
2014/08/27 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
js实现鼠标经过表格行变色的方法
2015/05/12 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
2015/08/24 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
2016/06/14 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
2016/08/02 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
2017/02/05 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
2017/02/15 Javascript
详解vue express启动数据服务
2017/07/05 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
Vue中computed和watch有哪些区别
2020/12/19 Vue.js
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
Python smallseg分词用法实例分析
2015/05/28 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
2019/01/08 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
2019/09/29 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
call在Python中改进数列的实例讲解
2020/12/09 Python
python自动生成sql语句的脚本
2021/02/24 Python
CSS3之transition实现下划线的示例代码
2018/05/30 HTML / CSS
乔丹诺(Giordano)酒庄德国官网:找到最好的意大利葡萄酒
2017/12/28 全球购物
师范生自荐信范文
2013/10/06 职场文书
自我评价正确写法范文
2013/12/10 职场文书
反对形式主义、官僚主义、享乐主义和奢靡之风整改措施
2014/09/17 职场文书
小学生作文写作技巧100例,非常实用!
2019/07/08 职场文书