关于算法:Python-ARIMA时间序列模型预测航空公司的乘客数量

2次阅读

共计 2395 个字符,预计需要花费 6 分钟才能阅读完成。

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

工夫序列  被定义为一系列按工夫顺序索引的数据点。工夫程序能够是每天,每月或每年。

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

工夫序列预测

工夫序列预测是应用统计模型依据过来的后果预测工夫序列的将来值的过程。

一些示例

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

工夫序列的组成部分:

代码:航空公司乘客的 ETS 合成数据集:

# 导入所需的库

import numpy as np


  

# 读取 AirPassengers 数据集

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

                       index_col ='Month',

                       parse_dates = True)

  

# 输入数据集的前五行

airline.head()

  

# ETS 合成


# ETS 图

result.plot()

  输入:

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

输入:

代码:将 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()

输入:

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

 # 针对测试集的一年预测

predict(start, end,

                          
  

#绘图预测和理论值

predictions.plot 

输入:

代码:应用 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)

输入:

  • 趋势: 趋势显示了长时间序列数据的总体方向。趋势能够是减少(向上),缩小(向下)或程度(安稳)。
  • 季节性: 季节性成分在工夫,方向和幅度方面体现出反复的趋势。一些例子包含因为酷热的天气导致冬季用水量减少,或每年假期期间航空公司乘客人数减少。
  • 周期性成分: 这些是在特定时间段内没有稳固反复的趋势。周期是指工夫序列的起伏,通常在商业周期中察看到。这些周期没有季节性变动,但通常会在 3 到 12 年的工夫范畴内产生,具体取决于工夫序列的性质。
  • 不规则变动: 这些是工夫序列数据中的稳定,当趋势和周期性变动被删除时,这些稳定变得显著。这些变动是不可预测的,不稳固的,并且可能是随机的,也可能不是随机的。
  • ETS 合成
    ETS 合成用于合成工夫序列的不同局部。ETS 一词代表误差、趋势和季节性。
  • AR(_p_)自回归  –一种回归模型,利用以后观测值与上一个期间的观测值之间的依存关系。自回归(_AR(p)_)重量是指在工夫序列的回归方程中应用过来的值。
  • I(_d_) –应用观测值的差分(从上一时间步长的观测值中减去观测值)使工夫序列稳固。差分波及将序列的以后值与其先前的值相减 d 次。
  • MA(_q_)挪动平均值 –一种模型,该模型应用观测值与利用于滞后观测值的挪动平均值模型中的残留误差之间的相关性。挪动均匀成分将模型的误差形容为先前误差项的组合。_q_ 示意要蕴含在模型中的项数。
  • ARIMA: 非季节性自回归挪动均匀模型
  • SARIMA 季节性 ARIMA
  • SARIMAX: 具备外生变量的季节性 ARIMA
    • *

最受欢迎的见解

1. 在 python 中应用 lstm 和 pytorch 进行工夫序列预测

2.python 中利用长短期记忆模型 lstm 进行工夫序列预测剖析

3. 应用 r 语言进行工夫序列(arima,指数平滑)剖析

4.r 语言多元 copula-garch- 模型工夫序列预测

5.r 语言 copulas 和金融工夫序列案例

6. 应用 r 语言随机稳定模型 sv 解决工夫序列中的随机稳定

7.r 语言工夫序列 tar 阈值自回归模型

8.r 语言 k -shape 工夫序列聚类办法对股票价格工夫序列聚类

9.python3 用 arima 模型进行工夫序列预测

正文完
 0