Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python | ARIMA时间序列模型预测航空公司的乘客数量

Python | ARIMA时间序列模型预测航空公司的乘客数量

作者头像
拓端
发布于 2021-09-29 07:57:00
发布于 2021-09-29 07:57:00
2.2K00
代码可运行
举报
文章被收录于专栏:拓端tecdat拓端tecdat
运行总次数:0
代码可运行

原文链接:http://tecdat.cn/?p=20742

时间序列 被定义为一系列按时间顺序索引的数据点。时间顺序可以是每天,每月或每年。

以下是一个时间序列示例,该示例说明了从1949年到1960年每月航空公司的乘客数量。

时间序列预测

时间序列预测是使用统计模型根据过去的结果预测时间序列的未来值的过程。

一些示例

  • 预测未来的客户数量。
  • 解释销售中的季节性模式。
  • 检测异常事件并估计其影响的程度。
  • 估计新推出的产品对已售出产品数量的影响。

时间序列的组成部分:

代码:航空公司乘客的ETS分解数据集:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 导入所需的库

import numpy as np


  

# 读取AirPassengers数据集

airline = pd.read_csv('data.csv',

                       index_col ='Month',

                       parse_dates = True)

  

# 输出数据集的前五行

airline.head()

  

# ETS分解


# ETS图

result.plot()

输出:


点击标题查阅往期内容

Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测

左右滑动查看更多

01

02

03

04

ARIMA时间序列预测模型

ARIMA代表自回归移动平均模型,由三个阶数参数 _(p,d,q)指定。_

ARIMA模型的类型

自动ARIMA

“ auto_arima” 函数 可帮助我们确定ARIMA模型的最佳参数,并返回拟合的ARIMA模型。

代码:ARIMA模型的参数分析

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 # 忽略警告

import warnings

warnings.filterwarnings("ignore")

  

# 将自动arima函数拟合到AirPassengers数据集

autoarima(airline['# Passengers'], start_p = 1, start_q = 1,

                          max_p = 3, max_q = 3, m = 12,



                          stepwise = True          # 设置为逐步

  

# 输出摘要

stepwise_fit.summary()

输出:

代码:将ARIMA模型拟合到AirPassengers数据集

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 将数据拆分为训练/测试集


test = iloc[len(airline)-12:] # 设置一年(12个月)进行测试

  

# 在训练集上拟合一个SARIMAX011)x(21112SARIMAX(Passengers, 

                order = (0, 1, 1), 

                seasonal_order =(2, 1, 1, 12



result.summary()

输出:

代码:ARIMA模型对测试集的预测

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 # 针对测试集的一年预测

predict(start, end,

                          
  

#绘图预测和实际值

predictions.plot

输出:

代码:使用MSE和RMSE评估模型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 加载特定的评估工具
# 计算均方根误差

rmse(test["# Passengers"], predictions)

  

# 计算均方误差

mean_squared_error(test["# Passengers"], predictions)

输出:

代码:使用ARIMA模型进行预测

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 # 在完整数据集上训练模型


result = model.fit()

  

# 未来3年预测
result.predict(start = len(airline), 

                          end = (len(airline)-1) + 3 * 12, 


  

# 绘制预测值
forecast.plot(legend = True)

输出:

  • 趋势:趋势显示了长时间序列数据的总体方向。趋势可以是增加(向上),减少(向下)或水平(平稳)。
  • 季节性:季节性成分在时间,方向和幅度方面表现出重复的趋势。一些例子包括由于炎热的天气导致夏季用水量增加,或每年假期期间航空公司乘客人数增加。
  • 周期性成分: 这些是在特定时间段内没有稳定重复的趋势。周期是指时间序列的起伏,通常在商业周期中观察到。这些周期没有季节性变化,但通常会在3到12年的时间范围内发生,具体取决于时间序列的性质。
  • 不规则变化: 这些是时间序列数据中的波动,当趋势和周期性变化被删除时,这些波动变得明显。这些变化是不可预测的,不稳定的,并且可能是随机的,也可能不是随机的。
  • ETS分解 ETS分解用于分解时间序列的不同部分。ETS一词代表误差、趋势和季节性。
  • AR(_p_)自回归 –一种回归模型,利用当前观测值与上一个期间的观测值之间的依存关系。自回归(_AR(p)_)分量是指在时间序列的回归方程中使用过去的值。
  • I(_d_) –使用观测值的差分(从上一时间步长的观测值中减去观测值)使时间序列稳定。差分涉及将序列的当前值与其先前的值相减d次。
  • MA(_q_)移动平均值 –一种模型,该模型使用观测值与应用于滞后观测值的移动平均值模型中的残留误差之间的相关性。移动平均成分将模型的误差描述为先前误差项的组合。 _q_ 表示要包含在模型中的项数。
  • ARIMA:非季节性自回归移动平均模型
  • SARIMA:季节性ARIMA
  • SARIMAX:具有外生变量的季节性ARIMA
    • *
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python用ARIMA模型预测CO2浓度时间序列实现|附代码数据
时间序列为预测未来数据提供了方法。根据先前的值,时间序列可用于预测经济,天气的趋势。时间序列数据的特定属性意味着通常需要专门的统计方法
拓端
2023/03/15
1.4K0
用python做时间序列预测九:ARIMA模型简介
c是常数项,εt是随机误差项。 对于一个AR(1)模型而言: 当 ϕ1=0 时,yt 相当于白噪声; 当 ϕ1=1 并且 c=0 时,yt 相当于随机游走模型; 当 ϕ1=1 并且 c≠0 时,yt 相当于带漂移的随机游走模型; 当 ϕ1<0 时,yt 倾向于在正负值之间上下浮动。
AI粉嫩特工队
2020/06/17
32.1K1
R语言中ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型用于预测时间序列数据
在本文中,我将介绍ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型如何用于预测给定的时间序列数据。
拓端
2020/07/17
3.2K0
R语言中ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型用于预测时间序列数据
用python做时间序列预测十:时间序列实践-航司乘客数预测
陆陆续续写了10篇时间序列相关的文章了,本系列主要是应用为主,包括初识概念、时间序列数据可视化、时间序列分解、平稳/非平稳时间序列、时间序列缺失值处理、相关函数图/偏相关函数图/滞后图、时间序列复杂度量化、Granger causality test(格兰杰因果检验)、ARIMA模型简介、时间序列实践-航司乘客数预测。 暂时先记录到这里,后续应该还会补充一些,比如基于深度学习的时间序列预测等。
AI粉嫩特工队
2020/06/16
4.1K0
python用ARIMA模型预测CO2浓度时间序列实现|附代码数据
时间序列为预测未来数据提供了方法。根据先前的值,时间序列可用于预测经济,天气的趋势。时间序列数据的特定属性意味着通常需要专门的统计方法。
拓端
2022/10/24
8470
Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测
使用ARIMA模型,您可以使用序列过去的值预测时间序列。在本文中,我们从头开始构建了一个最佳ARIMA模型,并将其扩展到Seasonal ARIMA(SARIMA)和SARIMAX模型。
拓端
2020/08/07
9.1K0
Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测|附代码数据
根据频率,时间序列可以是每年(例如:年度预算),每季度(例如:支出),每周(例如:销售数量),每天(例如天气),每小时(例如:股票价格),分钟(例如:来电提示中的呼入电话),甚至是几秒钟(例如:网络流量)。
拓端
2023/02/20
1.9K0
通过 Python 代码实现时间序列数据的统计学预测模型
Autoregressive Integrated Moving Average model (ARIMA),差分整合移动平均自回归模型。ARIMA(p,d,q)主要包含三项:
deephub
2020/05/09
2.2K0
通过 Python 代码实现时间序列数据的统计学预测模型
Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测|附代码数据
使用ARIMA模型,您可以使用序列过去的值预测时间序列(点击文末“阅读原文”获取完整代码数据)。
拓端
2022/11/07
2K0
独家 | 利用Auto ARIMA构建高性能时间序列模型(附Python和R代码)
本文共3400字,建议阅读10+分钟。 本文介绍了ARIMA的概念,并带你用Python和R训练一个数据集实现它。
数据派THU
2018/12/13
2.3K0
独家 | 利用Auto ARIMA构建高性能时间序列模型(附Python和R代码)
【数据挖掘 & 机器学习 | 时间序列】时间序列必学模型: ARIMA超详细讲解
【数据挖掘 & 机器学习 | 时间序列】时间序列必学模型: ARIMA超详细讲解 作者: 计算机魔术师 版本: 1.0 ( 2023.8.27 )
计算机魔术师
2023/11/20
2.5K0
【数据挖掘 & 机器学习 | 时间序列】时间序列必学模型: ARIMA超详细讲解
使用Python实现时间序列预测模型
时间序列预测是一种重要的数据分析技术,它可以帮助我们预测未来的趋势和模式。在本文中,我们将介绍时间序列预测的基本原理和常见的预测模型,并使用Python来实现这些模型。
Echo_Wish
2024/04/21
3910
Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测|附代码数据
根据频率,时间序列可以是每年(例如:年度预算),每季度(例如:支出),每周(例如:销售数量),每天(例如天气),每小时(例如:股票价格),分钟(例如:来电提示中的呼入电话),甚至是几秒钟(例如:网络流量)。
拓端
2023/07/17
9900
时间序列预测任务的模型选择最全总结
如果你正在处理时间序列数据,那么就跟云朵君一起学习如何根据预测性能来比较和选择时间序列模型。
数据STUDIO
2023/02/24
5.6K0
时间序列预测任务的模型选择最全总结
只需一行代码!Python中9大时间序列预测模型
在时间序列问题上,机器学习被广泛应用于分类和预测问题。当有预测模型来预测未知变量时,在时间充当独立变量和目标因变量的情况下,时间序列预测就出现了。
一墨编程学习
2019/05/25
1.4K0
4大类11种常见的时间序列预测方法总结和代码示例
本篇文章将总结时间序列预测方法,并将所有方法分类介绍并提供相应的python代码示例,以下是本文将要介绍的方法列表:
deephub
2022/03/12
3.9K0
4大类11种常见的时间序列预测方法总结和代码示例
时间序列预测全攻略(附带Python代码)
原文作者:AARSHAY JAIN 36大数据翻译,http://www.36dsj.com/archives/43811 时间序列(简称TS)被认为是分析领域比较少人知道的技能。(我也是几天前才知道它)。但是你一定知道最近的小型编程马拉松就是基于时间序列发展起来的,我参加了这项活动去学习了解决时间序列问题的基本步骤,在这儿我要分享给大家。这绝对能帮助你在编程马拉松中获得一个合适的模型。 文章之前,我极力推荐大家阅读《基于R语言的时间序列建模完整教程》A Complete Tutorial on Ti
机器学习AI算法工程
2018/03/13
15K0
时间序列预测全攻略(附带Python代码)
GPT4做数据分析时间序列预测之八相当棒2023.6.1
1、用了多种方法预测未来6个月的销售额,并计算了算法的标准差、平均值、与1绝对值求和等验证指标。
用户7138673
2023/08/16
4240
GPT4做数据分析时间序列预测之八相当棒2023.6.1
Power BI 的时间序列预测——ARIMA
跟指数平滑法(ETS)同样经典的另一个时间序列预测模型是ARIMA(Autoregressive Integrated Moving Average Model,整合移动平均自回归模型)。ARIMA完整模型如下方程所示:
btharp
2021/08/31
2.7K0
股市预测,销量预测,病毒传播...一个时间序列建模套路搞定全部!⛵
我们在日常业务中遇到的很多问题,都可以归属到时间序列范畴内——股市涨跌变化、电商销量预测、传染病传播挖掘等,其实都可以用『时间序列』解决。
ShowMeAI
2022/08/09
7560
股市预测,销量预测,病毒传播...一个时间序列建模套路搞定全部!⛵
推荐阅读
python用ARIMA模型预测CO2浓度时间序列实现|附代码数据
1.4K0
用python做时间序列预测九:ARIMA模型简介
32.1K1
R语言中ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型用于预测时间序列数据
3.2K0
用python做时间序列预测十:时间序列实践-航司乘客数预测
4.1K0
python用ARIMA模型预测CO2浓度时间序列实现|附代码数据
8470
Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测
9.1K0
Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测|附代码数据
1.9K0
通过 Python 代码实现时间序列数据的统计学预测模型
2.2K0
Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测|附代码数据
2K0
独家 | 利用Auto ARIMA构建高性能时间序列模型(附Python和R代码)
2.3K0
【数据挖掘 & 机器学习 | 时间序列】时间序列必学模型: ARIMA超详细讲解
2.5K0
使用Python实现时间序列预测模型
3910
Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测|附代码数据
9900
时间序列预测任务的模型选择最全总结
5.6K0
只需一行代码!Python中9大时间序列预测模型
1.4K0
4大类11种常见的时间序列预测方法总结和代码示例
3.9K0
时间序列预测全攻略(附带Python代码)
15K0
GPT4做数据分析时间序列预测之八相当棒2023.6.1
4240
Power BI 的时间序列预测——ARIMA
2.7K0
股市预测,销量预测,病毒传播...一个时间序列建模套路搞定全部!⛵
7560
相关推荐
python用ARIMA模型预测CO2浓度时间序列实现|附代码数据
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验