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の計算を行う 四角の中が初期値