お前の逐モン、GETだぜ!
Upcoming SlideShare
Loading in...5
×
 

お前の逐モン、GETだぜ!

on

  • 1,306 views

Tokyo.R 39

Tokyo.R 39

Statistics

Views

Total Views
1,306
Views on SlideShare
902
Embed Views
404

Actions

Likes
3
Downloads
6
Comments
0

3 Embeds 404

http://d.hatena.ne.jp 207
https://twitter.com 110
http://estrellita.hatenablog.com 87

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    お前の逐モン、GETだぜ! お前の逐モン、GETだぜ! Presentation Transcript

    • お前の逐モン、 GETだぜ!!! 第39回 勉強会@東京(#TokyoR) @teramonagi
    • 貴方が今すぐフォローすべき たった1つのトゥイッター・アカウント • @Nekopuni_ 2
    • 3 WHY?
    • 素晴らしき、俺様備忘録(Rネタ多数) 4 http://nekopuni.holy.jp/ ※「Rによるベイジアン動的線形モデル」の内容多数あり
    • そんな彼がこんなん言ってました 5
    • 本日のワタクシのLTタイトル 6 http://atnd.org/events/50887
    • 畜じゃねぇし、逐だし 7
    • でも、それ、 いいフリだぜぇ? 8
    • お前の畜モン、 GETだぜ!!! 第39回 勉強会@東京(#TokyoR) @teramonagi
    • 畜モンとは? • 社畜モンスター、縮めて畜モン • コヨウケイヤクショで捕まえられる • 常に大量の仕事を抱える不思議な生物 • 仲間と仲良く暮らしている畜モンもいれ ば、職を失い公園や浜辺に生息してい る無職の野良畜モンも 10
    • 本題、逐次モンテカルロ法 • Sequential MonteCarlo Method(SMC) • 別名いっぱい(SIR, 粒子フィルタ) • 逐次モンテカルロ→逐モン→(畜モン) (こう呼んでる人を見たことはない) • モンテカルロ法を用いた、系列データ に対する、モデルの隠れ変数(状態変 数)の逐次的な推定法 11
    • アルゴリズム、ダイジェスト 0:元気よく社畜を投げる 1:(尊い)労働を実行させる 2:営業成績の評価 3:リストラと採用の実施 4:1へ戻る 12※SMCの”フィルタリング”というアルゴリズムに相当
    • アルゴリズム、ダイジェスト 13 時点0 1 2
    • アルゴリズム、ダイジェスト • 0:元気よく社畜を投げる 14 時点0 1 2
    • アルゴリズム、ダイジェスト • 1:(尊い)労働を実行させる 15 時点0 1 2
    • アルゴリズム、ダイジェスト • 2:営業成績の評価 16 時点0 1 2 70点 80点 60点 100点 30点 25点
    • アルゴリズム、ダイジェスト • 3:リストラと採用の実施 17 時点0 1 2 70点 80点 60点 100点 30点 25点 残留 残留 残留 残留 リストラ リストラ
    • アルゴリズム、ダイジェスト • 3:リストラと採用の実施 18 時点0 1 2 70点 80点 60点 100点 30点 25点 残留 残留 残留 残留 リストラ リストラ
    • アルゴリズム、ダイジェスト • 1:(尊い)労働を実行させる 19 時点0 1 2
    • 大事なところな ので、もう一度 20
    • アルゴリズム、ダイジェスト • 0:元気よく社畜を投げる 21 時点0 1 2
    • アルゴリズム、ダイジェスト • 1:(尊い)労働を実行させる 22 時点0 1 2
    • アルゴリズム、ダイジェスト • 2:営業成績の評価 23 時点0 1 2 70点 80点 60点 100点 30点 25点
    • アルゴリズム、ダイジェスト • 3:リストラと採用の実施 24 時点0 1 2 70点 80点 60点 100点 30点 25点 残留 残留 残留 残留 リストラ リストラ
    • アルゴリズム、ダイジェスト • 3:リストラと採用の実施 25 時点0 1 2 70点 80点 60点 100点 30点 25点 残留 残留 残留 残留 リストラ リストラ
    • アルゴリズム、ダイジェスト • 1:(尊い)労働を実行させる 26 時点0 1 2
    • アルゴリズム、ダイジェスト 0:元気よく社畜を投げる 1:(尊い)労働を実行させる 2:営業成績の評価 3:リストラと採用の実施 4:1へ戻る 27
    • アルゴリズム、ダイジェスト 0:初期分布作成 1:状態方程式を解く 2:尤度の計算 3:リサンプリングの処理 4:1へ戻る 28
    • くわしくは、これを読め 29予測にいかす統計モデリングの基本―ベイズ統計入門から応用まで
    • そんなSMC, 書いてみた 30 particle.filter <- function(x0, size.particle, size.dim, size.data, system.equation, likelihood, lag=0) { total.loglikelihood <- 0 #dimension index : paricle * dimension * lag dims <- c(size.particle, size.dim, lag+1) x0 <- array(c(rep(x0, each=size.particle),rep(NA, size.dim*size.particle*lag)), dims) x <- array(rep(NA, size.particle*size.dim*(lag+1)), dims) dimnames(x0) <- make.name(size.particle, size.dim, lag) dimnames(x) <- make.name(size.particle, size.dim, lag) states <- vector("list", size.data) for( t in 1:size.data) { #Prediction : p(x_{t}|x_{t-1}) for(index.particle in 1:size.particle) { x[index.particle,, 1] <- system.equation(x0[index.particle,,1]) x[index.particle,,-1] <- x0[index.particle,,-(lag+1)] } #Likelihood : p(y_{t}|y_{1:t}) w <- apply(x, 1, function(z){likelihood(t, z[,1])}) total.loglikelihood <- total.loglikelihood + log(sum(w)/size.particle) #Weight ' resampling index <- resampling(w/sum(w)) #Filtering : p(x_{t}|y_{t}) x0 <- x[index,,,drop=FALSE] states[[t]] <- make.state(t, w, x, x0) } list(loglikelihood=total.loglikelihood, size=c(particle=size.particle, data=size.data, dim=size.dim,lag=lag), states=states) }
    • そんなSMC, 動かしてみた 31 • カルマンフィルタとあってそう
    • 32 よし、では本番だ
    • 私が本当にやりたかったもの 33http://heartruptcy.blog.fc2.com/blog-entry-90.html
    • 34 無理でした
    • 結局、何? 35 で、実際どう すればいい の?
    • Stan使ったらいい36
    • サプリメント的Blogポスト 37http://d.hatena.ne.jp/teramonagi/20140525/1400996808
    • Enjoy!!!38