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

全文下载链接:http://tecdat.cn/?p=20742

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

相关视频

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

417ec4c5d885a55a3317ce12983fffee.png

时间序列预测

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

一些示例

  • 预测未来的客户数量。

  • 解释销售中的季节性模式。

  • 检测异常事件并估计其影响的程度。

  • 估计新推出的产品对已售出产品数量的影响。

时间序列的组成部分:

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

# 导入所需的库

import numpy as np


  

# 读取AirPassengers数据集

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

                       index_col ='Month',

                       parse_dates = True)

  

# 输出数据集的前五行

airline.head()

  

# ETS分解


# ETS图

result.plot()

 输出:

34afbb68c7b100294e5259f27004f197.png

f2bde90c7f45d233ddde6a01f1ab7f32.png


点击标题查阅往期内容

033025b62ea0ea1c936661fa187d517f.jpeg

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

outside_default.png

左右滑动查看更多

outside_default.png

01

92000701f9963b1a194b74a8a8632438.png

02

ffe7d6c6ea894a69613f98645071ada2.png

03

8df42b608341f3476b5d15f1b76a54e3.png

04

73a450dfdfe654a6b8205c6975060a83.png

ARIMA时间序列预测模型

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

ARIMA模型的类型

自动ARIMA

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

代码:ARIMA模型的参数分析

# 忽略警告

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()

输出:
fdc1c1043c18788dac0a02274b52d01d.png

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

# 将数据拆分为训练/测试集


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

  

# 在训练集上拟合一个SARIMAX(0,1,1)x(2,1,1,12)


  
SARIMAX(Passengers, 

                order = (0, 1, 1), 

                seasonal_order =(2, 1, 1, 12



result.summary()

输出:
e20eb01d2b840d2745ffed96b8f768c0.png

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

# 针对测试集的一年预测

predict(start, end,

                          
  

#绘图预测和实际值

predictions.plot

输出:

081d9a5af82b06f0efa2873316e33f0a.png

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

# 加载特定的评估工具
# 计算均方根误差

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

  

# 计算均方误差

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

输出:

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

# 在完整数据集上训练模型


result = model.fit()

  

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

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


  

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

输出:

20c536aed890705bb8e420669fd90baa.png

  • 趋势:趋势显示了长时间序列数据的总体方向。趋势可以是增加(向上),减少(向下)或水平(平稳)。

  • 季节性:季节性成分在时间,方向和幅度方面表现出重复的趋势。一些例子包括由于炎热的天气导致夏季用水量增加,或每年假期期间航空公司乘客人数增加。

  • 周期性成分: 这些是在特定时间段内没有稳定重复的趋势。周期是指时间序列的起伏,通常在商业周期中观察到。这些周期没有季节性变化,但通常会在3到12年的时间范围内发生,具体取决于时间序列的性质。

  • 不规则变化: 这些是时间序列数据中的波动,当趋势和周期性变化被删除时,这些波动变得明显。这些变化是不可预测的,不稳定的,并且可能是随机的,也可能不是随机的。

  • ETS分解
    ETS分解用于分解时间序列的不同部分。ETS一词代表误差、趋势和季节性。

  • AR(_p_)自回归 –一种回归模型,利用当前观测值与上一个期间的观测值之间的依存关系。自回归(_AR(p)_)分量是指在时间序列的回归方程中使用过去的值。

  • I(_d_) –使用观测值的差分(从上一时间步长的观测值中减去观测值)使时间序列稳定。差分涉及将序列的当前值与其先前的值相减d次。

  • MA(_q_)移动平均值 –一种模型,该模型使用观测值与应用于滞后观测值的移动平均值模型中的残留误差之间的相关性。移动平均成分将模型的误差描述为先前误差项的组合。 _q_ 表示要包含在模型中的项数。

  • ARIMA:非季节性自回归移动平均模型

  • SARIMA:季节性ARIMA

  • SARIMAX:具有外生变量的季节性ARIMA

9c2778df6c9585b8ae706105e78e2345.jpeg

点击文末“阅读原文”

获取全文完整资料。

本文选自《Python | ARIMA时间序列模型预测航空公司的乘客数量》。

6fdbd14ec7407e0d3eaf69db2d1655d5.jpeg

本文中的乘客数据分享到会员群,扫描下面二维码即可加群!

2b8eb6699ce82182d64152adcd2ea891.png

点击标题查阅往期内容

R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列

R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据

R语言GARCH模型对股市sp500收益率bootstrap、滚动估计预测VaR、拟合诊断和蒙特卡罗模拟可视化

R语言单变量和多变量(多元)动态条件相关系数DCC-GARCH模型分析股票收益率金融时间序列数据波动率

R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格

GARCH-DCC模型和DCC(MVT)建模估计

R语言预测期货波动率的实现:ARCH与HAR-RV与GARCH,ARFIMA模型比较

ARIMA、GARCH 和 VAR模型估计、预测ts 和 xts格式时间序列

PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化

极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析

Garch波动率预测的区制转移交易策略

金融时间序列模型ARIMA 和GARCH 在股票市场预测应用

时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格

R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据

R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化

Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用

MATLAB用GARCH模型对股票市场收益率时间序列波动的拟合与预测

R语言极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析

Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列

R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格

R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列

Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测

R语言时间序列GARCH模型分析股市波动率

R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测

matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计

Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测

使用R语言对S&P500股票指数进行ARIMA + GARCH交易策略

R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析

R语言多元Copula GARCH 模型时间序列预测

R语言使用多元AR-GARCH模型衡量市场风险

R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格

R语言用Garch模型和回归模型对股票价格分析

GARCH(1,1),MA以及历史模拟法的VaR比较

matlab估计arma garch 条件均值和方差模型

a057964753c076a9a09fa4d49f647141.png

32687ee1ab0ca8018c11c62f4506d4ee.jpeg

fb270a0457d2cee19b4a31b92383d91c.png

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值