The R Book ご意見/13
の編集
http://www.okadajp.org/RWiki/?The+R+Book+%E3%81%94%E6%84%8F%E8%A6%8B/13
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
* 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}; #comment
タイムスタンプを変更しない
* 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}; #comment
テキスト整形のルールを表示する