SlideShare a Scribd company logo
時系列データ分析
と
Python
目次
• 時系列データの特性
• Pythonによる時系列データの取り扱い
• Pythonで解析やってみた!(解析例)
時系列データとは
時間の推移とともに観測されるデータのことで、
観測される順序に意味があることが大きな特徴
である。
<例>
経済・ファイナンシャルデータ(GDP・株価など)
気象データ(気温・湿度・雨量など)
医療データ(脳波・心電図など)
アクセスログデータ
etc.
http://www.kabu-1.jp/beginner/shikumi/kabuka-chart/
統計手法の多くは、データを「同一の確率分
布から得られた、互いに独立な標本の集まり」
と見なしています。
時系列データでは成り立たない!
よく見かける光景 その1
ヒストグラム
ヒストグラムでは標本抽出の順序を考慮していないため、
毎回の標本抽出は互いに独立であることを認めているこ
とになる。
時間情報の消失
よく見かける光景 その2
最尤推定
観測点 𝑥 𝑛, 𝑦𝑛 が得られる確率
𝑁 𝑦 𝑛|𝑓 𝑥 𝑛 , 𝜎2 =
1
2𝜋𝜎2
exp −
𝑦𝑛 − 𝑓 𝑥 𝑛
2
2𝜎2
トレーニングセット 𝑥 𝑛, 𝑦𝑛 𝑛=1
𝑁
が得られる確率
𝑃 = 𝑁 𝑦1|𝑓 𝑥1 , 𝜎2 × ⋯ × 𝑁 𝑦 𝑁|𝑓 𝑥 𝑁 , 𝜎2
= 𝑛=1
𝑁
𝑁 𝑦 𝑛|𝑓 𝑥 𝑛 , 𝜎2
データが互いに独立と仮定している
参考書
Pythonでやります!
時系列解析に使えるPythonライブラリ
• pandas
• matplotlib
• statsmodels
リッチなデータ構造と関数を提供
金融データ分析のために開発されたため、
時系列分析に最適
DataFrame:2次元データ
データの可視化に有用
IPython + matplotlibは科学計算にとって非常に
生産的な環境を提供
最近はSeabornもよく見かけるが、いまだ
デファクトスタンダード
statsmodels
statistical modeling and econometrics in Python
数多くの統計モデリング手法を提供
(一般化線形モデル、状態空間モデル、etc.)
scipy.statsなどもあるが、おそらく一番機能が
充実している。
時系列解析やってみた!
東京都における火災件数の推移
解析の目的
観測される現象の背後にある「しくみ」の理解
例えば・・・
年々火災件数は減少している
→住宅用火災警報機の普及
→IHコンロの普及
冬場は火災が多い
→空気が乾燥していて火災が起きやすい
→暖房器具が稼働している
たまたま多い、たまたま少ないなどのノイズを
除去した形でデータを眺めたい・・
状態空間モデル
• 非常に幅広い概念で、もともとは物理システム
の記述に使われていたが、1990年代頃から金
融データをはじめとする時系列データに対する
応用が盛んになる
• 状態空間モデルは、観測できない隠れた「状態
モデル」と観測した結果である「観測モデル」
からなる。
• 状態空間モデルを利用する最大のメリットは、
モデリングの柔軟性と増減要因の説明力
状態空間モデル
観測できない隠れた(状態モデル)
xt-1 xt xt+1
隠れた状態から観測した結果(観測モデル)
yt-1 yt yt+1
ローカルレベルモデル
𝑦𝑡 = 𝑥𝑡 + 𝜀𝑡
𝜀𝑡~𝑁 0, 𝜎 𝜀
2 :観測値撹乱項
𝑥𝑡+1 = 𝑥𝑡 + 𝜂𝑡
𝜂𝑡~𝑁(0, 𝜎 𝜂
2):状態撹乱項
𝑥𝑡:潜在変数
すべてのデータ𝑦1:𝑇が与えられたもとでのす
べての潜在変数(真の水準)を知りたい・・
𝑝 𝑥1:𝑇|𝑦1:𝑇 事後同時分布
計算きびしい・・・
カルマンフィルタを使おう!
線形ガウス状態空間モデルに対する計算アルゴリズム
予測とフィルタリング
条件付き分布を1時点ずつ更新して求めていく
逐次計算アルゴリズム
カルマンフィルタのイメージ
時間
変数
t-1 t t+1
観測値
予測値
予測
フィルタリング
解析結果
解析結果
今後
「予測にいかす統計モデリングの基本」より抜粋

More Related Content

What's hot

Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)
Kohta Ishikawa
 
FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」
Shohei Hido
 

What's hot (20)

ナレッジグラフ入門
ナレッジグラフ入門ナレッジグラフ入門
ナレッジグラフ入門
 
機械学習と主成分分析
機械学習と主成分分析機械学習と主成分分析
機械学習と主成分分析
 
Anomaly detection 系の論文を一言でまとめた
Anomaly detection 系の論文を一言でまとめたAnomaly detection 系の論文を一言でまとめた
Anomaly detection 系の論文を一言でまとめた
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門
 
クラシックな機械学習の入門  8. クラスタリング
クラシックな機械学習の入門  8. クラスタリングクラシックな機械学習の入門  8. クラスタリング
クラシックな機械学習の入門  8. クラスタリング
 
三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)
 
機械学習におけるオンライン確率的最適化の理論
機械学習におけるオンライン確率的最適化の理論機械学習におけるオンライン確率的最適化の理論
機械学習におけるオンライン確率的最適化の理論
 
データサイエンス概論第一 5 時系列データの解析
データサイエンス概論第一 5 時系列データの解析データサイエンス概論第一 5 時系列データの解析
データサイエンス概論第一 5 時系列データの解析
 
Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリング
 
FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」FIT2012招待講演「異常検知技術のビジネス応用最前線」
FIT2012招待講演「異常検知技術のビジネス応用最前線」
 
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来
 
Counterfaual Machine Learning(CFML)のサーベイ
Counterfaual Machine Learning(CFML)のサーベイCounterfaual Machine Learning(CFML)のサーベイ
Counterfaual Machine Learning(CFML)のサーベイ
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
 
機械学習と機械発見:自然科学研究におけるデータ利活用の再考
機械学習と機械発見:自然科学研究におけるデータ利活用の再考機械学習と機械発見:自然科学研究におけるデータ利活用の再考
機械学習と機械発見:自然科学研究におけるデータ利活用の再考
 
Rによるやさしい統計学第20章「検定力分析によるサンプルサイズの決定」
Rによるやさしい統計学第20章「検定力分析によるサンプルサイズの決定」Rによるやさしい統計学第20章「検定力分析によるサンプルサイズの決定」
Rによるやさしい統計学第20章「検定力分析によるサンプルサイズの決定」
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
 
BlackBox モデルの説明性・解釈性技術の実装
BlackBox モデルの説明性・解釈性技術の実装BlackBox モデルの説明性・解釈性技術の実装
BlackBox モデルの説明性・解釈性技術の実装
 
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?
 

Viewers also liked

Viewers also liked (8)

データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章
 
「予測にいかす統計モデリングの基本」勉強会 第一章
「予測にいかす統計モデリングの基本」勉強会 第一章「予測にいかす統計モデリングの基本」勉強会 第一章
「予測にいかす統計モデリングの基本」勉強会 第一章
 
Kobe.R #18: 本の紹介: 通称「緑本」
Kobe.R #18: 本の紹介: 通称「緑本」Kobe.R #18: 本の紹介: 通称「緑本」
Kobe.R #18: 本の紹介: 通称「緑本」
 
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみようPythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
 
みどりぼん読書会 第4章
みどりぼん読書会 第4章みどりぼん読書会 第4章
みどりぼん読書会 第4章
 
1 6.変数選択とAIC
1 6.変数選択とAIC1 6.変数選択とAIC
1 6.変数選択とAIC
 
SVM実践ガイド (A Practical Guide to Support Vector Classification)
SVM実践ガイド (A Practical Guide to Support Vector Classification)SVM実践ガイド (A Practical Guide to Support Vector Classification)
SVM実践ガイド (A Practical Guide to Support Vector Classification)
 
10 facts about jobs in the future
10 facts about jobs in the future10 facts about jobs in the future
10 facts about jobs in the future
 

時系列データ分析とPython

Editor's Notes

  1. 時系列分析は、各時刻の観測値は前の時点から影響を受けており、独立なデータではない。例えば、株価の時系列モデルを考えた場合、前日の値動きはどうか、上昇傾向なのか、下落傾向なのかが重要だというのはイメージしやすいかと思う。
  2. DataFrameから特定の行または列を取り出したものはSeries。
  3. まず可視化から始める。いくつかの特徴がつかめる。①周期性がありそう②全体的に下がってる?③東日本大震災
  4. 観測値は真の水準xtに正規ホワイトノイズεが乗ることで生成される。