时间序列预测技术解析与应用

在日常生活中,面临着各种各样的问题,其中一个主要问题就是随时间变化的情况分析。时间序列预测在销售、天气、价格等多个场景中被广泛使用,这些场景中关注的底层值是一段时间内估计的数据点范围。本文旨在提供解决这类问题的一些算法的基本结构,将探索各种时间序列预测方法。

可能都听说过现代时间序列预测中使用的ARIMA模型。本文将深入理解ARIMA以及如何使用自动ARIMA模型在股市数据集上预测结果。

理解ARIMA和自动ARIMA

传统上,大家在进行时间序列预测时都会使用ARIMA。ARIMA代表“自回归积分滑动平均”,这是一组基于其初始值、滞后和滞后预测误差定义给定时间序列的模型,以便用于预测预测值。

有“非季节性时间序列,表现出模式且不是可以被ARIMA模型塑造的随机白噪声。”ARIMA模型由三个术语定义:p、d、q,其中p是AR项的特定阶数,q是MA项的特定阶数,d是使时间序列平稳所需的差分次数。

如果时间序列具有季节性模式,则需要添加季节性项,它就转换为SARIMA,代表“季节性ARIMA”。

“自回归”在ARIMA中指的是一个线性回归模型,它使用其滞后作为预测器。线性回归模型在预测器不相关且彼此独立时效果最佳。希望使它们平稳,标准方法是对它们进行微分。这意味着从当前值中减去初始值。根据序列的复杂性,可能需要多次差分。

因此,d值是使序列平稳所需的最小差分次数。如果已经有一个平稳的时间序列,继续使用d作为零。

“自回归”(AR)项由“p”表示。这与作为预测器的Y的滞后数量有关。“移动平均”(MA)项与“q”相关。这与应该符合ARIMA模型的滞后预测误差的数量有关。

一个自回归(仅AR)模型有Yt,它完全依赖于其滞后。这样的Yt是“Yt的滞后”的函数。

此外,一个移动平均(仅MA)模型有Yt,它特别依赖于滞后预测误差。

在ARIMA模型中的时间序列差分至少差分一次以确保它是平稳的,结合AR和MA项。因此,方程变为:

!pip install pmdarima

现在将查看一个名为“自动ARIMA”的模型,这是pmdarima包中的一个auto_arima模块。可以使用pip install来安装模块。

应用的数据集是过去二十年印度国家证券交易所(NSE)Nifty-50指数的股市数据。众所周知的VWAP(成交量加权平均价格)是预测的目标变量。VWAP是交易者使用的交易基准,它提供了股票在一天内基于成交量和价格交易的平均价格。

数据集可在以下链接获取:。

几乎所有的时间序列问题都需要外部特征或内部特征工程来改进模型。添加了一些基本特征,如广泛接受用于时间序列问题的现有数值特征的滞后值。考虑到需要预测一天的股价,不能使用同一天的特征值,因为它们在实际推理时将不可用。需要使用它们的滞后值的均值和标准差等统计数据。使用了三组滞后值,一天前、七天前和三十天前,作为上周和上月指标的代理。

在增强模型时,添加日期时间特征如小时、天、月等非常有益,以便实施模型对数据中时间元素的了解。对于时间序列模型,并不明确期望传递这些信息,但可以做到,将在本文中讨论,以便所有模型都在完全相同的一组特征上进行分析。

数据被分割为训练和测试以及其特征。训练:有2008年5月26日至2018年12月31日的数据。验证:有2019年1月1日至2019年12月31日的数据。

在本文中,探索了ARIMA的细节,并了解了如何将自动ARIMAX应用于时间序列数据集。实现了模型,并得到了大约147.086作为RMSE和104.019作为MAE的最终结果。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485