忍者ブログ
やったことの記録 主にlinuxとかperlとか
プロフィール
HN:
隠居SE
性別:
非公開
カテゴリー
P R
ブログ内検索
忍者カウンター
[11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ただいまRの勉強中です。

機械学習に興味が沸いたので、
SARIMAをやってみようかと思いまして。

まずは時系列データ(平日のみ)を用意して取り込み

> data <- data <- read.csv("data.csv")
> head(data,10) Date Data 1 2007-01-04 3465 2 2007-01-05 3480 3 2007-01-08 NA 4 2007-01-09 3535 5 2007-01-10 3400 6 ・・・

横軸に曜日(平日は5日)を置いた時系列オブジェクトに変換

> data2 <- ts(data$Data,frequency=5,start=c(2007,4))
> data2 Time Series: Start = c(2007, 4) End = c(2551, 5) Frequency = 5 [1] 3465.0 3480.0 NA 3535.0 3400.0 3355.0 3405.0 3435.0 3385.0 3350.0 [11] 3415.0 3465.0 3530.0 3515.0 3575.0 3635.0 3590.0 3535.0 3470.0 3460.0 [21] 3585.0 3595.0 3545.0 3550.0 3505.0 3380.0 3505.0 NA 3560.0 3600.0 [31] 3540.0 3490.0 3495.0 3460.0 3435.0 3450.0 3520.0 3460.0 3425.0 3260.0 [41] ・・・

全く機能していないっぽい。
しかし、frequency=4にすると、

> data2
       Qtr1   Qtr2   Qtr3   Qtr4
2007                      3465.0
2008 3480.0     NA 3535.0 3400.0
2009 3355.0 3405.0 3435.0 3385.0
2010 3350.0 3415.0 3465.0 3530.0
2011 3515.0 3575.0 3635.0 3590.0
2012 3535.0 3470.0 3460.0 3585.0
2013 ・・・

なかなか正解にたどり着けず悩んだけど、
どうやら表示する時に4や12以外では成型されないだけで、
frequencyは効いているらしい。
で、それを確認するには、次のように表示させればいい模様。

> print(data2,calendar=TRUE)
         p1     p2     p3     p4     p5
2007                      3465.0 3480.0
2008     NA 3535.0 3400.0 3355.0 3405.0
2009 3435.0 3385.0 3350.0 3415.0 3465.0
2010 3530.0 3515.0 3575.0 3635.0 3590.0
2011 3535.0 3470.0 3460.0 3585.0 3595.0
2012 3545.0 3550.0 3505.0 3380.0 3505.0
2013 ・・・

む、むずい_| ̄|○ il||l


#R言語 #ts #frequency
PR
Powerd by NINJAブログ / Designed by SUSH
Copyright © 隠居SEの備忘録 All Rights Reserved.
忍者ブログ/[PR]