我有一个关于使用R studio在多个时间序列中进行Arima测试的问题。 例如,我有三个客户,在4个时期内有三个时间序列。
客户端1客户端2客户端3
1 3 7
2 5 3
4 3 1
5 8 9
现在我想预测5/8/9之后的下一个时期。我知道如何使用Arima逐一预测时间序列,但实际上我有很多客户,这将花费太多时间。你可以教我如何做一个循环或使用lapply等来让事情变得更容易吗?
另外,在选择Arima的顺序时,我只知道使用Ident生成ACF和PACF的数字来告诉MA和AR的顺序,这对于大量的时间序列不起作用 - 我觉得不明智绘制数百个数字。你有什么好建议告诉Arima的命令吗?谢谢!
答案 0 :(得分:0)
apply 可以帮助您将相同的功能应用于每一列(如果您将每列作为一个时间序列)。请了解如何使用它,互联网上有很多例子。
如果您有很多时间序列,并且想要避免手动工作, auto.arima 应该会派上用场。如果您对结果不满意:
首先尝试查找一般规则。也就是说,如果您知道每个时间序列都是季节性的(具有相同的季节长度),那么您就知道所有人都需要季节差异。关于长期趋势可以说同样的事情。这些推论也可以通过算法进行。
无论1是否适用,为了确定参数的最佳值,您必须编写用于手动确定AR和MA参数的逻辑。手动逻辑越简单,编码就越容易。一个简单的经验法则是保持AR + MA = 1
,如果ACF逐渐下降则选择AR,如果快速下降则选择MA。什么是快速的,什么是渐进的只需要你的代码决定。