Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
コンパートメントモデルをStanで解 く 2021/4/20 Ver. 1.0
Slide 2
Slide 2 text
近似解を用いる 最後の項の係数を置き換える https://biostat.jp/archive_teireikai_2_download.php?id=146 1コンポーネントモデルのExcelソルバーについてもココに記載 これも解を2つ持つが、まだ解ける可能性がある この数式で回帰ができれば、血中濃度曲線を書ける
Slide 3
Slide 3 text
複雑な関数での回帰の前に…直線回帰 直線回帰では、線と点の距離を最小とする 赤い線の長さの2乗の和を最小とするaとbを求める 𝑦 = 𝑎𝑥 + 𝑏 式は、 (2乗和)
Slide 4
Slide 4 text
直線回帰はなぜ解けるのか? bを固定すると、aと2乗和の関係は二次関数になる 二次関数の原点を求めれば、2乗和を最小とするaが求まる 2乗和 a aを固定するとbと2乗和との関係が二次関数になるので、bも同様に求まる
Slide 5
Slide 5 text
鍋底問題 回帰は、2乗和の底を求める問題となる 2乗和 a • 赤い点を満たす数式上の定数を求めればよい • 鍋の底の位置が分かれば、回帰ができる 𝑦 = 𝑎𝑥 + 𝑏 aとbが定数
Slide 6
Slide 6 text
複雑な関数での回帰 線形回帰のように、単純な二次関数の形にならない 2乗和 数式上の定数 • 赤い点を探す問題となる • 底の位置が分かれば、回帰ができる
Slide 7
Slide 7 text
どうやって探すのか? 方法はいくつかある • 初期値からボールを落として、最小値を求める • 微分値を使って求める • 鍋を揺すって、ボールの位置を調べる
Slide 8
Slide 8 text
どうやって探すのか? 方法はいくつかある ボール落とし系 シンプレックス法 微分系 ニュートン法 揺する系 MCMC MCMC: Markov Chain Monte Carlo法、正確には揺するわけではなく、揺すったような挙動を記録する
Slide 9
Slide 9 text
初期値の影響 方法により、初期値が底の位置に影響を与える • ボール落とし系 • 微分系 では、初期値により解が変わる 右が見つかると、左は見つからない (部分最適解の問題) そもそも初期値の置き場所が難しい
Slide 10
Slide 10 text
初期値の影響 揺する方法は比較的初期値の影響を受けにくい • 初期値が違っても、ボールはどこへでも 行ける • 強く揺すれば、右に落ちても左に移動で きる • ボールの位置を連続的に記録する
Slide 11
Slide 11 text
ボールの位置の分布 揺する強さを変えながらボールの位置を記録すると、 存在頻度 ボールの位置 底の位置にいる可能性が最も高くなる
Slide 12
Slide 12 text
揺する系の回帰: MCMC 乱数を用いた状態を連続的に変化させる計算手法のこと ベイズ統計学に則った方法
Slide 13
Slide 13 text
ベイズの定理 確率の更新に関する定理 (p(q|y): 事後分布、p(Y|q):尤度、p(q):事前分布) ある確率がわかっていて、結果が得られた とき、新たに確率を更新する 方法を示した定理
Slide 14
Slide 14 text
ベイズの定理の例 1月1日の晴れの確率が80%で、2021年1月1日が晴れたとき、 1/1の晴れの確率 ∝ 2021年は晴れ × 80% 事後分布 尤度 事前分布 • MCMCでは、適当な事前分布を準備する • 測定結果を尤度として使用する • 最終的に求める値は事後分布となる 事前分布によっては計算できなくなるので、丁度いい感じの事前分布を設定する。無情報事前情報というのを用いる場合が最も多い
Slide 15
Slide 15 text
Stan: MCMC計算機 https://mc-stan.org/ No-U-Turn SamplerとHMCはこの図を見るとイメージできるかもしれない https://elevanth.org/blog/2017/11/28/build-a-better-markov-chain/ • MCMCの計算機で、2012年から開発開始 • No-U-Turn SamplerとHMCの組み合わせ • 割と速く計算できて、学習コストはなかなか高い
Slide 16
Slide 16 text
Stan: 統計モデリング Stanを理解し使うには、統計モデリングの概念の理解が必要 このあたりがモデルに相当する 一般線形混合モデル(Linear Mixed model)をさらに拡張させたものに近い
Slide 17
Slide 17 text
Stan: やりたいこと • 血中濃度を以下の式で回帰したい • Aを小さめ、Bを大きめで計算したい • 回帰式から、薬物動態パラメータを求めたい 以上を満たす回帰モデルを作る
Slide 18
Slide 18 text
血中濃度のモデル 血中濃度は正規分布するとする 時間T(t-t dis )における血中濃度の平均値は以下にしたがう 𝑚𝑢 𝑡 = 𝐴𝑒−𝛼𝑇 + 𝐵𝑒−𝛽𝑇 − (𝐴 + 𝐵)𝑒−𝛾𝑇 mu(t)は正規分布の平均値、Tは上記の通り、式は黄色の式のtをTで置き換えたもの
Slide 19
Slide 19 text
血中濃度のモデル 血中濃度は正規分布するとする 標準偏差の事前分布は適当に置く MCMCでの計算で適当に標準偏差の事後分布(値)を求めてもらう 𝑐1 𝑡 ~𝑁𝑜𝑟𝑚𝑎𝑙(𝑚𝑢 𝑡 , 𝑠𝑑) 𝑠𝑑~𝐿𝑜𝑔𝑁𝑜𝑟𝑚𝑎𝑙(3, 3)
Slide 20
Slide 20 text
パラメータの事前分布 求めたいパラメータの事前分布を適当に設定する Normal(mu, sd)は平均mu、標準偏差sdの正規分布、Uniform(0,1)は0から1までの一様分布を取ることを指す 𝐴~𝑁𝑜𝑟𝑚𝑎𝑙(40, 3) 𝐵~𝑁𝑜𝑟𝑚𝑎𝑙(60, 3) 𝛼~𝑁𝑜𝑟𝑚𝑎𝑙(0, 0.5) 𝛽~𝑁𝑜𝑟𝑚𝑎𝑙(0, 1) 𝛾~𝑁𝑜𝑟𝑚𝑎𝑙(15, 2) 𝑡𝑑𝑖𝑠 ~𝑈𝑛𝑖𝑓𝑜𝑟𝑚(0, 1)
Slide 21
Slide 21 text
初期値の設定 いい感じの初期値を選んで設定し、MCMCの計算を行う 四角の中が初期値