web-dev-qa-db-ja.com

Rでtsを使用して毎日/毎週のデータを分析する

自分の持っている時系列データを分析するためにtsクラスで遊んだところです。

tsクラスは、毎日または毎週のデータを分析するのにはあまり適していないようです。 WebまたはCowpertwaitとMetcalfeの「Rを導入した時系列」で目にするほとんどすべての例は、月次または年次のデータを使用しています。

tsを使用して週次データを分析したいのですが、お勧めできませんか?

18
Rajiv

主な問題は、毎日または毎週のデータを分析するほとんどの人が、年間365日または年間52週間の頻度を使用するようなことをしたいが、年間の日数または週数が365または52または絶え間ない。たとえば、日次データの場合はうるう年の1日を落とすか、週次データの場合は8日または9日の週を除いて、年の各週に7日を使用すると、たとえばそれをファッジできます。さまざまなスキームが可能です。

例として this thread に目を通してください。

11
G. Grothendieck

tsクラスは、観測間に厳密なメトロノミック間隔があるすべてのタイプのデータに適しています。その間隔が年、月、日、分であっても、違いはありません。これにより、多くの科学データに非常に適しています。気象観測。

ただし、時間に関連するデータの大きなクラスにはギャップがあります。たとえば、週末には存在しない株価の終値を見てみましょう。このタイプのデータについては、パッケージxts(拡張可能な時系列)またはZoo(Zの順序付けされた観測-Zはパッケージ作成者の1人の初期値)を使用する方がよいでしょう。

CRANへのリンク:

10
Andrie

動物園は毎日のデータでうまく機能します。たとえば、ベクトルQに対応する日付スタンプD(as.Date()を使用して作成されたものなど)が含まれる毎日の一連のストリームフローがある場合。

Q.z <-Zoo(Q、order.by = D)

うまくプロットするオブジェクトを作成し、window()などの関数を使用して1年を抽出できます。

window(Q.z、start = as.Date( '2000-01-01')、end = as.Date( '2000-31-12')

詳細については、Zooパッケージを確認してください。

5
Tony Ladson

時間の単位は関係しません。単位あたりのデータポイントの数(頻度)のみが行います。 tsとその関数が気にかける限り、1日は1年、10年は何であれ。どの時点でも、それが処理する時間は1週間または1日であることを教えてください。関係ない!

4
Isaac

毎日/毎週のデータの問題は、両方にうるう単位があることだと思います。 4年ごとに追加の366日があり、4年ごとに53週間あります。または、1900年以降に使用されています。したがって、「頻度」は一定でも分数でもありません。それ以外の場合、tsは正常に動作します。

週の周りの最も簡単な方法は、週の始まりの日付を使用することです。 unixlikeシステムでは、ISOウィークを使用することもでき、それらを実装するパッケージもあります。もちろん、データがすでに数週間である場合、グラフなどにラベルを付けるためにのみ必要です。

1
MJV