时间序列 被定义为一系列按时间顺序索引的数据点。时间顺序可以是每天,每月或每年。
以下是一个时间序列示例,该示例说明了从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()
输出:
点击标题查阅往期内容
Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测
左右滑动查看更多
01
02
03
04
ARIMA代表自回归移动平均模型,由三个阶数参数 _(p,d,q)指定。_
自动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)
输出:
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有