Python:pmdarima,autoarima不适用于大数据

问题描述

我有一个数据框,每15分钟进行约80.000次观察。假设季节参数m为96,因为模式每隔24小时重复一次。 当我在auto_arima算法中插入这些信息时,要花很长时间(几个小时)才能给出以下错误消息:

MemoryError: Unable to allocate 5.50 GiB for an array with shape (99,99,75361) and data type float64

我正在使用的代码

stepwise_fit = auto_arima(df['Hges'],seasonal=True,m=96,stepwise=True,stationary=True,trace=True)
print(stepwise_fit.summary())

我尝试将其重新采样为小时值,以将数据量和m因子减少到24,但是我的计算机仍然无法计算结果。

当处理大数据时,如何使用auto_arima查找加权因子?

解决方法

我不记得我读过这篇文章的确切来源,但是auto.arima和pmdarima都没有真正针对缩放进行优化,这也许可以解释您所面临的问题。

关于您的问题,还有一些更重要的事情要注意:每15分钟间隔80K数据点,无论如何,ARIMA可能都不是适合您的用例的最佳模型类型:

  • 由于数据的频率和密度,很可能存在多个周期/季节模式,ARIMA只能处理一个季节分量。因此,至少您应该尝试一个可以处理多个季节性的模型,例如STSProphetTBATS in R也可以处理多个季节性,但可能会遇到与以下相同的问题auto.arima,因为它在同一个软件包中。
  • 我假设您以8万个点和15分钟的测量间隔进行处理,这很可能是处理“物理”时间序列的过程,该时间序列是传感器或某些其他计量/监视设备(电负载,网络流量等)的输出。 )。对于LSTM或其他基于深度学习的模型(而不是ARIMA),这些类型的时间序列通常是非常好的用例。