2017年11月5日日曜日

Medical Statistics + Deep Learning + Landslide = ?

ROC curveやcutoff valueで検索すると、医療統計学に関する話題が多く引っ掛かります(というかほぼそれ)。確かに、検査の値で陽性・陰性を判定するには、どこかで線引きが必要になるケースが多いというのは容易に想像できます。

まずは、そちらの分野の情報を仕入れましょう、ということで、図書館で以下の本を借りてきました。

千葉康敬「「医療統計力」を鍛える!」2015.4
奥田千恵子「たったこれだけ!医療統計学 改訂第2版」2015.4

前者は素人向けの図書で、概要の理解に非常に役立ちました。昨日のように NG が非常に少ない場合のデータセットを扱う際の留意点にも触れられており、ありがたい本でした。
後者では用語の重要度について「10%の論文に出てくるだけであるが、スクリーニングの研究論文を読むには、実用的な知識を身につけている必要がある」と述べられています。基礎力なのでしょう。

では、整理。まず、用語の定義。
おおざっぱには下表のようになります(率とか度とか、 value とか rate の有無とか細かいところがたくさん気になりますが、ひとまず置いておきます)。

 
test results
Machine Learning, AI prediction
True condition
TP
FN
感度:Sensitivity
 = TP / (TP+FN)
再現率
Recall
FP
TN
特異度:Pecificity
 = TN / (TN+PF)
陽性的中度 :PPV
Positive Predictive Value
 = TP / (TP+FP)
陰性的中度 :NPV
Negative Predictive Value
 = TN / (TN+FN)
正答率:Accuracy Rate
 = (TP+TN) / (TP+TN+FP+FN)
F値 :F−measure
=2RecallPrecision/(Recall+Precision)
適合率 precision

人命にかかわる判定では、感度を高める必要があるのでしょう。Wikipediaでは狂牛病の判定で感度を高めたと書かれています。
たとえば日本の狂牛病の全数検査では、まず最初に、ELISA法でスクリーニング検査を行うが、これは安価な検査ながら感度を非常に高め、陽性の見逃しの可能性を極力減らし、特異度を犠牲にした検査である(すなわち偽陽性が出やすい)

次にROC 曲線やカットオフ値。
これは googling で理解できました。前者の図書にもわかりやすく解説してあります。
このあたりを参考に。


これまでは、n個の試験についてROC 曲線をn個書き出し比較し、一番AUCの良いものを採用してカットオフ値を設定したり、各々のカットオフ値を組み合わせて判定していたようです。

comparison
test result 1 > ROC 1 > AUC 1 
test result 2 > ROC 2 > AUC 2 > cutoff value 2 adopted
test result 3 > ROC 3 > AUC 3 
test result n > ROC n > AUC n
Or
combination
test result 1 > ROC 1 ┓
test result 2 > ROC 2 ┣ cutoff value 1 & 2 & 3…&n
test result 3 > ROC 3 ┃ 
test result n > ROC n ┛

人が判断するにはせいぜい5~10個程度の属性組み合わせ、数十個のデータ数までしか対応できないでしょうね。今回のように千を越えるデータ数、30以上の次元を縮約するような取り扱いを求められた場合、人では太刀打ちできません。ましてや数千万単位となると、手を付ける気にもならないでしょう。が、今回のような機械学習(統計といった方が良いのか?)では数千万のビッグデータにも対応できます(将来的にはAIになるでしょう)。
昨日の崩壊・非崩壊の判定は deep learning を使いましたので以下のようになります。

Machine Learning, AI
test result 1 ━━┓
test result 2 ━━┫ 
test result 3 ━━╋ deep learning prediction > ROC > cutoff value
test result 100    ┫
test result 1000  ┫
test result n ━━┛

既に医療分野ではお試し済みかもしれませんね。IBM の Watson が「二次性白血病」といった病名を抽出したのは既に1年以上前ですから、さらに進んでいるでしょう。残念ながら土木分野ではこれからです。

斜面の崩壊・非崩壊の予測も人命にかかわるので、単に正答率を上げるのではなく、感度を上げるようにしないといけません。それに伴う避難指示の空振りに慣れないように PPV も高めないといけないでしょう。機械学習で崩壊・非崩壊を扱う場合はそのような点に意識してパラメーターを調整する必要があるということでしょうね。

ま、いずれにしても、崩壊・非崩壊のスクリーニングとして機械学習(deep learning)を利用する利点が見えてきました。もう少し、詰めましょう。


0 件のコメント:

コメントを投稿