ARIMA模型时间序列数据分析(附python代码)

这篇具有很好参考价值的文章主要介绍了ARIMA模型时间序列数据分析(附python代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ARIMA模型时间序列数据分析(附python代码)

ARIMA模型建模流程 

建模流程

1)平稳性检验与差分处理

ARIMA模型时间序列数据分析(附python代码)

我们选取原始数据bus中的“prf_get_person_count”列,并截取前32个站点的数据进行平稳性检验,这里采用的是ADF检验确定数据的平稳性,导入statsmodels包下的adfuller函数,该函数返回adf值与概率p值。若原始序列不平稳,就进行差分处理,并对一阶差分序列再次进行ADF检验,直至序列平稳,进行后续分析。

2)白噪声检验

ARIMA模型时间序列数据分析(附python代码)

白噪声数据没有分析价值,所以要进行白噪声检验,LB检验可以确定数据是否为白噪声,这里导入的是statsmodels包下的acorr_ljungbox函数。

3)模型定阶

ARIMA模型时间序列数据分析(附python代码)

使用AIC准则进行模型参数估计与模型定阶,这里通过绘制AIC数据表aic_frame以及其对应的热力图来直观地找出AIC值最小时对应的ARIMA(p,d,q)中的pq值,从而确定模型。

4)预测

ARIMA模型时间序列数据分析(附python代码)

model1对应ARIMA(4,2,3),其AIC值最小;model2对应ARIMA(3,2,1),其AIC值最大。选取两个模型进行对比分析。

output1output2为预测值,通过绘制原始数据与预测数据图,可以直观地感受模型的拟合效果。

5)模型检验

ARIMA模型时间序列数据分析(附python代码)

首先绘制残差图,观察残差序列中是否有明显的趋势性或者季节性特征。

ARIMA模型时间序列数据分析(附python代码)

使用LB检验残差序列是否为白噪声,若是白噪声,则模型性能较好,反之则差。

ARIMA模型时间序列数据分析(附python代码)

通过绘制残差序列直方图密度图和QQ图来对残差序列进行正态性检验,残差序列越接近正态分布,模型的性能就越好。

结果分析

1)平稳性检验与差分处理结果

ARIMA模型时间序列数据分析(附python代码)ARIMA模型时间序列数据分析(附python代码)

原始数据(左)与单条路线数据(右)

原始数据单位根检验结果为p=0.70,远高于0.05,认为序列中存在单位根,即原始序列不平稳。对数据进行一阶差分后结果如左图所示,其单位根检验结果为0.94,一阶差分序列不平稳。对数据进行二阶差分后结果如右图所示,其单位根检验结果为0.034,认为二阶差分序列满足平稳性要求,即后续建模过程中ARIMA(p,d,q)中的d选择2

ARIMA模型时间序列数据分析(附python代码)ARIMA模型时间序列数据分析(附python代码)

一阶差分序列(上)与二阶差分序列(下)

2)白噪声检验结果

LB检验的概率p值为0.0106,认为该时间序列为非白噪声序列,可以进行后续分析。

3)模型定阶结果

绘制二阶差分序列的ACFPACF图,均表现出明显的拖尾。

ARIMA模型时间序列数据分析(附python代码)

ACF图(左)与PACF图(右)

根据AIC准则,绘制热力图如下,可以看出,AIC最小值与最大值对应的参数分别为p=4q=3p=3q=1,故我们选择ARIMA(4,2,3)作为model1,选择ARIMA(3,2,1)作为model2,对比分析两个模型对数据的拟合效果。

ARIMA模型时间序列数据分析(附python代码)

AIC值热力图

4)预测结果

分别绘制model1model2的预测图如图所示:

ARIMA模型时间序列数据分析(附python代码)

model1(左)与model2(右)真实值与预测值对比图

5)模型检验结果

首先绘制model1model2的残差序列图,观察其是否具有明显的趋势性和季节性特征,为后续检验做准备。

ARIMA模型时间序列数据分析(附python代码)

model1(左)与model2(右)残差序列图

       绘制残差序列的直方图密度图,可以看出model1model2均大致服从正态分布,且model1的正态性更明显。

ARIMA模型时间序列数据分析(附python代码)

model1(左)与model2(右)残差序列直方图密度图

        绘制残差序列的QQ图,可以看出,两个图均表现出中间密两头疏和大致为一条直线的特点,且model1明显优于model2

ARIMA模型时间序列数据分析(附python代码)

model1(左)与model2(右)残差序列QQ

对残差序列进行白噪声检验,得到model1model2的残差序列LB检验的概率p值分别为0.80.676,可以认为两个模型的残差序列均为白噪声序列,且model1的性能略高于model2,与前面的AIC值相符合。

ARIMA模型特点:

优点:模型简单,易于解释;可以通过差分处理非平稳时间序列。

缺点:只适用于短期预测,长期预测准确度较低。

python代码:

https://download.csdn.net/download/m0_48973594/85800180https://download.csdn.net/download/m0_48973594/85800180文章来源地址https://www.toymoban.com/news/detail-428372.html

到了这里,关于ARIMA模型时间序列数据分析(附python代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【时间序列数据挖掘】ARIMA模型

    目录 0、前言 一、移动平均模型MA 二、自回归模型AR 三、自回归移动平均模型ARMA 四、自回归移动平均模型ARIMA 【总结】 传统时间序列分析模型: ARIMA模型是一个非常灵活的模型,对于时间序列的好多特征都能够进行描述,比如说平稳性特征,季节性特征,趋势性特征。 AR

    2024年02月07日
    浏览(32)
  • 四种基础时间序列模型的应用与结果分析【AR、MA、ARMA、ARIMA】

    本文讲解了四种最简单的时间序列模型,从定义、确立模型、模型应用、结果分析出发,通过阅读可以迅速上手简易的时间序列模型。 AR模型的表达式如下: X t = c + ∑ i = 1 p ϕ i X t − i + ε t large X_t = c + sum_{i=1}^p phi_i X_{t-i} + varepsilon_t X t ​ = c + i = 1 ∑ p ​ ϕ i ​ X t −

    2024年02月05日
    浏览(56)
  • 时间序列ARIMA模型

    ARIMA模型的全称叫做自回归移动平均模型,全称是(ARIMA,Autoregressive Integrated Moving Average Model)。也记作ARIMA(p,d,q),是统计模型(statisticmodel)中最常见的一种用来进行时间序列预测的模型。 将非平稳时间序列转化为平稳时间序列然后将因变量仅对它的滞后值以及随机误差项的现值和

    2024年02月03日
    浏览(34)
  • 时间序列模型-ARIMA

    描述当前值与历史值之间的关系,用变量自身的历史数据对自身进行预测; 自回归模型必须满足平稳性的要求;(何为平稳性:见时间序列数据分析基本概念) p阶自回归过程的公式定义:         其中是当前值,是常数项,p是阶数,是自相关系数,是误差。 1.1.1 自回归

    2023年04月08日
    浏览(69)
  • 时间序列模型算法 - ARIMA (一)

    时间序列是研究数据随时间变化而变化的一种算法。是一种预测性分析算法。它的基本出发点就是事物发展都有连续性,按照它本身固有的规律进行。 时间序列的常用算法包括: 有这几个那如何选择模型呢 首先我们要知道时间序列就是按照时间顺序排列,随时间变化的随机

    2023年04月27日
    浏览(41)
  • 时间序列预测 | Matlab自回归差分移动平均模型ARIMA时间序列预测

    效果一览 文章概述 时间序列预测 | Matlab自回归差分移动平均模型ARIMA时间序列预测,单列数据输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码

    2024年02月13日
    浏览(36)
  • 数据分析实战│时间序列预测

    时间序列预测问题是一类常见的数据分析问题。数据中往往包含时间标签,这类问题往往根据过去一段时间的数据,建立能够比较精确地反映序列中所包含的动态依存关系的数学模型,并对未来的数据进行预测。 本案例给出二战时期的某气象站温度记录值,通过分析之前的天

    2024年02月11日
    浏览(35)
  • SPSS软件实操——ARIMA时间序列预测模型

    时间序列预测——ARIMA模型 https://blog.csdn.net/beiye_/article/details/123317316?spm=1001.2014.3001.5501 ​​​​​​​​​​​​​​ 案例:基于ARIMA模型对螺纹钢价格预测——以南昌市为例 钢铁作为我国经济发展主要战略原材料,其价格成本也是工程造价预算的重要组成部分,利用时间

    2024年01月25日
    浏览(32)
  • 时间序列的数据分析(七):数据平稳性

    之前已经完成了六篇关于时间序列的博客,还没有阅读过的读者请先阅读: 时间序列的数据分析(一):主要成分 时间序列的数据分析(二):数据趋势的计算 时间序列的数据分析(三):经典时间序列分解   时间序列的数据分析(四):STL分解 时间序列的数据分析(五):简单预测法    

    2024年02月01日
    浏览(31)
  • 数据分析-Pandas如何轻松处理时间序列数据

    时间序列数据在数据分析建模中很常见,例如天气预报,空气状态监测,股票交易等金融场景。此处选择巴黎、伦敦欧洲城市空气质量监测 N O 2 NO_2 N O 2 ​ 数据作为样例。 python数据分析-数据表读写到pandas 经典算法-遗传算法的python实现 经典算法-遗传算法的一个简单例子 大

    2024年01月25日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包