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 相关文章推荐
Pyramid Mako模板引入helper对象的步骤方法
Nov 27 Python
Python实现遍历数据库并获取key的值
May 17 Python
在Python的Django框架中生成CSV文件的方法
Jul 22 Python
对python中的 os.mkdir和os.mkdirs详解
Oct 16 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
May 04 Python
Django实现发送邮件找回密码功能
Aug 12 Python
python模拟实现斗地主发牌
Jan 07 Python
Python3 shutil(高级文件操作模块)实例用法总结
Feb 19 Python
Python selenium模拟手动操作实现无人值守刷积分功能
May 13 Python
python调用win32接口进行截图的示例
Nov 11 Python
Pycharm安装Qt Design快捷工具的详细教程
Nov 18 Python
Python天气语音播报小助手
Sep 25 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中的PHP_EOL换行符详细解析
2013/10/26 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
PHP微信开发之查询微信精选文章
2016/06/23 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
创建一个复制UBB软件信息的链接或按钮的js代码
2008/01/06 Javascript
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
jQuery实用基础超详细介绍
2013/04/11 Javascript
JS实现简单的Canvas画图实例
2013/07/04 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
多种JQuery循环滚动文字图片效果代码
2020/06/23 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
Bootstrap 模态框(Modal)插件代码解析
2016/12/21 Javascript
JavaScript中this的用法及this在不同应用场景的作用解析
2017/04/13 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
2017/06/13 Javascript
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
学习RxJS之JavaScript框架Cycle.js
2019/06/17 Javascript
用VsCode编辑TypeScript的实现方法
2020/05/07 Javascript
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
python 删除列表里所有空格项的方法总结
2018/04/18 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
Python数组并集交集补集代码实例
2020/02/18 Python
女士时装鞋:Chinese Laundry
2018/08/29 全球购物
super关键字的用法
2012/04/10 面试题
几道数据库的面试题或笔试题
2014/05/31 面试题
酒店中秋节活动方案
2014/01/31 职场文书
运动会演讲稿300字
2014/08/25 职场文书
模范教师事迹材料
2014/12/16 职场文书
幽默导游词开场白
2015/05/29 职场文书
2016年学校党支部创先争优活动总结
2016/04/05 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
基于CSS3画一个iPhone
2021/04/21 HTML / CSS
服务器间如何实现文件共享
2022/05/20 Servers