我正在尝试拟合ARIMA模型。我有3个月的数据,每分钟都显示count(float)
。我应该传递哪个顺序给arima.fit()
?我需要预测每一分钟。
一个基本的ARIMA(p,d,q)模型无法处理你的数据。
你的数据违反了ARIMA的假设之一,即参数必须在时间上保持一致。
我看到有5个尖峰的聚集,所以我猜你有5个繁忙的工作日和安静的周末。基本的ARIMA不会区分工作日和周末,所以它可能不会给你有用的结果。
有一种叫做SARIMA(季节性自回归移动平均)的东西。如果你处理的是每天的数据点,那么这将是有用的,但对于分钟级别的数据来说并不太适合。
我建议你尝试过滤掉晚上和周末的数据。然后你可能会处理一个具有一致参数的数据集。如果你使用Python,可以尝试在过滤后的时间序列数据(s)上使用pyramid的auto_arima()函数,让它尝试自动找到最佳的参数p、d、q。
它还执行了很多你可能想要进行的统计测试,这种类型的分析。实际上,我并不总是同意auto_arima的参数选择,但这是一个开始。
model = pyramid.arima.auto_arima(s)
print(model.summary())
http://pyramid-arima.readthedocs.io/en/latest/_submodules/arima.html
1)你的数据适合进行Box-Jenkins模型(ARIMA)吗?
2)我看到最后的均值较高。数据中有明显的季节性。ARIMA将失败。请尝试基于季节性的模型,如SARIMA,正如try所建议的那样,Prophet是Facebook另一个美丽的算法用于处理季节性。(R实现)
https://machinelearningstories.blogspot.com/2017/05/facebooks-phophet-model-for-forecasting.html
3)不要仅仅依赖ARIMA。尝试其他时间序列算法,如STL、BTS、TBATS(结构时间序列)和混合等。如果您需要R中的一些包信息,请告诉我。