Submit Search
Upload
TensorFlowで統計モデリング
•
3 likes
•
6,334 views
. .
Follow
TensorFlowで統計モデリング
Read less
Read more
Data & Analytics
Report
Share
Report
Share
1 of 30
Download now
Download to read offline
Recommended
本番環境で使いたいPHP
本番環境で使いたいPHP
Takuya Sato
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLP
Koji Matsuda
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
Optimization and simulation with DataRobot
Optimization and simulation with DataRobot
Yuya Yamamoto
インフラの話
インフラの話
Tomohiro Ikeda
10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用
Nobuaki Oshiro
Eccv2018 report day3
Eccv2018 report day3
Atsushi Hashimoto
C#/.NETがやっていること 第二版
C#/.NETがやっていること 第二版
信之 岩永
Recommended
本番環境で使いたいPHP
本番環境で使いたいPHP
Takuya Sato
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLP
Koji Matsuda
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
Optimization and simulation with DataRobot
Optimization and simulation with DataRobot
Yuya Yamamoto
インフラの話
インフラの話
Tomohiro Ikeda
10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用
Nobuaki Oshiro
Eccv2018 report day3
Eccv2018 report day3
Atsushi Hashimoto
C#/.NETがやっていること 第二版
C#/.NETがやっていること 第二版
信之 岩永
統計モデリングで癌の5年生存率データから良い病院を探す
統計モデリングで癌の5年生存率データから良い病院を探す
. .
Stanの紹介と応用事例(age heapingの統計モデル)
Stanの紹介と応用事例(age heapingの統計モデル)
. .
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
. .
階層ベイズモデルで割安mobile PCを探す
階層ベイズモデルで割安mobile PCを探す
. .
Replica exchange MCMC
Replica exchange MCMC
. .
順序データでもベイズモデリング
順序データでもベイズモデリング
. .
データ解析で割安賃貸物件を探せ!(山手線沿線編) LT
データ解析で割安賃貸物件を探せ!(山手線沿線編) LT
. .
分布から見た線形モデル・GLM・GLMM
分布から見た線形モデル・GLM・GLMM
. .
100人のための統計解析 和食レストラン編
100人のための統計解析 和食レストラン編
. .
とある病んだ院生の体内時計(サーカディアンリズム)
とある病んだ院生の体内時計(サーカディアンリズム)
. .
『予測にいかす統計モデリングの基本』の売上データの分析をトレースしてみた
『予測にいかす統計モデリングの基本』の売上データの分析をトレースしてみた
. .
BUGSを使うメリット
BUGSを使うメリット
. .
More Related Content
More from . .
統計モデリングで癌の5年生存率データから良い病院を探す
統計モデリングで癌の5年生存率データから良い病院を探す
. .
Stanの紹介と応用事例(age heapingの統計モデル)
Stanの紹介と応用事例(age heapingの統計モデル)
. .
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
. .
階層ベイズモデルで割安mobile PCを探す
階層ベイズモデルで割安mobile PCを探す
. .
Replica exchange MCMC
Replica exchange MCMC
. .
順序データでもベイズモデリング
順序データでもベイズモデリング
. .
データ解析で割安賃貸物件を探せ!(山手線沿線編) LT
データ解析で割安賃貸物件を探せ!(山手線沿線編) LT
. .
分布から見た線形モデル・GLM・GLMM
分布から見た線形モデル・GLM・GLMM
. .
100人のための統計解析 和食レストラン編
100人のための統計解析 和食レストラン編
. .
とある病んだ院生の体内時計(サーカディアンリズム)
とある病んだ院生の体内時計(サーカディアンリズム)
. .
『予測にいかす統計モデリングの基本』の売上データの分析をトレースしてみた
『予測にいかす統計モデリングの基本』の売上データの分析をトレースしてみた
. .
BUGSを使うメリット
BUGSを使うメリット
. .
More from . .
(12)
統計モデリングで癌の5年生存率データから良い病院を探す
統計モデリングで癌の5年生存率データから良い病院を探す
Stanの紹介と応用事例(age heapingの統計モデル)
Stanの紹介と応用事例(age heapingの統計モデル)
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
階層ベイズモデルで割安mobile PCを探す
階層ベイズモデルで割安mobile PCを探す
Replica exchange MCMC
Replica exchange MCMC
順序データでもベイズモデリング
順序データでもベイズモデリング
データ解析で割安賃貸物件を探せ!(山手線沿線編) LT
データ解析で割安賃貸物件を探せ!(山手線沿線編) LT
分布から見た線形モデル・GLM・GLMM
分布から見た線形モデル・GLM・GLMM
100人のための統計解析 和食レストラン編
100人のための統計解析 和食レストラン編
とある病んだ院生の体内時計(サーカディアンリズム)
とある病んだ院生の体内時計(サーカディアンリズム)
『予測にいかす統計モデリングの基本』の売上データの分析をトレースしてみた
『予測にいかす統計モデリングの基本』の売上データの分析をトレースしてみた
BUGSを使うメリット
BUGSを使うメリット
TensorFlowで統計モデリング
1.
TensorFlowで統計モデリング Kentaro Matsuura 2018.12.9
2.
ある架空の電化製品の価格
3.
複数店舗の週次の時系列データ • ドメイン知識にサポートされているデータの特徴 • 経過時間とともに価格𝑌が指数関数的に減少する •
値が高い時の方が, 低い時よりバラツキが大きい • 複数の理由から途中で下げ止まる期間がありそう 3
4.
目的 • 全体平均の価格推移を予測したい. • バラツキがどれほどか知りたい. ※ここでは,
複数店舗をまとめて扱うとする. 4
5.
とりあえずProphetで 5 予測区間がちょっと狭過ぎ?? 予測が0を下回っている?? • 悪くない!けど…
6.
Prophetの長所 • お手軽! • 一般化加法モデルの表現力が高い. •
周期成分の抽出に優れていると思う. 6
7.
Prophetの短所 トレンド関連 • トレンドがペキペキ折れ線で検出しにくい場合がある. • トレンドが滑らかにならずジグザグになる場合がある. •
トレンドがペキッと変わることを予測するのが難しい. • 以上から, トレンドの予測が良くない場合がある. その他の機能 • 出力が多次元の時系列に未対応. • 任意の非線形関数や減衰するイベント効果に未対応. その前に, Prophetのモデルを理解してますか? 7
8.
統計モデルを理解しよう 理由 • 現実は, ツールの前提条件をいとも簡単に破る! •
そのとき, 自分で拡張できると楽しい. • 拡張するには, 統計モデルの理解が必須. 8 アルゴリズム 統計モデル 前提条件・適用範囲 長所と短所ここまでの理解は 分析に必須 できればここまで 理解してほしい! • 手法を実装したツールのレイヤー
9.
本発表の方針 • 思考がツールに縛られるのは楽しくないので, なるべく 汎用的なツールを使いたい. •
ドメイン知識を反映して, 真の構造に近い構造をモデル に組み込めば, 予測性能は向上するはず. ※ 予測の評価方法についてはここでは省略. 9 この例をTensorFlowでモデリングしてみよう!
10.
速習TensorFlow
11.
僕の中のTensorFlow 「GPUを簡単に使える勾配法による点推定ツール」 利点 • モデルをかなり自由に設定できる • 推定アルゴリズムが豊富 •
DNN用の関数が豊富 • 可視化ツール(TensorBoard)が良い 欠点 • sessionまわりが面倒くさい • tf.XXXみたいな関数たちをまた覚えるのか… 11
12.
TensorFlowの使い方① モデル定義 • データを代入する変数を tf.placeholder
で定義 • 推定したい変数を tf.Variable で定義 • これらの変数を組み合わせて, 最小化したいcost (loss, 目的関数) を定義する. 最適化 • costを引数に推定のアルゴリズム(Optimizer)を 選択して, 変数(例: train)に格納する. • sessionを立ち上げて各変数の初期化をする. • run関数で, costが収束するまでtrainを評価. 12
13.
TensorFlowの使い方② • 線形回帰のデモ tf_tutorial.html 13
14.
TensorFlowで統計モデリング ~知識を数式に落としこむ練習~
15.
Model 1 指数関数でフィッティング 15
16.
数式への落とし込み① “経過時間とともに指数関数的に減少する” 16 “指数関数でフィッティング” 𝜇 𝑖 =
𝑦0 exp −𝜆 𝑇 𝑖
17.
数式への落とし込み② “値が高い時の方が, 低い時よりバラツキが大きい” 17 “対数をとってから(二乗誤差で)フィッティング” ノイズは𝜀 ~
𝑁 0, 𝜎2 に従うとして, (1)式ではなく, (2)式で考えていることに相当する. 𝑌 𝑖 = 𝜇 𝑖 + 𝜀 (1) 𝑌 𝑖 = 𝜇 𝑖 𝑒 𝜀 (2)
18.
図解 18 𝑌 𝑖
= 𝜇 𝑖 𝑒 𝜀 𝑌 𝑖 = 𝜇 𝑖 + 𝜀 同じ幅 値が大きい時に 幅が大きい
19.
TensorFlowによる実装&結果 • modeling.html のModel
1 19
20.
Model 2 時の流れを止める 20
21.
数式への落とし込み③ “途中で下げ止まる期間がありそう” 21 下げ止まる=時の流れが止まる と考えた.
22.
実質的な時間経過𝑓 𝑇 の導入 𝜇
𝑖 = 𝑦0 exp −𝜆 𝑓 𝑇 𝑖 22 時刻 𝑇 𝑓 𝑇 実質的な時間経過 𝜇 𝑠𝑙𝑜𝑝𝑒は 0,1 の範囲を動く 𝑠𝑙𝑜𝑝𝑒 = 1なら 時の流れは普段通り 𝑠𝑙𝑜𝑝𝑒 = 0なら 時は完全に止まる
23.
𝑠𝑙𝑜𝑝𝑒と𝑓の実装例 • 制約のない変数 slope_raw
を定義する • tf.sigmoidで 0,1 の範囲の変数slope を作る • slope の累積和で f を作る 例 • slope = [0,1,1,1,0,0,0,1,1,1] とすると, f = [0,1,2,3,3,3,3,4,5,6] となる. 23
24.
TensorFlowによる実装&結果 • modeling.html のModel
2 24
25.
Model 3 時の流れを滑らかにする 25
26.
数式への落とし込み④ “時の流れは滑らか” 26 時刻の隣同士の𝑠𝑙𝑜𝑝𝑒は“似ている” slope_rawに2次のトレンドモデルを設定
27.
1次のトレンドモデル 𝑡𝑟𝑒𝑛𝑑 𝑡 ~
𝑁 𝑡𝑟𝑒𝑛𝑑 𝑡−1, 𝜎𝑡𝑟𝑒𝑛𝑑 2 𝑡 = 2, . . , 𝑇 • 𝑡𝑟𝑒𝑛𝑑の値が滑らかであることの一表現 • 使用頻度が高い! トレンドの予測 • 最後の時刻𝑇以降は, 𝑡𝑟𝑒𝑛𝑑 𝑇を並べて予測する 実装 • 上式の対数尤度をそのままcostに追加すればよい 27
28.
2次のトレンドモデル 𝑡𝑟𝑒𝑛𝑑 𝑡 −
𝑡𝑟𝑒𝑛𝑑 𝑡−1 ~ 𝑁 𝑡𝑟𝑒𝑛𝑑 𝑡−1 − 𝑡𝑟𝑒𝑛𝑑 𝑡−2, 𝜎𝑡𝑟𝑒𝑛𝑑 2 𝑡 = 3, . . , 𝑇 あるいは, 𝑡𝑟𝑒𝑛𝑑 𝑡 ~ 𝑁 2 𝑡𝑟𝑒𝑛𝑑 𝑡−1 − 𝑡𝑟𝑒𝑛𝑑 𝑡−2, 𝜎𝑡𝑟𝑒𝑛𝑑 2 𝑡 = 3, . . , 𝑇 • 𝑡𝑟𝑒𝑛𝑑の変動分が滑らかであることの一表現 • 使用頻度が高い! トレンドの予測 • 最後の時刻𝑇以降は, 最後の変動𝑡𝑟𝑒𝑛𝑑 𝑇 − 𝑡𝑟𝑒𝑛𝑑 𝑇−1 がそのまま続くものとして予測する. 28
29.
TensorFlowによる実装&結果 • modeling.html のModel
3 29
30.
まとめ • 現実は, ツールの前提条件をいとも簡単に破るので, 自分で拡張できるようにモデルを理解してほしい. •
知識を数式に落とし込む経験は非常に大切. 日々やってみよう. • TensorFlowなどの汎用的なツールに慣れておこう. • 実は今日やったようなモデルの試行錯誤をずっと簡 単にできるのがStan. Stanの話はまたいつか. 30
Download now