python statsmodel的使用

作者:朱小勇 时间:2021-04-22 13:38:13 

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的使用

来源:https://www.cnblogs.com/judes/p/12620300.html

标签:python,statsmodel
0
投稿

猜你喜欢

  • 我的栅格系统实现

    2008-09-21 13:50:00
  • 什么是XSL?

    2007-11-05 19:47:00
  • JS从一组数据中找到指定的单条数据的方法

    2024-05-03 15:07:25
  • python之 matplotlib和pandas绘图教程

    2021-07-16 01:50:11
  • ExtJS判断IE浏览器类型的方法

    2024-05-13 10:35:56
  • python调试神器PySnooper的使用

    2021-08-28 23:25:49
  • Python实现使用dir获取类的方法列表

    2023-01-04 12:18:44
  • JS实现动态添加外部js、css到head标签的方法

    2024-05-02 16:29:45
  • python typing模块--类型提示支持

    2023-11-11 16:47:27
  • 利用CSS属性实现进度条的方式

    2010-02-25 12:31:00
  • 十个Python经典小游戏的代码合集

    2021-08-03 12:09:38
  • Python中np.linalg.norm()用法实例总结

    2021-01-08 03:36:35
  • MySQL(win7x64 5.7.16版本)下载、安装、配置与使用的详细图文教程

    2024-01-27 01:12:32
  • python同步两个文件夹下的内容

    2022-09-14 13:54:13
  • 一次性压缩Sqlserver2005中所有库日志的存储过程

    2012-01-29 17:58:28
  • Python 照片人物背景替换的实现方法

    2021-10-21 08:45:02
  • python实现批量修改图片格式和尺寸

    2021-02-12 10:47:35
  • python 爬取小说并下载的示例

    2023-08-24 19:31:49
  • python交互式图形编程实例(一)

    2022-11-12 14:44:53
  • 深入理解 ES6中的 Reflect用法

    2024-04-16 09:30:44
  • asp之家 网络编程 m.aspxhome.com