R中秒/分钟间隔数据的“频率”值


28

我正在使用R(3.1.1)和ARIMA模型进行预测。我想知道什么是“频率”参数ts(),如果im使用时间序列数据,则该参数应在函数中分配

  1. 分钟为单位,并持续180天(每天1440分钟)
  2. 相隔数秒,分布在180天(86,400秒/天)中。

如果我没记错的话,R中以ts为单位的“频率”是每个“季节”的观测次数。

问题部分1:

在我的情况下,“季节”是什么?

如果季节是“日”,那么分钟的“频率”是1440,秒是86400?

问题第二部分:

“频率”是否还取决于我要达到/预测的目标? 例如,就我而言,我想要一个非常短期的预测。每次比10分钟领先一步。 然后可以将季节视为一个小时而不是一天吗? 在那种情况下,频率= 60分钟,而频率= 3600秒?

例如,我尝试使用频率= 60作为分钟数据,与频率= 1440相比,得到了更好的结果(用于fourier查看Hyndman的以下链接) http://robjhyndman.com/hyndsight/forecasting-weekly-data/

(使用MAPE进行预测准确性的比较)

如果结果完全是任意的,并且无法更改频率。在我的数据上使用freq = 60的实际解释是什么?

我也认为值得一提的是,我的数据每隔两个小时包含一次季节性变化(通过观察原始数据和自相关函数)

Answers:


38

“频率”是每个“周期”(通常是一年,但有时是一周,一天,一个小时等)的观测次数。这与物理学中或傅立叶分析中的频率定义相反,其中“周期”是周期的长度,而“频率”是周期的倒数。ts()在R中使用该功能时,应使用以下选择。

Data      frequency
Annual     1
Quarterly  4
Monthly   12
Weekly    52

实际上,一年中没有52周,但平均365.25 / 7 = 52.18。但是大多数使用ts对象的函数都需要整数频率。

一旦观察频率小于一周,则通常有不止一种处理频率的方法。例如,每分钟观察到的数据可能具有每小时的季节性(频率= 60),每日的季节性(频率= 24x60 = 1440),每周的季节性(频率= 24x60x7 = 10080)和年度的季节性(频率= 24x60x365.25 = 525960)。如果要使用ts对象,则需要确定其中哪一个最重要。

一种替代方法是使用一个msts对象(在forecast包中定义)来处理多个季节性时间序列。然后,您可以指定所有可能相关的频率。它也足够灵活以处理非整数频率。

您不一定要包括所有这些频率-而是可能包含在数据中的那些频率。由于只有180天的数据,因此您可能会忽略年度季节性。如果数据是对自然现象(例如温度)的度量,则您也可以忽略每周的季节性。

在多个季节,您可以在回归模型或ARIMA模型中使用TBATS模型或傅立叶项。fourier预测包中的函数将处理msts对象。


这个答案的变化形式已发布在我的博客上:robjhyndman.com/hyndsight/seasonal-periods
Rob Hyndman

Hyndman教授,非常感谢您的帖子!我很高兴能回答我的问题。
Apython
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.