Rの秒/分間隔データの「頻度」値


28

予測にR(3.1.1)とARIMAモデルを使用しています。私が次のような時系列データを使用している場合ts()関数割り当てられる「頻度」パラメータはどうあるべきかを知りたい

  1. 分単位で区切られ、180日間に分散(1440分/日)
  2. で区切られ、180日間(86,400秒/日)に広がります。

定義を正しく思い出せば、Rのtsでの「頻度」は、「季節」ごとの観測数です。

質問パート1:

私の場合の「季節」とは何ですか?

季節が「日」の場合、分数の「頻度」は1440、秒数の86,400ですか。

質問パート2:

「頻度」は、達成/予測しようとしているものにも依存しますか? たとえば、私の場合、非常に短期的な予測が必要です。毎回10分先に進みます。 季節を1日ではなく1時間と見なすことは可能でしょうか? その場合、分数の頻度は60、秒の頻度は3600ですか?

たとえば、分データに頻度= 60を使用しようとしましたが、頻度= 1440と比較してより良い結果が得られました(使用されfourierているリンクはHyndmanによる下記のリンクを参照してください) http://robjhyndman.com/hyndsight/forecasting-weekly-data/

(予測は、予測精度の測定にMAPEを使用して行われました)

結果が完全に任意であり、頻度を変更できない場合。私のデータでfreq = 60を使用することの実際の解釈は何でしょうか?

また、私のデータには1時間ごとおよび2時間ごとの季節性が含まれていることに言及する価値があると思います(生データと自己相関関数を観察することにより)

回答:


38

「頻度」は、「サイクル」あたりの観測数です(通常は1年ですが、週、日、時間など)。これは、物理学またはフーリエ解析における周波数の定義の反対です。ここで、「周期」はサイクルの長さであり、「周波数」は周期の逆数です。ts()Rで関数を使用するときは、次の選択肢を使用する必要があります。

Data      frequency
Annual     1
Quarterly  4
Monthly   12
Weekly    52

実際、1年に52週間はありませんが、平均で365.25 / 7 = 52.18です。しかし、使用するほとんどの機能tsオブジェクトするは整数の頻度を必要とします。

観測の頻度が1週間未満になると、通常、頻度を処理する方法は複数あります。たとえば、毎分観測されるデータには、毎時の季節性(頻度= 60)、毎日の季節性(頻度= 24x60 = 1440)、毎週の季節性(頻度= 24 x 60 x 7 = 10080)および年間の季節性(頻度= 24 x 60 x 365.25 = 525960)。tsオブジェクトを使用する場合は、これらのどれが最も重要かを判断する必要があります。

別の方法は、複数の季節性時系列を処理するmstsオブジェクト(forecastパッケージで定義)を使用することです。次に、関連する可能性のあるすべての周波数を指定できます。また、非整数​​の周波数を処理するのに十分な柔軟性があります。

これらのすべての周波数を含める必要はありません。データに存在する可能性がある周波数だけを含めます。データは180日しかないため、年間の季節性はおそらく無視できます。データが自然現象(温度など)の測定値である場合、週ごとの季節性も無視できる場合があります。

複数の季節性がある場合、TBATSモデル、または回帰モデルまたはARIMAモデルでフーリエ項を使用できます。fourier予測パッケージの関数はmstsオブジェクトを処理します。


この回答への変化は、私のブログに掲載されていますrobjhyndman.com/hyndsight/seasonal-periods
ロブHyndman

Hyndman教授、あなたの投稿に感謝します!質問に答えてくれてうれしいです。
Apython 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.