この記事では「多変量解析のAUCは何を意味する?個々の説明変数のカットオフ値は出せるか?」ということでお届けします。
ROC曲線から検査値のカットオフ値を求めることができるけど、そういえば多変量解析を実施したとしてもROC曲線って出力できるのだろうか?
多変量解析をした場合のカットオフ値って個々の説明変数のカットオフ値なのだろうか?
という疑問が出てくるかなと思います。
そこで本記事では
- 多変量解析のROC曲線から個々の説明変数のカットオフ値は出せるか?
- EZRで多変量解析のROC曲線とAUC算出
ということを具体的にお伝えしますね。
多変量解析のROC曲線から個々の説明変数のカットオフ値は出せる?
多変量解析でROC曲線を描き、そこからカットオフ値を算出する場合、個々の説明変数に対するカットオフ値は出るのでしょうか?
例えば、年齢と体重の2つを説明変数に入れてROC曲線を出力した場合のカットオフは、年齢50歳、体重60キロ、のように計算されるのでしょうか?
結論から言えば、多変量解析でROC曲線を作成したとしても、個々の説明変数のカットオフ値は出せません。
多変量解析のROC曲線やAUCって何を意味しているのか?
個々の説明変数に対するカットオフ値が出力されないのであれば、多変量解析のROC曲線やAUCって何を意味しているのかが疑問になりますよね。
多変量解析のROC曲線やAUCは、多変量解析で計算された「確率」に対するROC曲線とAUCが計算されています。
そのため、カットオフも「確率」のカットオフが出るのです。
多変量解析でのROC曲線やAUCの計算は、原理上はロジスティック回帰分析を実施しています。
ロジスティック回帰分析をするということは、アウトカムがYes/Noで示すことができる2値のカテゴリカルデータを扱うことになります。
そして、ロジスティック回帰分析を実施した結果として、アウトカムがYesになる確率を計算することができるのです。
アウトカムがYesになる確率を応用した方法が、傾向スコアマッチングですね。
多変量解析のROC曲線やAUCってどんな時に使える?
多変量解析のROC曲線やAUCは個々の説明変数のカットオフ値が算出してくれないことはわかりました。
では、多変量解析のROC曲線やAUCってどんな時に使えるでしょうか。
一つのアイデアとしては、多変量解析のモデルを「一つの検査」とみなしたときに使えるかもしれないな、ということです。
例えば、年齢・体重・性別の3つが説明変数で、ある疾患の有無が目的変数で多変量解析した時。
年齢・体重・性別の3つが分かれば、ある疾患になる確率を計算できることになります。
つまり、年齢・体重・性別の3つを使った一つの検査パッケージとみなせることに。
その検査パッケージのROC曲線・AUC・カットオフ値、ということであれば、多変量解析でROC曲線やAUCを算出する意味はありそうです。
EZRで多変量解析のROC曲線とAUC算出
では実際に、多変量解析のROC曲線やAUCを計算してみましょう。
EZRを使い、架空のデータで実施してみます。
多変量解析のROC曲線とAUC算出にはロジスティック回帰分析を実施する
まず、EZRでロジスティック回帰分析を実施します。
今回の目的変数と説明変数は以下の3つ。
- 目的変数:ある疾患の有無(2値のカテゴリカルデータ)
- 説明変数:年齢・HDL・性別の3つ
EZRでは「統計解析」→「名義変数の解析」→「二値変数に対する多変量解析(ロジスティック回帰)」で実施します。
- 目的変数で「Disease」を選択します。(変数をダブルクリックすることで選択できます。)
- 説明変数に「年齢」と「HDL」と「性別」を選択します。(こちらもダブルクリックです。)
- 「ROC曲線を表示する」にチェックを入れます。
- 「傾向スコア変数を自動作成する」にチェックを入れます。
これでOKです。
するとロジスティック回帰分析の結果とともに、AUCの値とROC曲線が出力されました。
多変量解析のROC曲線のカットオフ値は傾向スコア変数を使う
多変量解析のROC曲線とAUCは出力できました。
ロジスティック回帰をしただけではカットオフ値は出力されなかったので、多変量解析のROC曲線からのカットオフ値を求めましょう。
多変量解析のROC曲線からのカットオフ値を出力するには、ロジスティック回帰でチェックを入れた「傾向スコア変数」を使います。
先程ロジスティック回帰分析をした際に「傾向スコア変数を自動作成する」にチェックを入れましたので、データセット上に傾向スコア変数が格納されていることがわかります。
(PropensityScore.GLM.1が傾向スコア変数です。)
この傾向スコアを使って再度ROC曲線を描いてみます。
「統計解析」→「検査の正確度の評価」→「定量検査の診断への正確度の評価(ROC曲線)」を選択します。
その後、下記の画面で変数を選択します。
結果にDiseaseを、予測に用いる値にPropensityScore.GLM.1を選択します。
あとは何もいじらなくてOK。
すると、下記のようなAUCとROC曲線が出力されました。
AUCは、ロジスティック回帰分析と同じ0.633が出力されていることがわかります。
そしてROC曲線には、カットオフ値である0.618が出力されています。
繰り返しになりますが、このカットオフ値は多変量解析で計算された「確率」に対するROC曲線とAUCが計算されています。
説明変数である年齢・HDL・性別の3つそれぞれに対するカットオフではないことがわかりますね。
まとめ
いかがでしたか?
この記事では「多変量解析のAUCは何を意味する?個々の説明変数のカットオフ値は出せるか?」ということでお届けしました。
- 多変量解析のROC曲線から個々の説明変数のカットオフ値は出せない。あくまで確率のカットオフ値が出ている。
- EZRで多変量解析のROC曲線とAUC算出
ということが理解できたのなら幸いです!
コメント