时间序列 被定义为一系列按时间顺序索引的数据点。时间顺序可以是每天,每月或每年。
以下是一个时间序列示例,该示例说明了从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代表自回归移动平均模型,由三个阶数参数 (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)
输出:
最受欢迎的见解
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模型进行时间序列预测