* decomposeの使い方が分からない
-ページ: [[The R Book ご意見]]
-投稿者: [[矢野浩一(the R book 第5章担当)]]
-優先順位: 普通
-状態: 終了
-カテゴリー: 疑問
-投稿日: 2005-05-07 (土) 07:27:17

** メッセージ 
2ちゃんねるの数学板・「= 統計解析フリーソフト R =」スレッドでdecomposeの使い方についてご質問をいただきましたので、矢野から一般的な使い方について回答させていただきます。~
http://science3.2ch.net/test/read.cgi/math/1062650510/420-434

回答の要約:decompose(x)とした時には、xはfrequencyを持った時系列データでなければならない(frequencyはtsコマンドで設定する)。そのfrequencyが設定されていない場合、 "Time series has no or less than 3 periods!" というエラーが発生する。対処法としてはtsコマンドを用いて、適切なfrequencyを設定してやればよい。

具体的な手順:~
The R bookのCD-ROMに添付された以下のようなデータの場合の具体的な手順を述べる(データはカンマで区切られた、1998年1月から2003年12月までの月次データ)。~
  "Date","TOPIX","JGB10Year","IndustrialProduct","EnterprisePrices"
  199801,1267.51,1.765,99.9,102.6
  199802,1272.45,1.66,97.4,102.3 
  199803,1251.7,1.58,95.4,101.9
  199804,1222.98,1.455,94.8,101.6
  199805,1221.49,1.21,94,101.5
  199806,1230.38,1.32,94.1,101.5
  199807,1262.04,1.24,93.9,101.5
  199808,1106.49,1.045,91.9,101.4
  199809,1043.57,0.76,93.3,101.4
  199810,1035.6,0.82,92.8,100.7
  199811,1143.5,1.055,92.4,100.5
  199812,1086.99,2.013,92.2,100.5
  (中略)
  200311,999.75,1.295,98.7,94.8
  200312,989.95,1.36,97.7,95
このデータからTOPIXだけを取り出して、decomposeで季節調整を実行する。~
  data <- read.table("JPMacroEcon.csv", sep=",", header=T)
  topix <- data$TOPIX
  topixTs <- ts(topix, frequency=12, start=c(1998,1))
  plot(decompose(topixTs))
まず、1行目でJPMacroEcon.csvというファイルからデータを読み込む。ファイルの形式がカンマ区切りであるからsep=","を設定し、ファイルにヘッダがあるためheader=Tを設定する。2行目でdataからTOPIXだけを取り出し、topixに代入する(この時点ではtopixはただの配列)。3行目でtsコマンドを使ってただの配列であるtopixを時系列オブジェクト(tsオブジェクト)に変換する。この際にfrequencyを設定することが必要(月次データなのでfrequency=12。四半期ならfrequency=4などとなる)。~

失敗する場合(frequencyが設定されていない場合):~
  data <- read.table("JPMacroEcon.csv", sep=",", header=T)
  topix <- data$TOPIX
  topixTs <- ts(topix,  start=c(1998,1))
  plot(decompose(topixTs))
  Error in decompose(topixTs) : time series has no or less than 3 periods

日次データにおけるfrequencyの設定について:~
未だにあまり良い方法が見つかっていません。もし、何か良い方法を見つけられた方がおられましたら、ぜひ教えてください!またとりあえずの方法に関しては以下が役に立つかもしれません。~
[[frequencyについて in 初級Q&A アーカイブ(1):http://www.okada.jp.org/RWiki/index.php?cmd=read&page=%BD%E9%B5%E9%A3%D1%A1%F5%A3%C1%20%A5%A2%A1%BC%A5%AB%A5%A4%A5%D6%281%29&word=frequency#content_1_21]]

----
-(ひとりごと)今回は、ご質問の原因がすぐに分かったので、なんとか回答を差し上げられる訳ですが、時系列解析の分野は限りなく広大なので、矢野が知らないことも多くあります。たとえばVECM (Vector Error Correction Moedel)とか・・・回答できない場合は本当に申し訳ありません。あらかじめ謝罪させていただきます。 -- [[矢野]] &new{2005-05-07 (土) 08:25:53};
-<a href='http://www.la-ringtones.com'>mp3 ringtones</a> : [http://www.la-ringtones.com real ringtones] - [HTTP://www.la-ringtones.com real ringtones] : [motorola ringtones|http://www.la-ringtones.com] - [motorola ringtones|HTTP://www.la-ringtones.com] : http://www.la-ringtones.com/tones/ : [[http://www.la-ringtones.com tracfone ringtones]] : [[http://www.la-ringtones.com | qwest ringtones]] : "nextel ringtones" http://www.la-ringtones.com : [http://www.la-ringtones.com|funny ringtones] -- [[mp3 ringtones]] &new{2006-08-01 (火) 10:06:41};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS