【问题标题】:Python: pmdarima, autoarima does not work with large dataPython:pmdarima,autoarima 不适用于大数据
【发布时间】:2020-12-05 21:20:01
【问题描述】:

我有一个数据框,每 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找到权重因子?

【问题讨论】:

    标签: python forecasting arima


    【解决方案1】:

    我不记得我阅读这篇文章的确切来源,但 auto.arima 和 pmdarima 都没有真正针对规模进行优化,这可能解释了您面临的问题。

    但关于您的问题,还有一些更重要的事情需要注意:对于 80K 数据点,每隔 15 分钟,ARIMA 可能不是您的用例的最佳模型类型:

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

    【讨论】:

    • 感谢您的回答!这对我有很大帮助。事实上,我正在处理电力负荷,并希望提前一天进行预测。我想将您的答案标记为有用,但我不能以 13 的代表进行。当我的声誉增长时,我会这样做:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多