今年読んだデータサイエンスおよびPython本の中でも最良の一冊でした.
実は密かに楽しみにしてた(待ち望んでいた)*1, 「Pythonによる医療データ分析入門」, 一通り読ませていただきましたので,
的な話を綴りたいと思います.
なお, 最初に断っておくと,
新型コロナウイルス含む, 感染症とか流行病の話は一切触れておりません!
このエントリーは純粋に「Pythonを使ったデータサイエンス」を志向した方向けのエントリーとなります.
新型コロナウイルスだの感染症関連だのを期待されている・そう思った方はぜひ他のページなどを見ていただけると幸いです.
実はこの本7/20に発売されたばかりです.
Pythonによる医療データ分析入門――pandas+擬似レセプト編
今の所書籍版のみでKindle等の電子書籍は今の所見受けられませんが, 装丁が綺麗でコードがとても見やすいデザイン*2なので, 書籍版の時点で充分マストハブかなって思います.
さて, この先を読むのが面倒という方の為に感想のSummaryを準備しました.
すごく雑に感想を言うと,
— Shinichi Nakagawa (@shinyorke)2020年7月18日
・いくつかのケーススタディを「医療統計のドメイン知識」を元に数理モデルを当てはめ少しずつ解いていくスタイル
・解く時の手段はタイトルの通りPythonというよりPandasメイン
・アプローチ・解き方そのものが探索的データサイエンスのお手本でほかの領域でも全然活かせる
少なくともこのセクションは上記ツイートの話をもうちょっと膨らませたお話となります.
まずこの本の対象読者ですが,
- 医療データ以外の分析をしたことがあり、Python, NumPy, pandasについて馴染みがある方
- Python, NumPy, pandasについて馴染みがないが、保険数理について馴染みがあるアクチュアリー
- 医療データや生物に関するデータを分析してみたい方、分析する予定がある方、分析した経験があるが手探りの方
と序章に記載されていました. そしてそれは(当然ですが)その通りだなと思います.
と同時に, 読んだ私の独自の感想といいましょうか更に付け加えると,
も追加されるかなと思いました(理由は後ほど).
なお, 「入門」と名前に含まれていますがPythonやライブラリに関する解説・説明をゼロから書いてるわけではないので,
ぐらいのレベルで無いと読むのは辛いかなと思いました*3.
また, 数学レベルは統計学などがメインで大学一年生レベルで充分読める内容でした(本の推奨もそんな感じでした).
読んでて色々頷くポイントがたくさんありましたが, 大きく印象に残ったところとしては,
この2つでした.
この本の目次(by公式サイト)ですが,
第1章 死亡率を推定しよう
1-1 「日本版死亡データベース」の利用
1-2 加入者情報レコードの擬似生成
1-3 発生率の信頼区間
1-4 死亡率の計算方法の妥当性確認
第2章 発生率を推定しよう
2-1 「患者調査」の利用
2-2 レセプトの擬似生成
2-3 傷病条件付き新入院発生率・新入院平均在院日数
2-4 傷病条件付き診療行為
2-5 バイアスと修正
第3章 血圧別発生率に挑戦
3-1 「国民健康・栄養調査」の利用
3-2 健診レコードの擬似生成
3-3 健診結果別入院・外来レコードの擬似生成
3-4 健診結果別入院発生率状況の観察
第4章 医療統計の導入
4-1 セミパラメトリック分析~点推定
4-2 セミパラメトリック分析~区間推定
4-3 予測精度の評価~混同行列と性能評価指標
4-4 予測精度の評価~AUC
4-5 予測精度の評価~予実比較
これがホントよくできていて,
というホント考えられた・プロの仕業だなという良い構成でした.*4
これはデータサイエンスのタスク・仕事をしている人にはお馴染みなスタイル(探索的にデータを眺めたり分析しながらゴール到達)と一致していて読んでいて気持ちよかったです.
データ分析のコード, 特にJupyterとかのnote系のやつは管理も記法もぐちゃぐちゃになること多いと思います.
私も正直適当です.
が, この本はそんな「汚くなりがちなコードをどうにかしよう!」ということで,
del df['hoge']
したり,gc
(ガベージコレクション)を明示的に実行など, 「メモリの節約」について, Appendixの項目としてしっかり解説*5他にも細かい配慮があったりしてホントに良いデータ分析のコードのお手本として, オススメできるコーディングスタイル・やり方だなと思いました.
これは元々Webアプリとか他の言語やってる人にはある種当たり前感もありますがデータサイエンスな人にとっては目からウロコで嬉しいのでは!?
ちなみにリーダブルコード自体も読むとすごくよいと思います!
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
とまあ書籍の感想は以上なのですが, ちょっと思い出したのが最近よくあるこれ.
これらに挑戦したりスコア出して結果残してる方も結構いると思いますが一方で
などなど, 「実践的なデータ分析ができない」「100本ノックやったはいいけど試合でヒット打てない」という人も増えたなあって印象もあります.
せっかく覚えた手法・プログラミングを活かすという意味で,
とできるといいかなと思いました.
ちなみに私自身は極稀に良いお手本の写経だったり, 思いつきでのデータ分析をよくやってこの辺を鍛えています.
とまあ最後ちょっと脱線しましたが,
データサイエンスをする人は「データを探索的に眺めて立ち向かう」ようなサイエンスしていこうぜ!
そういうことです.
Pythonによる医療データ分析入門――pandas+擬似レセプト編
医療に興味ある方はぜひPythonによる医療データ分析入門で腕鳴らしをしてもらいつつ,
ちょっと自信を持てない人は100本ノックを頑張っていけばいいのかなと.
なお, 私はずっと野球データ分析*6をしていますが, 自分の血圧脈拍体重をかれこれ6年以上レコーディング*7しており, そろそろなにかできそうって思っているのでPythonによる医療データ分析入門をガチで参考にしてなにかやりたいと思っています.
そう, 他人事じゃないんですよ四十路の男にはね笑*8
*1:ほんの少しだけですが, 当書籍出版に関して協力させてもらってました. 詳しくはあとがきにて&一冊頂戴いたしました事, 誠に感謝いたしますありがとうございます!
*2:これは実際本屋さんで手に取るか, 買って手元に届いてから見て欲しい. これはホント装丁とデザインの勝利感!
*3:最初は比較的優しいコード多いですが, 少なくともPythonの文法記法がわからんと読むのは難しいかもなという印象でした. ちなみにデータサイエンスの経験無くてもWebアプリ作ってたりするレベルの人は普通に読めると思います.
*4:これは著者の青木さんの講演をPyData.Tokyoでお話を聞いたときもそうでしたが, 医療ドメインの話から徐々に課題・仮説に入っていって具体策のところにゴールという自然な流れでこれは自分も真似したいと思いました.
*5:これハマりがちかつあるあるなのでホント助かりました. ちなみに書籍中に「ガチ業務ではDaskとかPySpark使うやで」的なことに言及されていましたが, これは難しすぎるということで本文では触れていないあたり目的がしっかりしてていいなと思いました.
*6:シレッと言うと今年のPyCon JP 2020で久々に野球の話それもデータサイエンス・機械学習やります. 詳細はまた後日⚾
*7:Google Driveにあります, そこそこ欠損値ありますが.
*8:心身の健康に重大な問題があるわけではないですが未来には備えたいなと.
引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。