利用ARIMA模型对时间序列进行分析的经典案例(详细代码)

2023-05-16

因为之前在学数据分析课程的时候老师讲到时间序列这里,但只是简单的对这个经典的时间序列案例介绍了一下,并没有涉及对差分次数d的查找、找ARIMA模型的p、q值和模型检验 这三个步骤
后来我搜寻了整个网络,终于结合各个文章的解释,对代码进行了重新的梳理,下面就是详细的整个代码过程(如果问题,欢迎提出来指正!):

--------------------------------------------------我是修正线---------------------------------------------------
2021.11.24 第三次更新
大家对本文的疑问在👉最新一期时序的博客 👈中有提到相关解决方法,欢迎大家前去围观🤝。
--------------------------------------------------我是修正线---------------------------------------------------
--------------------------------------------------我是修正线---------------------------------------------------
2021.06.01再次更新

鉴于最近各位朋友提出的疑问(也感谢大家的提问 掌柜也学到很多😁),这里特再次更新🆑!!!

如果你遇到的时序是季节/周期性的时序,那么请移步👉最新博客!进行参考
如果你遇到的时序是季节/周期性的时序,那么请移步👉最新博客!进行参考
如果你遇到的时序是季节/周期性的时序,那么请移步👉最新博客!进行参考

重要事情说三遍😂,谢谢!

PS:本博客搭配👉这篇👈一起服用效果更佳!!!
--------------------------------------------------我是修正线---------------------------------------------------
--------------------------------------------------我是修正线---------------------------------------------------
10.20 更新
感谢网友提出的问题,进行了一个修正,当时的代码少了最后用ARIMA对原始序列的一个预测步骤。这里补充一下:

from statsmodels.tsa.arima_model import ARIMA

#感谢网友的指正,这里直接用data即可,之前想太多了😅

#还原到原始序列(不用这个!!!❌)
#ts_restored = pd.Series([data[0]], index=[data.index[0]]) .append(data1).cumsum()

#第六步:使用ARIMA模型进行预测
model = ARIMA(data,order=(7,0,0)) #导入ARIMA模型
result = model.fit(disp=-1)
#print(result.summary())
result.conf_int()#模型诊断,可以发现所有的系数置信区间都不为0;即在5%的置信水平下,所有的系数都是显著的,即模型通过检验。

#最后画出时序图
fig, ax = plt.subplots(figsize=(12, 10))
ax = data.loc['1901':].plot(ax=ax)   #注意起点是从1901开始
fig = result.plot_predict(5, 100)  #因为前面是90个数,所以加上预测的10个就是100
plt.show()   #数据预测并画图

#预测原始序列的未来10年数据
pred = result.predict(start = 90, end = 99, dynamic = True)
pred

--------------------------------------------------我是修正线---------------------------------------------------
(完整的代码如下:)

# -*- coding: utf-8 -*-
# 用 ARIMA 进行时间序列预测
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import statsmodels.api as sm
from statsmodels.tsa.arima_model import ARMA
from statsmodels.tsa.arima_model import ARIMA
from statsmodels.graphics.tsaplots import acf,pacf,plot_acf,plot_pacf
from statsmodels.graphics.api import qqplot

# 1.创建数据
data = [5922, 5308, 5546, 5975, 2704, 1767, 4111, 5542, 4726, 5866, 6183, 3199, 1471, 1325, 6618, 6644, 5337, 7064, 2912, 1456, 4705, 4579, 4990, 4331, 4481, 1813, 1258, 4383, 5451, 5169, 5362, 6259, 3743, 2268, 5397, 5821, 6115, 6631, 6474, 4134, 2728, 5753, 7130, 7860, 6991, 7499, 5301, 2808, 6755, 6658, 7644, 6472, 8680, 6366, 5252, 8223, 8181, 10548, 11823, 14640, 9873, 6613, 14415, 13204, 14982, 9690, 10693, 8276, 4519, 7865, 8137, 10022, 7646, 8749, 5246, 4736, 9705, 7501, 9587, 10078, 9732, 6986, 4385, 8451, 9815, 10894, 10287, 9666, 6072, 5418]

data = pd.Series(data)
data.index = pd.Index(sm.tsa.datetools.dates_from_range('1901','1990'))
data.plot(figsize=(12,8))
#绘制时序的数据图
plt.show()

#2.下面我们先对非平稳时间序列进行时间序列的差分,找出适合的差分次数d的值:
#fig = plt.figure(figsize=(12, 8))
#ax1 = fig.add_subplot(111)
#diff1 = data.diff(1)
#diff1.plot(ax=ax1)
#这里是做了1阶差分,可以看出时间序列的均值和方差基本平稳,不过还是可以比较一下二阶差分的效果:

#这里进行二阶差分
#fig = plt.figure(figsize=(12, 8))
#ax2 = fig.add_subplot(111)
#diff2 = data.diff(2)
#diff2.plot(ax=ax2)
#由下图可以看出来一阶跟二阶的差分差别不是很大,所以可以把差分次数d设置为1,上面的一阶和二阶程序我们注释掉

#这里我们使用一阶差分的时间序列
#3.接下来我们要找到ARIMA模型中合适的p和q值:
data1 = data.diff(1)
data1.dropna(inplace=True)
#加上这一步,不然后面画出的acf和pacf图会是一条直线

#第一步:先检查平稳序列的自相关图和偏自相关图
fig = plt.figure(figsize=(12, 8))
ax1 = fig.add_subplot(211)
fig = sm.graphics.tsa.plot_acf(data1,lags=40,ax=ax1)
#lags 表示滞后的阶数
#第二步:下面分别得到acf 图和pacf 图
ax2 = fig.add_subplot(212)
fig = sm.graphics.tsa.plot_pacf(data1, lags=40,ax=ax2)

#由上图可知,我们可以分别用ARMA(7,0)模型、ARMA(7,1)模型、ARMA(8,0)模型等来拟合找出最佳模型:
#第三步:找出最佳模型ARMA
arma_mod1 = sm.tsa.ARMA(data1,(7,0)).fit()
print(arma_mod1.aic, arma_mod1.bic, arma_mod1.hqic)
arma_mod2 = sm.tsa.ARMA(data1,(7,1)).fit()
print(arma_mod2.aic, arma_mod2.bic, arma_mod2.hqic)
arma_mod3 = sm.tsa.ARMA(data1,(8,0)).fit()
print(arma_mod3.aic, arma_mod3.bic, arma_mod3.hqic)

#由上面可以看出ARMA(7,0)模型最佳
#第四步:进行模型检验
#首先对ARMA(7,0)模型所产生的残差做自相关图
resid = arma_mod1.resid
#一定要加上这个变量赋值语句,不然会报错resid is not defined 
fig = plt.figure(figsize=(12, 8))
ax1 = fig.add_subplot(211)
fig = sm.graphics.tsa.plot_acf(resid.values.squeeze(),lags=40,ax=ax1)
ax2 = fig.add_subplot(212)
fig = sm.graphics.tsa.plot_pacf(resid, lags=40,ax=ax2)

#接着做德宾-沃森(D-W)检验
print(sm.stats.durbin_watson(arma_mod1.resid.values))
#得出来结果是不存在自相关性的

#再观察是否符合正态分布,这里用qq图
fig = plt.figure(figsize=(12,8))
ax = fig.add_subplot(111)
fig = qqplot(resid, line='q',ax=ax, fit=True)

#最后用Ljung-Box检验:检验的结果就是看最后一列前十二行的检验概率(一般观察滞后1~12阶),
#如果检验概率小于给定的显著性水平,比如0.05、0.10等就拒绝原假设,其原假设是相关系数为零。
#就结果来看,前12阶的P值都是大于0.05,所以在0.05的显著性水平下,不拒绝原假设,即残差为白噪声序列。
r,q,p = sm.tsa.acf(resid.values.squeeze(),qstat=True)
data2 = np.c_[range(1,41), r[1:], q, p]
table= pd.DataFrame(data2, columns=[ 'lag','AC','Q','Prob(>Q)'])
print(table.set_index('lag'))

#第五步:平稳模型预测,对未来十年进行预测
predict_y =arma_mod1.predict('1990', '2000', dynamic=True)
print(predict_y)
fig, ax = plt.subplots(figsize=(12,8))
ax = data1.loc['1901':].plot(ax=ax)
predict_y.plot(ax=ax)

#第六步:使用ARIMA模型对原始序列进行预测
model = ARIMA(data,order=(7,0,0)) #导入ARIMA模型
result = model.fit(disp=-1)
#print(result.summary())
result.conf_int()#模型诊断,可以发现所有的系数置信区间都不为0;即在5%的置信水平下,所有的系数都是显著的,即模型通过检验。

#画出时序图
fig, ax = plt.subplots(figsize=(12, 10))
ax = data.loc['1901':].plot(ax=ax)   #注意起点是从1901开始
fig = result.plot_predict(5, 100)  #因为前面是90个数,所以加上预测的10个就是100
plt.show()   #数据预测并画图

#预测原始序列的未来10年数据
pred = result.predict(start = 90, end = 99, dynamic = True)
pred

最后奉上整个代码运行过程种生成的所有可视化图和结果:
(一开始的时序图)
一开始的时序图
下面是生成的自相关图(acf图)和偏自相关图(pacf图):
在这里插入图片描述

这是找出最佳模型ARMA的数据运行结果:

1580.3025343802506 1602.70026170784 1589.3304155123078
1581.741953757229 1606.6283174545506 1591.7729327928485
1582.0274262666355 1606.913789963957 1592.0584053022549

进行模型检验,首先对ARMA(7,0)模型所产生的残差做自相关和偏自相关图:
第二次
这里是德宾-沃森(D-W)检验后的结果:

2.0226619351807082

接着用qq图来观察是否符合正态分布:
在这里插入图片描述
然后是用Ljung-Box检验的结果:

            AC          Q  Prob(>Q)
lag                                
1.0  -0.013620   0.017072  0.896043
2.0  -0.048111   0.232545  0.890232
3.0   0.094049   1.065538  0.785399
4.0   0.047719   1.282507  0.864336
5.0   0.157830   3.684276  0.595706
6.0  -0.015497   3.707712  0.716160
7.0  -0.241722   9.478707  0.220088
8.0   0.067333   9.932028  0.269829
9.0  -0.015059   9.954985  0.354142
10.0 -0.250211  16.373227  0.089435
11.0 -0.085557  17.133292  0.103994
12.0 -0.066882  17.603796  0.128261
13.0 -0.099118  18.650747  0.134337
14.0  0.183460  22.285305  0.072939
15.0 -0.224821  27.817186  0.022742
16.0  0.013207  27.836539  0.033070
17.0  0.172933  31.200543  0.018879
18.0 -0.054509  31.539470  0.024912
19.0 -0.059218  31.945201  0.031702
20.0  0.038317  32.117537  0.042062
21.0  0.122530  33.905707  0.037090
22.0  0.105273  35.245351  0.036518
23.0 -0.007281  35.251856  0.049095
24.0 -0.147063  37.946657  0.035111
25.0  0.045061  38.203610  0.044187
26.0 -0.029390  38.314649  0.056605
27.0  0.033956  38.465262  0.070798
28.0  0.125451  40.554803  0.058962
29.0 -0.094511  41.760519  0.059003
30.0 -0.035058  41.929231  0.072578
31.0  0.009097  41.940788  0.090824
32.0 -0.016855  41.981152  0.111447
33.0 -0.045631  42.282283  0.129112
34.0  0.000052  42.282284  0.155724
35.0 -0.023147  42.362642  0.183158
36.0 -0.004809  42.366176  0.215442
37.0 -0.081576  43.402643  0.217174
38.0 -0.086627  44.594344  0.214138
39.0  0.005819  44.599828  0.248019
40.0 -0.066766  45.336624  0.259191
1990-12-31   -1224.754904
1991-12-31    3524.663640
1992-12-31    1267.491272
1993-12-31     661.201862
1994-12-31    -569.545994
1995-12-31    -636.202961
1996-12-31   -2249.722008
1997-12-31    -710.790841
1998-12-31    2719.687594
1999-12-31     970.876673
2000-12-31     279.806969
Freq: A-DEC, dtype: float64

生成的平稳序列的预测时序图:
在这里插入图片描述
最后原始数据的时序预测图:
在这里插入图片描述

预测原始序列未来十年数据的结果:
在这里插入图片描述

可以看出预测数据跟原始序列趋势基本一致,但是准确度有待进一步优化!

参考资料:
[python] 时间序列分析之ARIMA
Python_Statsmodels包_时间序列分析_ARIMA模型

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

利用ARIMA模型对时间序列进行分析的经典案例(详细代码) 的相关文章

  • 利用ARIMA模型对时间序列进行分析的经典案例(详细代码)

    因为之前在学数据分析课程的时候老师讲到时间序列这里 xff0c 但只是简单的对这个经典的时间序列案例介绍了一下 xff0c 并没有涉及对差分次数d的查找 找ARIMA模型的p q值和模型检验 这三个步骤 后来我搜寻了整个网络 xff0c 终
  • 时间序列(四)ARIMA模型与差分

    ARIMA模型 平稳性 xff1a 平稳性就是要求经由样本时间序列所得到的拟合曲线 在未来的一段期间内仍能顺着现有的形态 惯性 地延续下去 平稳性要求序列的均值和方差不发生明显变化 严平稳与弱平稳 xff1a 严平稳 xff1a 严平稳表示
  • STM32 串口 DMA 数据读取(详细代码)

    最近重新开始学32 xff0c 搞到串口 DMA 的时候 xff0c 数据读取卡了很长一段时间 xff0c 最终 xff0c 功夫不负有心人终于搞出来了 在此以记录一下 xff0c 方便以后查询使用 在调试的过程中也遇到了很多bug xff
  • 时间序列预测——ARIMA模型

    文章链接 xff1a 时间序列预测 Prophet模型 https blog csdn net beiye article details 123353123 spm 61 1001 2014 3001 5502 SPSS软件实操 ARIM
  • 第68步 时间序列建模实战:ARIMA建模(Matlab)

    基于WIN10的64位系统演示 一 写在前面 这一期 我们使用Matlab进行SARIMA模型的构建 不同样 这里使用另一个数据 采用 PLoS One 2015年一篇题目为 Comparison of Two Hybrid Models
  • 第70步 时间序列建模实战:ARIMA建模(JMP)

    基于WIN10的64位系统演示 一 写在前面 这一期 我们使用JMP进行SARIMA模型的构建 同样 这里使用这个数据 PLoS One 2015年一篇题目为 Comparison of Two Hybrid Models for Fore
  • 第65步 时间序列建模实战:ARIMA建模(Eviews)

    基于WIN10的64位系统演示 一 写在前面 从这一期开始 我们开始入坑时间序列模型 时间序列是一种数据类型 其中的数据点是按照时间顺序排列的 这种数据类型常常出现在各个领域 比如金融 股票价格的历史变动 气象 过去几年的天气状况 医学 一
  • 拓端tecdat

    最近我们被要求撰写关于ARIMA ARCH的研究报告 包括一些图形和统计输出 时间序列分析模型 ARIMA ARCH GARCH模型分析股票价格数据 相关视频 在Python和R语言中建立EWMA ARIMA模型预测时间序列 简介 时间序列
  • ARIMA结果分析

    部分1 Dep Variable 需要预测的变量 Model 模型及其参数 Date Time Sample 样本数据 No Observations 观测数据的数量 部分2 Log Likelihood 对数似然函数 标识最适合采样数据的
  • Python通过ARIMA模型进行时间序列分析预测

    ARIMA模型预测 时间序列分析预测就是在已有的和时间有关的数据序列的基础上构建其数据模型并预测其未来的数据 例如航空公司的一年内每日乘客数量 某个地区的人流量 这些数据往往具有周期性的规律 如下图所示 有的数据呈现出简单的周期性循环 有的
  • R语言 时间序列ARIMA模型方法

    原理什么的百度一搜一堆 看不明白 先学会用这个工具吧 ARIMA 全称为自回归积分滑动平均模型 Autoregressive Integrated Moving Average Model 简记ARIMA 是由博克思 Box 和詹金斯 Je
  • 【时间序列数据挖掘】ARIMA模型

    目录 0 前言 一 移动平均模型MA 二 自回归模型AR 三 自回归移动平均模型ARMA 四 自回归移动平均模型ARIMA 总结 0 前言 传统时间序列分析模型 ARIMA模型是一个非常灵活的模型 对于时间序列的好多特征都能够进行描述 比如
  • 时间序列预测之ARMA、ARIMA序列及季节性序列matlab实现

    ARMA是一种平稳时间序列模型 即均值和协方差不随时间的平移而改变 ARMA有三种类型 AR序列 MA序列 ARMA序列 但是由于ARMA只能处理平稳序列 而现实中的问题往往有趋势性或周期性等 为了得到平稳序列 我们对数据进行差分运算 使得
  • ARIMA 产生的斜率直线

    我对使用 SARIMA 模型的时间序列很陌生 我按照教程构建模型并尝试预测未来趋势 一开始一切进展顺利 但当产生结果时 它显示斜率直线 我在 Jupyter NoteBook 上构建它 我首先检查了我的数据 并将数据可视化 但实际上 这似乎
  • 机器学习笔记 - 时间序列分析基础概念解释

    一 简述 时间序列分析是一种统计方法 可检查定期收集的数据点以揭示潜在的模式 该技术与各个行业高度相关 因为它可以根据历史数据做出决策和预测 通过了解过去并预测未来 时间序列分析在金融 医疗保健 能源 供应链管理 天气预报 营销等领域发挥着
  • 在 ARIMA 时间序列建模中提取 Adfuller 测试(平稳性测试)列表中的 p 值 python pandas

    df Col1 Col2 Col3 12 10 3 3 5 2 100 12 10 等等 为时间序列中的 ARIMA 建模编写 adfuller 测试的代码 将计算数据框 df 的所有列的 p 值 import statsmodels ts
  • 时间序列数据框 python 上的 ARIMA 建模

    我正在尝试使用 ARIMA 模型进行预测 我是新手 我试图绘制我的数据集 每小时数据 的seasonal decompose 下面是图 我想理解这些情节 简短的描述会有帮助 我看到最初没有趋势 一段时间后有上升趋势 我不确定我说的对吗 我想
  • 如何在 Anaconda Jupyter 笔记本上运行金字塔自动 arima?

    显然 Anaconda 有一个不同的金字塔包 它是针对 Web 框架的 https anaconda org anaconda pyramid https anaconda org anaconda pyramid arima Pyrami
  • 在传递给 R 中 Arima() 的 xreg 参数之前,我们是否需要对外生变量进行差分?

    我正在尝试在 R 中使用 ARIMAX 构建预测模型 并需要一些关于如何在 xreg 参数中处理协变量的指导 据我了解 auto arima 函数在拟合模型 来自训练期数据 时负责协变量的差异 并且我也不需要差异协变量来生成测试期 未来值
  • Python 中的自动 ARIMA 导致趋势拟合预测不佳

    ARIMA 新手 尝试使用自动 ARIMA 在 Python 中对数据集进行建模 我正在使用 auto ARIMA 因为我相信它会更好地定义 p d 和 q 的值 但结果很差 我需要一些指导 请参阅下面我的可重复尝试 尝试如下 DEPEND

随机推荐

  • linux系统磁盘block、inode占满处理

    1 磁盘的block占满 xff0c 查看命令 df vh 然后查看占用百分比 2 磁盘inode占满 xff0c 查看命令df ih 同样也是查看占用百分比 block占满处理办法 需要用到的命令如下 LL 列出当前目录下的文件 df v
  • Code::Blocks平台下Fortran的编译

    问题背景 xff1a 因为之前学习数值方法 xff0c 有用到Fortran的地方 xff0c 所以上网查了一些资料 关于Fortran语言的编辑器安装 xff0c 目前本人接触到的支持Fortran的编辑器有VisualStdio和Cod
  • powershell远程连接

    在Linux中 xff0c 我们可以使用安全的SSH方便的进行远程管理 但在Windows下 xff0c 除了不安全的Telnet以外 xff0c 从Windows Server 2008开始提供了另外一种命令行原创管理方式 xff0c 那
  • 2022年学习总结暨2023年规划

    2022年总结 2022年是我在C站的创作元年 xff0c 在第一年也收获了不少成就 xff0c 比如 Java领域新星创作者 发布100篇博文 拿到了C站的书包 吃到了C站的月饼 成功上榜了330 43 截止目前收获粉丝8600 43 在
  • 《Prometheus+Grafana 实践派》专栏介绍

    专栏名称 Prometheus 43 Grafana 实践派 专栏介绍 本专栏根据本公司统一监控落地实践编写 在该专栏您将学到 企业级监控的选型Prometheus的基础知识Grafana的基础知识快速搭建Prometheus 43 Gra
  • 泊松分布–计算概率分布的公式

    Probability Distributions play an important role in our daily lives We commonly use them when trying to summarise and ga
  • Prometheus 的介绍和安装

    介绍 Prometheus 是一个开源的监控和报警系统 最初由SoundCloud于2012年创建 随着越来越多的公司采用Prometheus以及非常活跃的社区 Prometheus于2016年加入云原生基金会 成为Kubernetes之后
  • 因为锁的问题,我们被扣了1万

    前言 春节放假期间 xff0c 一个项目上的积分接口被刷 xff0c 而且不止一个人在刷 xff0c 并且东西也被兑走 xff0c 放假晚上被人叫起来排查问题 xff0c 通过这个人的积分明细观察 xff0c 基本一秒就能获取一次 xff0
  • Prometheus 告警机制介绍及命令解读

    本文您将了解到Prometheus 告警模块Alertmanager的架构介绍 核心概念 命令解析和AMTool的基本使用 Prometheus的告警模块并不存在于Prometheus中 而是 以独立项目Alertmanager存在 Pro
  • Prometheus 告警模块配置深度解析

    本文您将了解到Prometheus 告警模块Alertmanager 配置的深度解析 Alertmanager 配置解析 Alertmanager 配置可以用命令行配置 也可以通过配置文件配置 命令行用来配置不可变的系统参数 配置文件用来定
  • 不会前端没事,用GWT Boot和Spring Boot构建Web程序

    本文介绍了一种使用Java构建Web应用程序的方式 xff0c 其中GWT或者J2CL是必不可少的 xff0c 另外还有多个UI框架可以配套使用 xff0c 比如Domino UI VueGWT GWT Material Design GM
  • Prometheus 监控云Mysql和自建Mysql(多实例)

    本文您将了解到 Prometheus如何配置才能监控云Mysql 包括阿里云 腾讯云 华为云 和自建Mysql Prometheus 提供了很多种Exporter 用于监控第三方系统指标 如果没有提供也可以根据Exporter规范自定义Ex
  • 2023年 Java 发展趋势

    GitHub 语言统计表明 xff0c Java在编程语言中排名第二 xff0c 而在2022年的TIOBE指数中 xff0c Java排在第四 抛开排名 xff0c Java是自诞生以来企业使用率最高的编程语言 xff0c 作为一种编程语
  • Spring Boot 中文参考指南(二)-Web

    Spring Boot 版本 2 7 8 原文 xff1a https docs spring io spring boot docs 2 7 8 reference htmlsingle Spring Boot 3 x 第一个 GA 版本
  • Java 编写Vue组件(VueGWT的初尝试)

    在之前 xff0c 我曾写过这样的文章 不会前端没事 xff0c 用GWT Boot和Spring Boot构建Web程序 xff0c 这篇文字使用的Domino UI来做前端页面 xff0c 由于现在更流行VUE xff0c 并且VUE的
  • Spring Boot 源码阅读初始化环境搭建

    在开始源码阅读之前 xff0c 需要先搭建一个简易的SSM环境用于测试 xff0c 这里不过解释怎么搭建 xff0c 相信都开始看源码了 xff0c 还不会搭建Demo环境就先去学习下基础 demo环境地址 xff1a https gith
  • python列表平均值函数_如何计算列表的平均值-统计信息和Python的均值函数详细解释

    python列表平均值函数 Mathematics and programming go hand in hand If you are a programmer at some point you will have to use mat
  • C++ typedef详解

    typedef的用途 1 定义一种类型的别名 注意typedef并不是简单的宏替换 xff0c 如下例所示 xff1a span class token keyword int span span class token function
  • 如何解决报错ValueError: Input contains NaN, infinity or a value too large for dtype('float64')的问题

    这两天在做信用卡的数据分析项目 xff0c 出现了除标题错误以外 43 xff08 ValueError Found input variables with inconsistent numbers of samples 56411 27
  • 利用ARIMA模型对时间序列进行分析的经典案例(详细代码)

    因为之前在学数据分析课程的时候老师讲到时间序列这里 xff0c 但只是简单的对这个经典的时间序列案例介绍了一下 xff0c 并没有涉及对差分次数d的查找 找ARIMA模型的p q值和模型检验 这三个步骤 后来我搜寻了整个网络 xff0c 终