迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python 中的自动 ARIMA

作者:迹忆客 最近更新:2023/06/26 浏览次数:

在本文中,我们将了解 Python 中的 Auto ARIMA 及其工作原理。


Python 中的自动 ARIMA

pmdarima 库中的 auto_arima() 函数有助于确定 ARIMA 模型的最佳参数,并提供拟合的 ARIMA 模型作为结果。

请注意,该软件包在更名为“pmdarima”之前曾被称为“Pyramid”。 确保正在安装“pmdarima”软件包。

如果您没有该软件包,请通过在终端中运行以下命令来安装它。

pip install pmdarima

使用以下命令测试包是否创建成功。

from pmdarima.arima import auto_arima

在 Python 中使用 auto_arima() 函数

在以下代码中,data.csv 是包含数据的 CSV 文件,用于自动 ARIMA。 输出将是数据帧,其值在索引 p 和 q 中 order=(P,D,Q)。

代码示例:

import pmdarima as pm
import pandas as pd

df1 = pd.read_csv('data.csv', names=['value'], header=0)
model_1 = pm.auto_arima(df1.value, start_p=1, start_q=1,
                      test='adf',
                      max_p=3, max_q=3,
                      m=1,
                      d=None,
                      seasonal=False,
                      start_P=0,
                      D=0,
                      trace=True,
                      error_action='ignore',
                      suppress_warnings=True,
                      stepwise=True)

print(model_1.summary())

输出:

Performing stepwise search to minimize aic
 ARIMA(1,1,1)(0,0,0)[0] intercept   : AIC=1605.366, Time=0.09 sec
 ARIMA(0,1,0)(0,0,0)[0] intercept   : AIC=1660.860, Time=0.01 sec
 ARIMA(1,1,0)(0,0,0)[0] intercept   : AIC=1619.269, Time=0.04 sec
 ARIMA(0,1,1)(0,0,0)[0] intercept   : AIC=1604.209, Time=0.04 sec
 ARIMA(0,1,0)(0,0,0)[0]             : AIC=1658.968, Time=0.01 sec
 ARIMA(0,1,2)(0,0,0)[0] intercept   : AIC=1605.215, Time=0.08 sec
 ARIMA(1,1,2)(0,0,0)[0] intercept   : AIC=1606.845, Time=0.12 sec
 ARIMA(0,1,1)(0,0,0)[0]             : AIC=1603.295, Time=0.02 sec
 ARIMA(1,1,1)(0,0,0)[0]             : AIC=1604.373, Time=0.03 sec
 ARIMA(0,1,2)(0,0,0)[0]             : AIC=1604.196, Time=0.04 sec
 ARIMA(1,1,0)(0,0,0)[0]             : AIC=1617.588, Time=0.04 sec
 ARIMA(1,1,2)(0,0,0)[0]             : AIC=1605.883, Time=0.04 sec

Best model:  ARIMA(0,1,1)(0,0,0)[0]
Total fit time: 0.580 seconds
                               SARIMAX Results
==============================================================================
Dep. Variable:                      y   No. Observations:                  173
Model:               SARIMAX(0, 1, 1)   Log Likelihood                -799.648
Date:                Sat, 03 Sep 2022   AIC                           1603.295
Time:                        23:15:18   BIC                           1609.590
Sample:                             0   HQIC                          1605.849
                                - 173
Covariance Type:                  opg
==============================================================================
                 coef    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
ma.L1         -0.5856      0.056    -10.478      0.000      -0.695      -0.476
sigma2       637.6579     54.893     11.616      0.000     530.069     745.247
===================================================================================
Ljung-Box (L1) (Q):                   0.54   Jarque-Bera (JB):                24.81
Prob(Q):                              0.46   Prob(JB):                         0.00
Heteroskedasticity (H):               0.18   Skew:                             0.41
Prob(H) (two-sided):                  0.00   Kurtosis:                         4.67
===================================================================================

Process finished with exit code 0

总结

ARIMA 模型广泛地估计了未来几天的股票表现。 Python 的 auto_arima() 函数用于确定拟合 ARIMA 模型的最佳参数。

auto_arima() 函数可以从名为 pmdarima 的 Python 库导入。

上一篇:Python 中的方差膨胀因子

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python 中的方差膨胀因子

发布时间:2023/06/26 浏览次数:93 分类:Python

本文介绍了方差膨胀因子 (VIF) 及其在检测有影响的观测值方面的性能,并演示了如何使用 statsmodels 在 Python 中使用 VIF。Python 中的方差膨胀因子

在 Python 中跨多个文件使用全局变量

发布时间:2023/06/26 浏览次数:90 分类:Python

这个简单的指南是关于在 Python 中跨多个文件使用全局变量的。 但在进入主题之前,我们先简要了解一下全局变量及其在多个文件中的使用。Python 中的全局变量

基于 Python 中的值对计数器进行排序

发布时间:2023/06/26 浏览次数:165 分类:Python

本篇文章介绍如何使用 Python 根据计数器的值对计数器进行排序。Python 计数器概述 计数器是 Python 中集合模块的一部分,可帮助计算特定字符出现的总数。

在Python中发送UDP数据包

发布时间:2023/06/26 浏览次数:92 分类:Python

今天,我们将学习用户数据报协议(UDP),并了解如何使用 Python 编程发送 UDP 数据包。在Python中发送UDP数据包

Python 自定义迭代器

发布时间:2023/06/26 浏览次数:119 分类:Python

在本文中,我们将了解什么是迭代器以及如何借助 __iter__ 和 __next__ 类方法创建自定义迭代器。 我们还将学习如何在 Python 生成器的帮助下创建自定义迭代器。借助 Python 中的类方法 __iter__ 和

Python 高斯核

发布时间:2023/06/26 浏览次数:161 分类:Python

高斯核是一种高通滤波器,是图像处理中最常用的滤波器之一。 它也用于机器学习。 本博客将介绍该内核以及如何使用它。

Python 脚本中的 FFmpeg

发布时间:2023/06/26 浏览次数:167 分类:Python

本篇文章将介绍在Python中使用FFMPEG命令。安装 FFmpeg Python 包 首先,您必须在系统上安装 FFmpeg。 以管理员身份打开命令提示符并运行以下命令以使用 choco 安装 FFmpeg。

Python 中的 DNS 查找

发布时间:2023/06/25 浏览次数:118 分类:Python

本文将讨论 DNS 和 DNS 查找的概念。 之后,我们讨论使用 Python 进行 DNS 查找的方法。什么是 DNS DNS(域名系统)将域名转换为公共IP地址。

了解 Python 中的槽

发布时间:2023/06/25 浏览次数:167 分类:Python

本文将讨论槽常量变量在 Python 中的工作原理以及它如何比使用字典更好。了解 Python 中的槽

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便