SlideShare a Scribd company logo
1 of 20
時系列データ分析
と
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

情報検索とゼロショット学習
情報検索とゼロショット学習情報検索とゼロショット学習
情報検索とゼロショット学習kt.mako
 
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Yusuke Fujimoto
 
研究発表のためのパワーポイント資料作成の基本
研究発表のためのパワーポイント資料作成の基本研究発表のためのパワーポイント資料作成の基本
研究発表のためのパワーポイント資料作成の基本Hisashi Ishihara
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習Mitsuhisa Ohta
 
最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925小川 雄太郎
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてSho Takase
 
MLflowによる機械学習モデルのライフサイクルの管理
MLflowによる機械学習モデルのライフサイクルの管理MLflowによる機械学習モデルのライフサイクルの管理
MLflowによる機械学習モデルのライフサイクルの管理Takeshi Yamamuro
 
ゼロから始める自然言語処理 【FIT2016チュートリアル】
ゼロから始める自然言語処理 【FIT2016チュートリアル】ゼロから始める自然言語処理 【FIT2016チュートリアル】
ゼロから始める自然言語処理 【FIT2016チュートリアル】Yuki Arase
 
JupyterLabを中心とした快適な分析生活
JupyterLabを中心とした快適な分析生活JupyterLabを中心とした快適な分析生活
JupyterLabを中心とした快適な分析生活Classi.corp
 
データに内在する構造をみるための埋め込み手法
データに内在する構造をみるための埋め込み手法データに内在する構造をみるための埋め込み手法
データに内在する構造をみるための埋め込み手法Tatsuya Shirakawa
 
強化学習入門
強化学習入門強化学習入門
強化学習入門Shunta Saito
 
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健Preferred Networks
 
ipsj全国大会発表スライド_水野
ipsj全国大会発表スライド_水野ipsj全国大会発表スライド_水野
ipsj全国大会発表スライド_水野siramatu-lab
 
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...Deep Learning JP
 
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language ModelsDeep Learning JP
 
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜諒介 荒木
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Preferred Networks
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?hoxo_m
 
【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究について【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究についてDeep Learning JP
 
BigQuery MLの行列分解モデルを 用いた推薦システムの基礎
BigQuery MLの行列分解モデルを 用いた推薦システムの基礎BigQuery MLの行列分解モデルを 用いた推薦システムの基礎
BigQuery MLの行列分解モデルを 用いた推薦システムの基礎幸太朗 岩澤
 

What's hot (20)

情報検索とゼロショット学習
情報検索とゼロショット学習情報検索とゼロショット学習
情報検索とゼロショット学習
 
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化
 
研究発表のためのパワーポイント資料作成の基本
研究発表のためのパワーポイント資料作成の基本研究発表のためのパワーポイント資料作成の基本
研究発表のためのパワーポイント資料作成の基本
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習
 
最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925最近のディープラーニングのトレンド紹介_20200925
最近のディープラーニングのトレンド紹介_20200925
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
 
MLflowによる機械学習モデルのライフサイクルの管理
MLflowによる機械学習モデルのライフサイクルの管理MLflowによる機械学習モデルのライフサイクルの管理
MLflowによる機械学習モデルのライフサイクルの管理
 
ゼロから始める自然言語処理 【FIT2016チュートリアル】
ゼロから始める自然言語処理 【FIT2016チュートリアル】ゼロから始める自然言語処理 【FIT2016チュートリアル】
ゼロから始める自然言語処理 【FIT2016チュートリアル】
 
JupyterLabを中心とした快適な分析生活
JupyterLabを中心とした快適な分析生活JupyterLabを中心とした快適な分析生活
JupyterLabを中心とした快適な分析生活
 
データに内在する構造をみるための埋め込み手法
データに内在する構造をみるための埋め込み手法データに内在する構造をみるための埋め込み手法
データに内在する構造をみるための埋め込み手法
 
強化学習入門
強化学習入門強化学習入門
強化学習入門
 
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
 
ipsj全国大会発表スライド_水野
ipsj全国大会発表スライド_水野ipsj全国大会発表スライド_水野
ipsj全国大会発表スライド_水野
 
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
 
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
 
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
 
【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究について【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究について
 
BigQuery MLの行列分解モデルを 用いた推薦システムの基礎
BigQuery MLの行列分解モデルを 用いた推薦システムの基礎BigQuery MLの行列分解モデルを 用いた推薦システムの基礎
BigQuery MLの行列分解モデルを 用いた推薦システムの基礎
 

Viewers also liked

データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章Hirofumi Tsuruta
 
「予測にいかす統計モデリングの基本」勉強会 第一章
「予測にいかす統計モデリングの基本」勉強会 第一章「予測にいかす統計モデリングの基本」勉強会 第一章
「予測にいかす統計モデリングの基本」勉強会 第一章Takahiro Yoshinaga
 
Kobe.R #18: 本の紹介: 通称「緑本」
Kobe.R #18: 本の紹介: 通称「緑本」Kobe.R #18: 本の紹介: 通称「緑本」
Kobe.R #18: 本の紹介: 通称「緑本」tnoda
 
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみようPythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう洋資 堅田
 
みどりぼん読書会 第4章
みどりぼん読書会 第4章みどりぼん読書会 第4章
みどりぼん読書会 第4章Masanori Takano
 
1 6.変数選択とAIC
1 6.変数選択とAIC1 6.変数選択とAIC
1 6.変数選択とAIClogics-of-blue
 
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)sleepy_yoshi
 

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に正規ホワイトノイズεが乗ることで生成される。