python statsmodel的使用

 更新时间:2020年12月21日 15:48:36   作者:朱小勇  
这篇文章主要介绍了python statsmodel使用的相关资料,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下

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做的一款超炫酷音乐播放器

    自己用python做的一款超炫酷音乐播放器

    这篇文章主要介绍了自己用python做的一款超炫酷音乐播放器,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Python使用PIL模块生成随机验证码

    Python使用PIL模块生成随机验证码

    这篇文章主要为大家详细介绍了Python使用PIL模块生成随机验证码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Python OpenCV实现3种滤镜效果实例

    Python OpenCV实现3种滤镜效果实例

    opencv是一个很强大的库,支持多个编程语言,下面这篇文章主要给大家介绍了关于Python OpenCV实现3种滤镜效果的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • python中bytes和str类型的区别

    python中bytes和str类型的区别

    这篇文章主要介绍了python中bytes和str类型的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • python实现linux下使用xcopy的方法

    python实现linux下使用xcopy的方法

    这篇文章主要介绍了python实现linux下使用xcopy的方法,可实现模仿windows下的xcopy命令功能,需要的朋友可以参考下
    2015-06-06
  • python实现将文件名批量命名为四位数or五位数

    python实现将文件名批量命名为四位数or五位数

    这篇文章主要介绍了python实现将文件名批量命名为四位数or五位数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片

    TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片

    今天小编就为大家分享一篇关于TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 使用Python实现FTP文件自动传输脚本

    使用Python实现FTP文件自动传输脚本

    这篇文章主要为大家详细介绍了如何使用Python实现FTP文件自动传输脚本,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解下
    2023-12-12
  • 如何轻松实现Python数组降维?

    如何轻松实现Python数组降维?

    欢迎来到Python数组降维实现方法的指南!这里,你将探索一种神秘又强大的编程技术,想要提升你的Python编程技巧吗?别犹豫,跟我一起深入探索吧!
    2024-01-01
  • Pytorch反向求导更新网络参数的方法

    Pytorch反向求导更新网络参数的方法

    今天小编就为大家分享一篇Pytorch反向求导更新网络参数的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08

最新评论