統計ER

R, EZR, SPSS, KH Coder を使ったデータ分析方法を紹介するブログ。ニッチな内容が多め

EZRで多変量ROC曲線を比較するには?

ロジスティック回帰の回帰診断の一つにROC曲線を活用する方法がある。

ロジスティック回帰モデルを多変量で行えば多変量ROC曲線となる。

モデルごとに算出されるROC曲線を比較するにはどのようにすればよいか?

ROC曲線とは?

まずROC曲線とは何か?

ROC曲線とは、あり・なし、高い・低い、正解・間違いなど2値を判別するための連続量の切れ目(閾値[しきいち]、カットオフポイント)を検討する方法だ。

ROCとはReceiver Operating Characteristicsという言葉の頭文字だが、もともとのレーダー技術からの派生で、主に臨床検査の感度・特異度に使われている。

ある数値以上を、病気ありと定義すると、感度・特異度がどのくらいになるか?

どの数値がもっとも感度・特異度のバランスがいいか?

などの分析を行うものだ。

多変量ROC曲線とは?

ROC曲線は、一つの連続量で、あり・なしを予測する性能の検討なのだが、一つの連続量を多変量から予測される確率という数値にして、2値の目的変数(例えば病気あり・なし)を予測する性能というふうに考えたのが、多変量ROC曲線になる。

ある病気の有り無しを、ある一つの検査値と、それを補助する検査値、性別、年齢、BMIなどの変数で総合的に計算される確率で予測するというような形になる。

総合的に確率を計算するときの変数を、増やしたり、減らしたりすると、いくつか確率が求まる。

どの組み合わせの時にもっとも予測性能が良いかという比較をすることができるというわけである。

EZRで多変量ROC曲線を描くには?

多変量ROC曲線を描くには、ロジスティック回帰分析のプログラムで、傾向スコア算出の機能を借りる。

まず、「統計解析」→「名義変数の解析」→「ロジスティック回帰」でプログラムを選ぶ。

f:id:toukeier:20220219201624p:plain
ロジスティック回帰分析のメニューを選ぶ

ロジスティック回帰モデルに投入する変数を選んで、傾向スコア変数を作成するチェックボックスにチェックを入れる。

f:id:toukeier:20220219201926p:plain
傾向スコアにチェックを入れる

OKをクリックすると、傾向スコア(PropensityScore.GLM.1)という名前の変数が作られる(最後の数字は何度も作成していると変わる)。

f:id:toukeier:20220219202125p:plain
PropensityScore.GLM.1が作られる

これは、fitted()関数を使って予測値(ロジスティック回帰なので数値は確率)を計算しているもので、標準メニューを使って、アクティブモデルを指定して予測値を出すと同じものが算出できる。

f:id:toukeier:20220219202745p:plain
アクティブモデルを選択、でモデルを選択する必要がある

f:id:toukeier:20220219202527p:plain
結果をデータセットに保存を選ぶ

f:id:toukeier:20220219202626p:plain
予測値にだけチェックを入れる

f:id:toukeier:20220219202829p:plain
fitted.GLM.1が増える。PropensityScore.GLM.1と同一であるのがわかる

2つの多変量ROC曲線を比較するには?

もう一つ多変量ROC曲線のための確率を計算する。

先ほどよりも一つ変数を増やして、再度傾向スコアを作成する。

f:id:toukeier:20220219203150p:plain
WBC45000を追加した

PropensityScore.GLM.2がGLM1とは少しだけ違うのがわかる。

f:id:toukeier:20220219203249p:plain
少しだけ違う。WBC45000が欠損であるとNAになってしまう

このあとは、2つのROC曲線を比較メニューを使用して、比較する。

f:id:toukeier:20220219203451p:plain
「検査の正確度の評価」→「2つのROC曲線のAUCの比較」

結果の枠は、目的変数を選択、1つ目の予測と2つ目の予測で、それぞれ、PropensityScore.GLM.1とPropensityScore.GLM.2を選択する。

f:id:toukeier:20220219203647p:plain
目的変数とPropensityScore.GLM.1と2を入れる。

OKをクリックすると、解析結果とグラフが表示される。

f:id:toukeier:20220219203808p:plain
解析結果

f:id:toukeier:20220219203833p:plain
2つのROC曲線

グラフを見ると、ほぼ同様で、解析結果を見ると統計学的に異なっているとは言えないことがわかる。

このように2つの多変量ROC曲線を比較することができる。

もし、統計学的に異なるようであれば、追加した変数はモデルの予測性能を向上したと言えるかもしれない。

いろいろと試してみて、性能の良いモデルを探るという試行錯誤を行う。

まとめ

多変量ROC曲線とは、ロジスティック回帰分析の目的変数の予測値としての確率を使って、目的変数をどの程度感度・特異度よく推測できるかという、ロジスティック回帰モデルの予測能の診断に使える。

どちらがよりよく予測できるかの比較は、EZRを使って、各モデルの傾向スコア(Propensity Score)を計算するプログラムを活用し、その後2つのROC曲線を比較するメニューを使うことで簡単に実行できる。

参考書籍

見やすい図解と楽しいイラストで、EZRによる医療統計を短期間で学べる本

EZRをしっかり使いこなしたい本格派向けEZR公式マニュアル