Pythonによる医療データ分析入門
―pandas+擬似レセプト編
―
2020年7月20日紙版発売
2020年7月20日電子版発売
青木智広,橋田和典 コラム執筆,山本光穂 Pythonコード監修
B5変形判/344ページ
定価4,378円(本体3,980円+税10%)
ISBN 978-4-297-11517-3
書籍の概要
この本の概要
本書は,医療データをもとにさまざま保険商品を開発するアクチュアリーの第一人者による本格的なプログラミング+統計解析の入門書です。PythonをJupyter Notebook環境で使う方は多くいますが,さまざまなライブラリと組み合わせると大容量のデータを視覚的に分析することができるようになります。pandasを使えば既存の表形式のデータを読み込めるようになり,複雑な計算でもすぐに出力できるようになります。本書では,擬似医療データを例にとりあげ,さらにNumPy(数値演算),SciPy(科学技術計算),Matplotlib(グラフ表示)などを組み合わせたPythonプログラミング技法を紹介します。これらは医療データだけでなく,自然科学やエンジニアリング分野でのビッグデータ解析にも役立つでしょう。もちろんデータサイエンスの現場でも利用可能です。
こんな方におすすめ
- プログラミング言語Pythonを使って,大容量のデータを統計的に分析をしたいプログラマ,医療関係者,保険関係者,科学者など
- さまざまなPythonライブラリを組み合わせ,視覚的に結果をグラフなどで分析できます
著者の一言
医療データを分析するにあたり,本書を選んでいただきありがとうございます。
筆者(青木)は生命保険商品を開発する業務に従事してきました(この職業を「生保商品開発アクチュアリー」と呼びます)。伝統的に生保商品開発アクチュアリーは,厚生労働省などから公開されている統計情報や既存の商品の給付実績(経験データ)を使って生保商品を開発してきたこと,生命保険分野のデータの生成スピードが他業界に比べて極めて遅いことから,扱うデータ量が多くなくMicrosoft ExcelやAccess を用いてデータの分析をすることが一般的です。しかしながら,匿名加工された健康保険組合(健保組合)のレセプト(診療報酬明細書)を販売する会社が2015年頃から医療保険開発に広く利用されるようになり,より複雑な商品の開発が可能となったと同時に,医療データ分析担当者にはこれまで以上の知識と技術が求められるようになりました。生命保険開発における,医療データ分析の目的は2つあります。
- あるイベント(死亡・入院・手術・診断など)の発生率を,性別,年齢などのパラメタで表現すること
- 分析手法・結果に,医学的・疫学的な解釈性・妥当性を与えること
筆者は,ある再保険会社で保険商品開発と医療データ分析に従事していました(再保険会社は「保険会社のための保険会社」で,保険会社のリスクを引き受けたり,時に新しいリスク商品を開発するサポートをし,その商品のリスクを引き受ける仕事をしています)。そのとき,顧客である生命保険会社の商品開発担当から「匿名加工医療データを元にした複雑な給付条件のイベント発生率」の作成に関するご相談を多くいただきました。
上の目的を匿名加工医療データを用いて達成するためには,従来の生命保険の開発手法に加え,次の4点が必要と考えています。
- 給付イベントに関する医学的知識,疫学的発生率が備えるべき性質の理解
- データの内容,生成背景に関する理解
- 分析課題に合致する数学的モデルを選択する能力
- Python(NumPy, SciPy, pandas, Matplotlib)などの適切な分析ツールを扱う能力
これらをある程度包括的に説明する書籍はないため,複数の学術書・専門書を横断的に読んで実務に落とし込む必要があり,筆者自身とてもたいへんな思いをしました。同じ課題を持つみなさんまでそうした苦労をすることはないと思い自ら執筆することとしました。本書では,大規模なデータを容易に扱うことができるPythonを使って分析をする手法を説明します。ディープラーニングや決定木モデルなどのベイズ的機械学習モデルに慣れたデータサイエンティストも,ヘルスケアアプリ開発などにより,医療データから発生率を推定するという課題をアクチュアリーと共有する時代となりました。
AI(機械学習)全盛期の現在において,頻度統計に基づく医療統計は「古典的→古臭い→価値が低い」「汎用的でない→価値が低い」と思われがちですが,疫学的発生率が備えるべき性質(量反応関係)を知れば,医療統計モデルがそれらの性質を満たすものだと本書を通じて理解できると思います。保険・ヘルスケア分野に限らず,予測結果やそこにいたるプロセスが人間によって説明可能な機械学習モデル“XAI(Explainable Artificial Intelligence)”に対する社会的ニーズが現在高まってきています。特に保険・ヘルスケア分野においては,社会で安心・納得して使ってもらうためにExplainablityの具備が必要と考えています。実際,アクチュアリーは監督当局である金融庁に発生率作成過程を説明する必要があります。またヘルスケアアプリ開発者は医療監修を受ける際に監修者である医療関係者に,分析手法・分析結果に医学的・疫学的な解釈・妥当性を説明する機会が生じます。Explainablityが不要なヘルスケアデータサイエンティストにとっても,本書が紹介する医療統計モデルをベンチマークとして,機械学習モデルの有用性を主張するのに本書が役立つと思います。
保険・ヘルスケア分析領域での活躍を目指すすべての人にとって,本書が学習の一助になれば幸いです。
本書のサンプル
本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。
目次
第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 予測精度の評価~予実比較
この本に関連する書籍
-
図解即戦力 医療機器業界のしくみとビジネスがこれ1冊でしっかりわかる教科書
医療機器業界は薬機法をはじめ多くの法律や制度があるデリケートなものですが,先進国の高齢化やソフトウェア技術の発展により異業種からも注目されている成長分野です...
-
改訂版 Pythonユーザのための Jupyter[実践]入門
JupyterLabは,Jupyter Notebookをベースにして誕生し,Pythonユーザを中心に人気の高いオープンソースのデータ分析環境です。Jupyterはインタラクティブにコードを実行...
-
パーフェクトPython[改訂2版]
「パーフェクトPython」の改訂版。前版はPython 3.2/3.3系をベースに構成されていたこともあり,最新のバージョン(Python 3.8)に変更に加え,新たに型ヒントやasynio...