Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
時系列解析の使い方 - TokyoWebMining #17
Search
horihorio
May 20, 2012
Business
0
21
時系列解析の使い方 - TokyoWebMining #17
horihorio
May 20, 2012
Tweet
Share
More Decks by horihorio
See All by horihorio
分析のビジネス展開を考える―状態空間モデルを例に @TokyoWebMining #47
horihorio
0
16
セグメンテーションの考え方・使い方 - TokyoR #44
horihorio
0
11
統計と会計 - Zansa#19
horihorio
0
14
補足資料 財務3表の基礎知識
horihorio
0
16
ロジスティック回帰の考え方・使い方 - TokyoR #33
horihorio
0
11
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
0
69
第6章 2つの平均値を比較する - TokyoR #28
horihorio
0
15
RでGARCHモデル - TokyoR #21
horihorio
0
86
Rで学ぶ現代ポートフォリオ理論入門 - TokyoR #18
horihorio
0
220
Other Decks in Business
See All in Business
Feedback in Action
lycorptech_jp
PRO
1
300
FERMENSTATION Recruitment
fermenstation
0
400
c-slide_サービス紹介資料テンプレート
coneinc
0
730
Introduction of Elastic Infra Inc.
elasticinfra
0
710
rsgt2025-hub-discount-guy
aokiplayer
0
230
Udyam Registration Portal - MSME Registration Online for Small Businesses in India
udyamr
0
340
社会の中のわたしの技術 ─ 自分の地図の描き方 #wttjp
yotii23
0
450
国内ランサムウェア3事例から学ぶ中小病院におけるサイバーセキュリティ対策 / Cybersecurity Learned from Cases
henryofficial
0
260
Gemini CLI ハンズアウト
mickey_kubo
3
390
【新卒採用ピッチ資料/営業職】(株)キャリアデザインセンター
cdcsaiyo
0
1.7k
Sales Marker Culture Book(English)
salesmarker
PRO
2
5.4k
【全ポジション共通】㈱エグゼクション/会社紹介資料
exe_recruit
1
1.3k
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
51k
GitHub's CSS Performance
jonrohan
1031
460k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Why Our Code Smells
bkeepers
PRO
336
57k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
740
For a Future-Friendly Web
brad_frost
179
9.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Scaling GitHub
holman
460
140k
Transcript
時系列解析の使い方 #TokyoWebmining 17th 2012/05/20 @horihorio
2012/05/20 時系列解析の使い方 自己紹介 • Twitter ID: @horihorio • 学位:修士(経済学) ファイナンス周りを少々
• 仕事上の肩書き: データマイニング・コンサルタント • やってきたこと:一貫して金融業で、例えば 与信リスクモデル構築・導入(法人・個人) Baselの動向の調査、導入対応 • 興味のあること: 基本的に、雑食性。金融/リスク管理/会計(IFRS)/数学 /統計/R/DB/機械学習/etc… 2 / 32
◇ 全体構成 ◇ 1. はじめに 2. 時系列解析のフローチャート(案) 2012/05/20 時系列解析の使い方 3
/ 32 (1) 分析方針の立案 1. 分析設計 2. 状態空間モデルの検討 (2) データ加工 1. データの観察 2. 定常時系列への変換 3. 単位根検定 (3) モデリング 1. モデリング 2. 結果のチェック
1. はじめに 本発表での問題意識 時系列解析を学んで、使ってみて、 • 何か、色々毛色が違う手法だなぁ • 教科書にない考慮事項が多いぞ • 使う手法の順序って、教科書の順序と色々
違うぞ? と思った(サンプル数:1)。 2012/05/20 時系列解析の使い方 4 / 32
2012/05/20 時系列解析の使い方 5 / 32 発表で扱うこと • ビジネスへの適用を念頭に置いた、時系列 解析の考え方、使い方 •
時系列解析の理論面の解説 • 実データの解析例 手法については、参考文献をご参照 扱わないこと 1. はじめに
2. 時系列解析のフローチャート(案) 時系列解析の使い方 2012/05/20 (1) 分析方針の立案 1. 分析設計 2. 状態空間モデルの検討
6 / 32 (2) データ加工 1. データの観察 2. 定常時系列への変換 3. 単位根検定 (3) モデリング 1. モデリング 2. 結果のチェック いまココ
2.1. 分析方針の立案 分析にあたって重要なこと(時系列に限らず) 最初の分析計画の設定: 分析の 背景 / 目的 / 方法
を明確にし、結論を想定すること よくある?迷走例: 1. 分析中、「結局何がしたいだっけ?」と混乱する 2. 何か出力されたが、「どう結論つけるの?」 とアタマを抱える 3. 報告して、「それってお願いしたことと違うんだけど…」 とツッコミが入る 2012/05/20 時系列解析の使い方 7 / 32
時系列解析を採用する際の重要事項: 分析の結果、次に何が想定されるか? • 分析→報告・行動 がその場限り 例:サーバー異常検知、ノイズフィルタリング、 過去データの観測、スポット的な分析PJの報告、等 • 分析→報告・行動まで 反復がある
例:母集団、仮定・前提の変更、要因分解、等々…、 再度 分析→報告 のサイクルが回る 2012/05/20 時系列解析の使い方 8 / 32 2.1.1. 時系列モデルの検討事項
時系列解析を採用する際の重要事項: 分析の結果、次に何が想定されるか? • 分析→報告・行動まで 反復がある 例:母集団、仮定・前提の変更、要因分解、等々…、 再度 分析→報告 のサイクルが回る このときには:
• 時系列解析以外の選択肢もあるのでは? • するならば、状態空間モデルの導入も検討 2012/05/20 時系列解析の使い方 9 / 32 2.1.1. 時系列モデルの検討事項
時系列解析のイメージ図 Webサイト訪問数 (RのWWWusageで適当にモデリング) モデル投入 これまでの 流れに基づく予測 予測+2σ その場限り/反復の有無 とは? 2012/05/20
時系列解析の使い方 10 / 32 予測-2σ 2.1.1. 時系列モデルの検討事項
時系列モデル:過去の値から将来を当てたい。 なぜその値になるの?との構造は考えない。 先のモデル メリット: • 結果が分かりやすい(特に、グラフ) • 比較的、データが集めやすい、揃っている (分析しよう、と言うくらいだから、ねぇ…) 2012/05/20
時系列解析の使い方 11 / 32 入力:過去の値 出力:将来の値 2.1.1. 時系列モデルの検討事項
• データが10点しかないのですが → まず無理。X-12(U.S. Censusによる季節調整法)は、最 低60データ程度が必要。 • この結果になった各々の要因を説明して → 無理。時系列解析が不適当。
• 前提/母集団 を変えても当たる? → モデルの比較、要因追跡が困難。 状態空間モデルの導入も一案(次ページ) 2012/05/20 時系列解析の使い方 12 / 32 時系列解析で困る場合 2.1.1. 時系列モデルの検討事項
実際の株価 好景気 不景気 好 景 気 / 不 景 気
を 決 め る モ デ ル 状態空間モデルのイメージ 2012/05/20 時系列解析の使い方 13 / 32 2.1.2. 状態空間モデルの検討
(状態方程式) (観測方程式) • :状態(直接観測出来ない) • :状態ノイズ(平均ゼロの正規分布) • :観測値 • :観測ノイズ(平均ゼロの正規分布)
• :係数行列 推定したいもの:状態方程式 と 観測方程式 2012/05/20 時系列解析の使い方 14 / 32 状態空間モデルの数式表現 2.1.2. 状態空間モデルの検討
• 採用するか否かの決定は、モデルが根本的に違うの で、初期段階が望ましい。 (ARIMAモデルは、状態空間モデルの特殊形と言えるが…) • 状態方程式の推定に必要なデータがあるのか? • 手法によっては、それなりのソフトウェアや、計算機の 資源が要求されることも。 →
日進月歩なので、そうとは言えないかも? 2012/05/20 時系列解析の使い方 15 / 32 状態空間モデルでの考慮事項 2.1.2. 状態空間モデルの検討
面白いのは、モデル入出力が行列:多変量 だけでない: • 相互共分散・相関 → 他変数との影響が、先行/一致/遅行 なのか分かる。 • Granger Causality(2003年ノーベル経済学賞)
→ Xが起きたらYが起きたの?を検定する。 ただし、日常生活での”Causality”とは異なる。 • Impulse Response Function → t 期のショックが t+1 期に及ぼす影響の計測 • Variance Decomposition → 予測誤差の要因分解 2012/05/20 時系列解析の使い方 16 / 32 その1:多変量時系列モデル(VAR: Vector Auto Regression) 2.1.3. その他のメモ
数理的には: • 時間領域:自己共分散 • 周波数:スペクトル密度関数 両者は表裏一体なので、どちらで考えても一緒。 一方で接近し、Wiener-Khinchinの定理で他方を求める。 (最後の参考資料も参照) 説明をする際: •
基本的に、時間領域にするのが無難か? 2012/05/20 時系列解析の使い方 17 / 32 その2:時間領域のARIMAか、周波数解析か? 2.1.3. その他のメモ
2. 時系列解析のフローチャート(案) 時系列解析の使い方 2012/05/20 (1) 分析方針の立案 1. 分析設計 2. 状態空間モデルの検討
18 / 32 (2) データ加工 1. データの観察 2. 定常時系列への変換 3. 単位根検定 (3) モデリング 1. モデリング 2. 結果のチェック いまココ
• とりあえず、視覚化(グラフ、クロス表、等々)。 • 時系列で言えば、横軸=時間軸 でplot。 これだけで、方針が見える事も、多々あり。 例えば、こんな感じ 2012/05/20 時系列解析の使い方 19
/ 32 データ分析で重要なこと 2.2.1. データの観察 (1)船舶の 方向角速度 (1)~(4)のグラフは、北川源四朗 『時系列解析入門』より引用
(3)東京の 最高気温 (4)地震波 (2)WHARD データ (あるハードウェアの 毎月の卸売高) 2012/05/20 時系列解析の使い方 20
/ 32
定常:以下の全てが成立することをいう(正確には弱定常性) • (無条件)平均が有限 • (無条件)分散が有限 • 自己共分散が、時間のみに依存 数式を見たい方は、次ページ参照 先の図で、定常性を満たしているのは(1)のみ。 plotでわかる事:
時系列モデルをどう適用するか モデルは、(基本的に)定常過程でないと扱えない。 2012/05/20 時系列解析の使い方 21 / 32 2.2.1. データの観察
数式表現:時系列 の • 平均: • 自己共分散: • 自己相関: 注1:時系列は全て漸近理論ベース(標本数が十分大きい場合の挙動)。よって 自己共分散の分母は、nが十分大きいため、nでもn-(k+1)でも一緒。
注2:上記の自己相関の表記は、暗に定常時系列を仮定している。 2012/05/20 時系列解析の使い方 22 / 32 2.2.1. データの観察
方法1:変換 • 差分 を取る(やっても2階が限度?) • 対数や平方根の変換(一般的にはBox-Cox変換) • 前期比、前年同期比を取る • 移動平均値を取る
方法2:残差にも時系列構造を導入 • 分散の変動をモデル化:GARCHモデル 参考:RでGARCHモデル(私のTokyo.R#21 での発表) http://www.slideshare.net/horihorio/garch-by-r 2.2.2. 定常時系列への変換 非定常の場合は? 何かの加工をして、定常時系列に持ち込む 2012/05/20 時系列解析の使い方 23 / 32
時系列データでよくある話 このデータは、 Random Walk(乱数列)でないよね? (Random Walk列でも、何かそれっぽいモデルが出来得る。 けど、そのモデルって一体何よ? てな議論になるので…) ということで、最初に単位根検定で確認する 「Random
Walkではない」の仮説検定 • Phillips-Perron検定 [stats::PP.test] • Augmented Dickey-Fuller検定 [tseries::adf.test] 2012/05/20 時系列解析の使い方 24 / 32 2.2.3. 単位根検定
どういうことか? AR(1)過程: もし ならば、 と、モデル化する意味ある?確率過程になる。 詳細:「Rで学ぶ回帰分析と単位根検定」 @teramonagi http://www.slideshare.net/teramonagi/r-7066155 2012/05/20 時系列解析の使い方
25 / 32 2.2.3. 単位根検定 W.N.の累積
単位根の回避方法(万能ではないが…) • 前期との差分・変化比を取る • 多変量時系列モデル:VAR(Vector Auto Regression) 導入 • ベクトル誤差修正モデル
(VECM)導入 ただVARの場合、共和分があり得るので注意。 【共和分:単位根系列の線型結合が、定常過程になる】 共和分の検出方法は、以下の方法がある • Engle-Grangerの二段階推定法(HamiltonのCh.19) • Johansenの固有値検定 (HamiltonのCh.20) 単位根の処理は、Hamilton Ch.20.4.を読むと良いかも? 2012/05/20 時系列解析の使い方 26 / 32 2.2.3. 単位根検定
2. 時系列解析のフローチャート(案) 時系列解析の使い方 2012/05/20 (1) 分析方針の立案 1. 分析設計 2. 状態空間モデルの検討
27 / 32 (2) データ加工 1. データの観察 2. 定常時系列への変換 3. 単位根検定 (3) モデリング 1. モデリング 2. 結果のチェック いまココ
個人的な感想: • 残差の正規性、独立性チェックまで見事にハマっ た経験はほぼ無い。 • 予測で、数点はまだしも、遠い点はまず当たらない。 (状態空間構造で上手くすると、結構綺麗にハマる気も?) • 綺麗なモデルを作るには、結局は色々試行錯誤。 •
苦労の箇所が違うような気が? 時系列:モデリング 回帰とか:データの有無、検査、前加工 2012/05/20 時系列解析の使い方 28 / 32 本発表での管轄外につき、 色々な書籍・資料を参考のこと 2.3. モデリング
まとめ 分析方針の立案 • 最初の分析計画の設定:分析の「背景/目的/方法」を 明確にし、結論を想定すること。 • 単純な時系列解析では、要因分解、前提や母集団を 変えた分析を行った後の比較が困難。時系列解析以 外の選択肢か、状態空間モデルの導入を検討。 •
時系列解析で扱えるクラスは、(弱)定常過程のみ。 上手く変換して定常過程に持ち込むこと。 • 本来はW.N.だが、何かしらのモデルが出来ることもあ る。手戻り防止のためにも、最初に単位根検定を行う。 2012/05/20 時系列解析の使い方 29 / 32 データ加工
• J. D. Hamilton, “Time Series Analysis,” Princeton Univ. Press,
1994 和訳:沖本・井上(上下巻)、シーエーピー出版、2006年 は絶版 • 北川源四朗 『時系列解析入門』 岩波書店、2005年 →中級者向け理論書。状態空間モデルベースの解説 • J.J.F.コマンダー、S.J.クープマン、和合肇(訳) 『状態空 間時系列分析入門』 シーエーピー出版、2008年 →具体的にデータを分析している過程もあり 参考文献 時系列解析の使い方 2012/05/20 30 / 32
定常時系列のとき、自己共分散を変形する 逆変換して 2012/05/20 時系列解析の使い方 31 / 32 自己共分散とスペクトル密度関数の関係(Wiener-Khinchinの定理) 参考資料 有界なスペクトル
分布関数 スペクトル密度関数 の成立が必要 自己共分散
例:AR(2)モデル ラグオペレーター を代入し、 整理して、 . を解いて、 . 時系列解析の使い方 2012/05/20 32
/ 32 時間軸での周期性表現の例 複素平面上で 周期性を持つ 参考資料