ARIMA模型中的趋势阶数

3

我正在尝试拟合ARIMA模型。我有3个月的数据,每分钟都显示count(float)。我应该传递哪个顺序给arima.fit()?我需要预测每一分钟。

我的数据图

我的ACF

我的PACF

工作日数据 更新后的PACF 更新后的ACF 预测


1
如果你对统计学一无所知,建议你去Cross validated上询问。 - Spinor8
2个回答

0

一个基本的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


我排除了周末并使用了auto.arima。但是我的预测结果出现NaN。 - Dexter
stepwise_model = auto_arima(group, start_p=1, start_q=1, max_p=3, max_q=3, m=12, start_P=0, seasonal=True, d=1, D=1, trace=True, error_action='ignore',
suppress_warnings=True, stepwise=True)
- Dexter
不了解数据的更多信息将很难进行诊断。数据代表什么?ARIMA模型只适用于平稳时间序列数据或可转换为平稳时间序列数据的数据。您可能还需要过滤掉晚上的数据。您可能需要使用时间序列的第一差分而不是原始时间序列。基本上,您必须使您的数据看起来像这个网站上的数据:https://en.wikipedia.org/wiki/Stationary_process ,并且总有可能不存在统计关系,您的数据只是白噪声。 - Troy D
数据显示每分钟进入办公室咖啡厅的人数。早餐和午餐时间会有高峰期。我正在尝试预测未来日期和时间的人数。 - Dexter
如果你正在处理已知的周期性行为,那么季节模型可能是正确的选择。所有ARIMA模型都是线性模型,因此在某种程度上,你必须找出如何转换数据以使其平稳。你必须去除数据中的非平稳元素。你应该阅读关于SARIMA(p,d,q) x (P,D,Q)^s模型的资料。季节模型所做的就是从数据中减去一个已知的周期,因此在你的情况下,s=72460=10080。然后你将比较周一上午10点和下周一上午10点等。 - Troy D
请尝试阅读http://www.seanabu.com/2016/03/22/time-series-seasonal-ARIMA-model-in-python/,该文章与Python中的时间序列季节性ARIMA模型有关。 - Troy D

0

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中的一些包信息,请告诉我。


我没有R语言的背景。由于Prophet有Python实现,我可以在Python中使用它吗? - Dexter
我对时间序列模型非常陌生。我在回归和分类模型方面有一些经验。我可以在没有任何背景的情况下完成这个项目吗? - Dexter
是的,确实可以在这里获取Python实现(Facebook .GitHub)- https://facebook.github.io/prophet/docs/quick_start.html#python-api - Arpit Sisodia
时间序列并不是什么大不了的事情,可以将其视为具有滞后值作为自变量的回归。ARIMA模型只是一个回归模型。如果您对回归和时间序列感兴趣,这篇文章可能会有所帮助-https://machinelearningstories.blogspot.com/2016/08/time-series-and-fitting-regression-on.html - Arpit Sisodia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接