Successfully reported this slideshow.
Your SlideShare is downloading. ×

統計モデリングで癌の5年生存率データから良い病院を探す

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 53 Ad

More Related Content

Slideshows for you (20)

Similar to 統計モデリングで癌の5年生存率データから良い病院を探す (18)

Advertisement

Recently uploaded (20)

Advertisement

統計モデリングで癌の5年生存率データから良い病院を探す

  1. 1. 統計モデリングで 癌の5年生存率データから 良い病院を探す Kentaro Matsuura Tokyo.R #70 @ Microsoft 2018.6.9
  2. 2. 今回の発表のおおまかな流れ • 『 StanとRでベイズ統計モデリング』の 「3.2 統計モデリングの手順」より 2 • 解析の目的 • データの分布の確認 • メカニズムの想像 • モデル式の記述 • Stanで実装 • 推定結果の解釈 • (図によるモデルのチェック)
  3. 3. 2017年8月9日のニュース 3
  4. 4. データはダウンロード可能! • 国立がん研究センター • https://ganjoho.jp/reg_stat/statistics/ brochure/hosp_c_reg_surv.html 4
  5. 5. データの要約 • 病院の数: 188 (大きめの病院) • 癌の種類: 5 • 総患者数: 105963人 5
  6. 6. 解析の目的
  7. 7. 良い病院とは? • 対象数(患者数)が多い病院? • 手術数が多い病院? • 健康に過ごせる時間が長い病院? ∝ 5年生存率が高い病院? 7 今回はおおよそ比例していると考えて
  8. 8. 僕が知りたいことの一例 • 大切な人が60歳でステージIIの大腸がんになっ たら, どの病院に行くと5年生存率が高いの? 8
  9. 9. 単純に生存率を比較できない 9 進行がんの多い少ない・高齢者の多い少ないなどを 仮想的に揃えて(調整して)比較すれば, 病院による差だけが算出できる!
  10. 10. データ from pdf
  11. 11. pdfの様子 11 • こんな感じのpdfが580ページも
  12. 12. 面倒なことは(株)ホクソエムに外注 • 市川太祐 • 牧山幸史 CEO 12 狂ってるとしか言いようがない オッサンだけのLINEスタンプ…
  13. 13. {tabulizer}パッケージ 13 • 瓜生さんのブログ記事がおすすめ: • https://suryu.me/post/tabulizer_fantast ic_extract_data_from_pdf/
  14. 14. 前処理
  15. 15. このデータの難所 • “-”(ハイフン)は1人以上10人以下を表す. 個人情報保護のための措置 15
  16. 16. 埋めれるところを埋める 16 100 − 91 = 9 0.050 × 100 = 5
  17. 17. 埋めれないところは可能性リストを作る • 作ったリストはあとで推定に用いる. 17 足して18 10,8 , 9,9 , 8,10 の3通りの可能性
  18. 18. データの分布の確認
  19. 19. 散布図行列 • 散布図行列を描くには (corrplot, pairs, GGally) • http://statmodeling.hatenablog.com/entry/scat ter-plot-matrix • 個人的なオススメは {GGally}パッケージのggpairs関数 19
  20. 20. 各病院の 実測生存率 20 • 山型の分布 • 乳癌は高い • 肺癌・肝癌は低い • 散布図は結構丸い • 1つの点が1つの 病院に対応. • おおよそ正の相関
  21. 21. 各病院の 手術割合 21 • 山型の分布 • 尾を引くことも • 散布図は丸い • 相関少しだけ
  22. 22. 手術割合 vs 実測生存率 22 • わりと比例してる (肺癌は特に). • 手術割合の低い 病院がある.
  23. 23. 年代 と 進行度 の分布 23 病院 年代 進行度 • 良い図ではないが傾向は つかめる. • 病院ごとに足すと1になる ように規格化(割合). • 年代:ほぼすべての病院で 60・70歳代が多い. おおよそ山型. • 進行度:かなりバラバラ. おおよそフラット.
  24. 24. 年代・進行度の情報をどうやって使うか • 患者一人の年齢・進行度が死亡という イベントとつながる. • 今回はそこをつなぐことはできない. 24 本来は しかし そこで • 病院ごとの平均年齢・平均進行度を推定し, それらと各病院の生存確率をつなげる.
  25. 25. 可視化のために仮モデリング! • まず病院ごとの平均年齢を推定してみる. • あとで平均進行度についても同様に推定する. • できそうなら, 最終的なモデルの一部とする. • いきなり複雑な大きなモデルを作るのではなく, 部分モデルが機能することをチェックしてから 合体させる. 25
  26. 26. 平均年齢の統計モデル • 癌種・病院ごとに正規分布を考える. 26 𝜎 𝑎𝑔𝑒 50 60 70 80 癌種ごとに異なる, 病院では共通とする (𝜇 𝑎𝑔𝑒 が大切だから) 𝜇 𝑎𝑔𝑒 癌種・病院ごとに異なる 𝑝 1 𝑝 2 𝑝 3 𝑝 4 𝑝 5 多項分布: サイコロ𝑁個を 投げた場合に, 各目の出た 回数が従う分布 𝐴𝑔𝑒 ~ 𝑀𝑢𝑙𝑡𝑖𝑛𝑜𝑚𝑖𝑎𝑙 𝑁, Ԧ𝑝 対象数各年代の人数
  27. 27. 平均年齢の統計モデル • ただし, 𝐴𝑔𝑒は“-”(ハイフン)を含んでいる場合がある. • 前処理で作ったリストの出番. “-”の埋め方が𝑀通りとする. • 各場合(埋め方)が起こる事前確率が等しいとすると: 𝑝 𝐴𝑔𝑒 𝑁, Ԧ𝑝 = ෍ 𝑚=1 𝑀 𝑀𝑢𝑙𝑡𝑖𝑛𝑜𝑚𝑖𝑎𝑙 𝐴𝑔𝑒𝑓𝑖𝑙𝑙𝑒𝑑 𝑚 𝑁, Ԧ𝑝 • Stanだとlog_sum_exp関数を使って表現する. 27 𝑚番目の埋め方
  28. 28. 推定された平均年齢 vs 実測生存率 • 指数関数というより 線形に減少? 28 (中央値) がん研有明病院 がん研究センター 中央病院 聖路加国際病院
  29. 29. 推定された平均年齢 vs 手術割合 29 • 平均年代が高くて も手術する病院は する (中央値)
  30. 30. 推定された平均進行度 vs 実測生存率 30 (中央値) • 指数関数というより 線形に減少? がん研有明病院
  31. 31. 推定された平均進行度 vs 手術割合 31 (中央値)
  32. 32. メカニズムの想像
  33. 33. 復習: 知りたいこと • 60歳でステージIIの大腸がんの人が入院する場合, どの病院の5年生存率が高いのか? 33 もし, すべての病院の平均年代・平均進行度が同 じならば, どの病院の5年生存率が高いのか?
  34. 34. 34 手術確率 𝑝 𝑜𝑝𝑒生存確率 𝑝𝑠𝑢𝑟𝑣 𝑟𝑠𝑢𝑟𝑣 各年代の人数 𝐴𝑔𝑒 各進行度の人数 𝑆𝑡𝑎𝑔𝑒 男性の数 𝑀𝑎𝑙𝑒 手術数 𝑂𝑝𝑒生存数 𝑆𝑢𝑟𝑣 説明変数だけでは説明できない 病院由来の差(≒腕の良さ) 𝑟𝑜𝑝𝑒 ℎ = 1, … , 𝐻 (病院の数) 𝑡 = 1, … , 𝑇 (癌種の数) ※本当は全ての変数に 𝑡, ℎ の添え字がつくけど説明のため省略 平均年齢 𝜇 𝑎𝑔𝑒 平均進行度 𝜇 𝑠𝑡𝑎𝑔𝑒 男性割合 𝑞 𝑚𝑎𝑙𝑒
  35. 35. ポイント • 平均年齢・平均進行度・男性割合は, 生存確率はもちろん手術確率にも影響する. • 病院由来の影響を𝑟𝑜𝑝𝑒・𝑟𝑠𝑢𝑟𝑣 で表現する(階層モデル). • このようにモデリングすることで, 仮想的に各病院の 平均年齢・平均進行度・男性割合を揃えたときの, 各病院の手術確率と生存確率を算出できる! 35
  36. 36. モデル式の記述
  37. 37. 年代・進行度・その他の部分 𝐴𝑔𝑒 𝑡, ℎ ~ Multinomial 𝑁 𝑡, ℎ , 𝑝 𝑎𝑔𝑒 𝑡, ℎ 𝑆𝑡𝑎𝑔𝑒 𝑡, ℎ ~ Multinomial 𝑁 𝑡, ℎ , 𝑝𝑠𝑡𝑎𝑔𝑒 𝑡, ℎ 𝑝 𝑎𝑔𝑒 𝑡, ℎ, 𝑎 = න 𝐶𝑢𝑡𝑜𝑓𝑓𝑎𝑔𝑒 𝑎 𝐶𝑢𝑡𝑜𝑓𝑓𝑎𝑔𝑒 𝑎+1 Normal 𝜇 𝑎𝑔𝑒 𝑡, ℎ , 𝜎 𝑎𝑔𝑒 𝑡 𝑝𝑠𝑡𝑎𝑔𝑒 𝑡, ℎ, 𝑠 = න 𝐶𝑢𝑡𝑜𝑓𝑓𝑠𝑡𝑎𝑔𝑒 𝑠 𝐶𝑢𝑡𝑜𝑓𝑓𝑠𝑡𝑎𝑔𝑒 𝑠+1 Normal 𝜇 𝑠𝑡𝑎𝑔𝑒 𝑡, ℎ , 𝜎𝑠𝑡𝑎𝑔𝑒 𝑡 𝑀𝑎𝑙𝑒 𝑡, ℎ ~ Binomial 𝑁 𝑡, ℎ , 𝑞 𝑚𝑎𝑙𝑒 𝑡, ℎ 𝑆𝐶 𝑡, ℎ ~ Binomial 𝑁 𝑡, ℎ , 𝑞 𝑆𝐶 𝑡, ℎ 37
  38. 38. 生存数・手術数の部分 𝑆𝑢𝑟𝑣 𝑡, ℎ ~ Binomial 𝑁 𝑡, ℎ , 𝑝𝑠𝑢𝑟𝑣 𝑡, ℎ 𝑂𝑝𝑒 𝑡, ℎ ~ Binomial 𝑁 𝑡, ℎ , 𝑝 𝑜𝑝𝑒 𝑡, ℎ 𝑝𝑠𝑢𝑟𝑣 𝑡, ℎ = inv_logit(𝑏1 𝑡 + 𝑏2 𝑡 𝜇 𝑎𝑔𝑒 𝑡, ℎ + 𝑏3 𝑡 𝜇 𝑠𝑡𝑎𝑔𝑒 𝑡, ℎ +𝑏4 𝑡 𝑞 𝑚𝑎𝑙𝑒 𝑡, ℎ + 𝑏5 𝑡 𝑞 𝑆𝐶 𝑡, ℎ + 𝑏6 𝑡 𝑝 𝑜𝑝𝑒 𝑡, ℎ + 𝑟𝑠𝑢𝑟𝑣 𝑡, ℎ ) 𝑝 𝑜𝑝𝑒 𝑡, ℎ = inv_logit(𝑎1 𝑡 + 𝑎2 𝑡 𝜇 𝑎𝑔𝑒 𝑡, ℎ + 𝑎3 𝑡 𝜇 𝑠𝑡𝑎𝑔𝑒 𝑡, ℎ +𝑎4 𝑡 𝑞 𝑚𝑎𝑙𝑒 𝑡, ℎ + 𝑎5 𝑡 𝑞 𝑆𝐶 𝑡, ℎ + 𝑟𝑜𝑝𝑒 𝑡, ℎ ) 𝑟𝑠 𝑢𝑟𝑣 𝑡, ℎ ~ Normal 0, 𝜎𝑟𝑠𝑢𝑟𝑣 𝑟𝑜 𝑝𝑒 𝑡, ℎ ~ Normal 0, 𝜎𝑟 𝑜𝑝𝑒 38
  39. 39. StanとRで推定を実行する • これらをひとまとめにしたものが統計モデル. • StanとRで全パラメータを一度に推定する. • なお, 前述の仮モデルで推定した場合と比べて, 平均年代と平均進行度はわずかに変わる. • 手術数や生存数に由来する尤度があるため. 39
  40. 40. Stanで実装 ※ やや難解なのでサラッと説明してスキップします. すみません.
  41. 41. 年代・その他のコア部分 41
  42. 42. 生存数・手術数のコア部分 42
  43. 43. 推定結果の解釈
  44. 44. 復習: 知りたいこと • すべての病院の 平均年齢を 60 に固定 平均進行度を ステージII に固定 男性割合を 0.5 に固定 • 各病院の生存確率・手術確率はどうなる? ※ とにかく揃えればよいので, 仮に平均年齢を50・平均進行度 をステージIなどに固定してもよい. • 生存確率は全体的に高い方へ少しずれるが病院のランキングは不変. 44
  45. 45. 復習: 実測生存率のヒストグラム 45
  46. 46. 調整後の生存率のヒストグラム 46 • 胃癌・大腸癌・ 肺癌は大差なし!
  47. 47. 肝癌における生存率best10の病院 47 (中央値 & 80%CI) 「4.肝(C22)は切除症例に限る。」 !?
  48. 48. 乳癌における生存率best10の病院 48 (中央値 & 80%CI)
  49. 49. 手術率 vs 生存率 49 • 胃癌はほとんど変わ らない • その他の癌は, 手術 率が高いと生存率 が数%程度向上 XXXXXXX
  50. 50. 生存率への平均年齢・平均進行度・手術率の影響50 • 性別の影響ほぼなし • 胃癌で平均年齢・ 乳癌で平均進行度 の影響が強い
  51. 51. 手術率への平均年齢・平均進行度の影響 51 • 肝癌で進行度の影 響が低そう 生存率のバラツキ の原因?
  52. 52. 言いたかったこと • ただデータにあてはめるのではなく, 目的をどう達成するか意識してモデルを組み立てよう. • 可視化を十分にしよう. • 大きなモデルをいきなり作らない. パーツごとに動作チェックしてから最後に合体しよう. • StanとRは現在, 最強の統計モデリングツール! 52
  53. 53. 参考リンク • 統計モデリングで癌の5年生存率データから良 い病院を探す • http://statmodeling.hatenablog.com/entry/best- hospitals-for-cancers • GIGAZINE: 国立がん研究センター公表の「が ん5年生存率データ」から年齢・進行度などの 影響を取り除いたリアルなデータを作成した強 者が現れる • https://gigazine.net/news/20180202-cancer-survival- rate-statistical-modeling/ 53

×