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

原文链接: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模型进行工夫序列预测

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理