5.1 判別分析の原理

5.判別分析
5.判別分析
判別分析
5.1 判別分析の原理
判別分析は後ろ向き研究から得られたデータに適用する手法
(1) 判別分析
医学分野では病気の診断を必要とする場面が多い
ある検査項目を用いて被験者が疾患かどうかを判断したい
または
ある検査項目が疾患の診断に寄与するかどうかを検討したい
判別分析を適用
判別分析は多種類のデータに基いて被験者を特定の群に判別したり、判別に強い影響を及
ぼすデータを探索したりするための手法。後ろ向き研究から得られたデータに適用する。
(2) 判別分析の適用例
動脈硬化症患者 10 名と正常者 15 名について、総コレステロールとトリグリセリドを測定したとこ
ろ表 5.1 のような結果になった。
<表 5.1 動脈硬化症患者と正常者の TC と TG>
No.
TC
TG
群
1
動脈硬化症
220
110
2
動脈硬化症
230
150
3
動脈硬化症
240
150
4
動脈硬化症
240
250
5
動脈硬化症
250
200
6
動脈硬化症
260
150
7
動脈硬化症
260
250
8
動脈硬化症
260
290
9
動脈硬化症
270
250
5-1
5.判別分析
10
動脈硬化症
280
290
11
正常
180
130
12
正常
180
150
13
正常
190
160
14
正常
190
180
15
正常
200
160
16
正常
200
170
17
正常
200
240
18
正常
210
160
19
正常
210
180
20
正常
210
250
21
正常
220
180
22
正常
220
260
23
正常
220
300
24
正常
230
250
25
正常
240
320
1) TC による群の判別つまり動脈硬化症の診断
2 群の平均値の中央を境界値にして 2 群を判別…図 5.1 の TC 軸の下の分布
正常群:例数=15 平均値=207 標準偏差=18
動脈硬化症群:例数=10 平均値=251 標準偏差=19
境界値 =(207+251)/2=229
TC>229→ 動脈硬化症と判別 TC<229→ 正常と判別
正判別: 22 例 (88%) 誤判別: 3 例 (12%)
2) TG による群の判別
2 群の平均値の中央を境界値にして 2 群を判別…図 5.1 の TG 軸の左の分布
正常群:例数=15 平均値=206 標準偏差=59
動脈硬化症群:例数=10 平均値=209 標準偏差=65
5-2
5.判別分析
境界値 =(206+209)/2=207.5
TG>207.5→ 動脈硬化症と判別 TC<207.5→ 正常と判別
正判別: 14 例 (56%) 誤判別: 11 例 (44%)
3) TC と TG を用いた判別分析による群の判別
2 群のプロットが最もきれいに分離できる軸で 2 群を判別…図 5.1 の左下の分布
判別関数: z=-61.1636+0.3352×TC-0.0749×TG
z>0→ 動脈硬化症と判別 z<0→ 正常と判別
正判別: 25 例 (100%) 誤判別: 0 例 (0%) 理論的判別確率: 97%
500
TG
正常群
250
動脈硬化症群
0
100
200
300
TC 400
図 5.1 TC と TG の群別散布図
5-3
5.判別分析
5.2 群の判別と診断率
診断率を求める方法を多変量に拡張したものが判別分析
(1) 診断率
疾患群
正常群
TP
TN
FN FP
陰性 ( 正常と判定 )
陽性 ( 疾患と判定 )
境界値
図 5.2 診断率の模式図
<表 5.2 群と検査結果>
検査結果
群
計
陰性(Negative)
陽性(Positive)
正常群(Normal)
TN
FP
nN
疾患群(Disease)
FN
TP
nD
TN+FN
FP+TP
n
計
・陽性(Positive)…検査項目の値が境界値(カットオフポイント)以上になること→疾患と診断
・陰性(Negative)…検査項目の値が境界値未満になること→正常と診断
・正診(True)…診断結果が正しいこと
・誤診(False)…診断結果が間違っていること
・感度(sensitivity)…疾患群が陽性になる確率
SN =
TP
TP
=
FN + TP n D
5-4
5.判別分析
・特異度(specificity)…正常群が陰性になる確率
SP=
TN
TN
=
TN + FP n N
・正診率(accuracy)…正診の確率
AC=
TP+ TN TP+ TN
=
n N + nD
n
・陽性尤度比(positive likelihood ratio)…真陽性確率と偽陽性確率の比(S/N 比)←値が大きい
ほど検査項目が診断指標として有用
LR+ =
TP⋅n N
SN
=
1−SP FP⋅n D
・陰性尤度比(negative likelihood ratio)…偽陰性確率と真陰性確率の比←値が小さいほど検査
項目が診断指標として有用
LR- =
1−SN FN⋅n N
=
SP
FN⋅n D
・陽性予測値または陽性適中度(positive predictive value)…検査結果が陽性の時に本当に疾
患である確率
PPV =
1
1+{(1−π D )/ π D }{(1−SP)/ SN }
疾患群の割合 nD/n がその疾患の一般的な有病率 πD を反映している時は次の式で計算可能
PPV =
TP
TP+ FP
・陰性予測値または陰性適中度(negative predictive value)…検査結果が陰性の時に本当に正
常である確率
NPV =
1
1+{π D /(1−π D )}{(1−SN )/SP}
疾患群の割合 nD/n がその疾患の一般的な有病率 πD を反映している時は次の式で計算可能
5-5
5.判別分析
NPV =
TN
TN + FN
例:表 5.1 の TC による動脈硬化の診断結果
<表 5.3 TC による動脈硬化の診断結果>
検査結果
群
陽性(229 以上)
正常群
13
2
15
動脈硬化症群
1
9
10
14
11
25
計
・感度: SN =
計
陰性(229 未満)
9
=0.9(90 %)
10
・特異度: SP=
13
≒ 0.87(87%)
15
・正診率: AC=
22
=0.88(88 %)
25
・陽性尤度比: LR+ =
9×15
=6.75
2×10
・陰性尤度比: LR- =
1×15
≒0.12
13×10
・陽性予測値:例えば動脈硬化症の一般的な有病率を 10%(0.1)とした時
PPV =
1
≒ 0.43
1+{(1−0.1)/0.1}×{(1−0.87)/0.9}
・陰性予測値:例えば動脈硬化症の一般的な有病率を 10%(0.1)とした時
NPV =
1
≒0.99
1+{0.1 /(1−0.1)}×{(1−0.9)/0.87}
5-6
5.判別分析
(2) RCD(Relative Cumulative frequency Distribution、相対累積度数分布)曲線を利用した境界値
の推定方法
1
感度/特異度
0.8
0.6
動脈硬化症群
( 感度曲線 )
正常群
( 特異度曲線 )
← 理論的感度曲線
0.4
0.2
← 理論的特異度曲線
0
160
200
240
280
TC
境界値
図 5.3 相対累積度数分布法による境界値の推定
1) 正常群の累積度数分布図を描く。
横軸に TC の値、縦軸に相対度数(度数の割合)を取った座標に、正常群の相対累積度数(累
積度数を群の例数で割った値)をプロットする。
2) そのグラフに疾患群の相対逆累積度数分布(相対累積度数分布を上下ひっくり返したもの)を
重ねてプロットする。
3) 正常群の相対累積度数分布→特異度曲線、疾患群の相対逆累積度数分布→感度曲線、2 本
の曲線の交点→境界値の推定値
4) 正常群のデータが正規分布すると仮定した時の理論的相対累積度数分布と、疾患群のデータ
が正規分布すると仮定した時の理論的相対逆累積度数分布を描くと、理論的特異度曲線と理論
的感度曲線、そして境界値の理論的推定値を求めることができる。
5-7
5.判別分析
この方法で求めた境界値の推定値は
「感度と特異度の平均値を最大にする」という基準で求めた値
この値を目安にし、例えば次のようなコンセプトで調整
特異度よりも感度を優先=疑わしきは罰する
感度よりも特異度を優先=疑わしきは罰せず
最終的に医学的な判断で最適境界値を決定
(3) ROC 曲線(Receiver Operating Characteristic curve、受信機操作特性曲線) を利用した境界値
の推定方法
1
↑ 理論的 ROC 曲線
0.8
境界値
感度
0.6
0.4
0.2
0
1
0.8
0.6
0.4
0.2
0
特異度
図 5.4 TC の ROC 曲線
1) データを小さい順に並べ、境界値を最小値から最大値まで変化させた時の感度と特異度を計
算する。
これは図 5.3 の感度曲線と特異度曲線から求めることが可能。
2) それらの感度と特異度を、横軸に(1-特異度)つまり偽陽性率(FPF:False Positive Fraction、ノイ
ズ)を 、縦軸に感度つまり真陽性率(TPF:True Positive Fraction、シグナル) を取った座標にプロッ
5-8
5.判別分析
トする→ROC 曲線
3) ROC 曲線が左上隅(感度 100%、特異度 100%の点)に向かって膨らんでいるほど検査値が診
断に有用。
4) 左上隅に最も近い ROC 曲線上の点(S/N 比最大の点)の境界値→境界値推定値
5) 図 5.3 の理論的感度曲線と理論的特異度曲線を利用すれば、正常群のデータと疾患群の
データがそれぞれ正規分布すると仮定した時の理論的 ROC 曲線を描くことができる。
この方法で求めた境界値の推定値と最適推定値に関する注意点は、RCD 曲線を利用する方
法と同じ。ただし ROC 曲線は境界値を直接表示しないため、境界値を推定するには RCD 曲線を
利用する方法の方が便利。
5-9
5.判別分析
5.3 判別分析結果の解釈
判別関数は目的変数を有無にした重回帰式に相当する
(1) 計算結果
表 5.1 のデータに判別分析を適用した結果。
=== 判別分析(discriminant analysis) ===
[DANS V7.0]
データ名:表5.1
判別項目:群 (0:正常 1:動脈硬化症)
変数x 1:TC (mg/dl)
変数x 2:TG (mg/dl)
○群1:群 (0:正常 1:動脈硬化症)=1
・各変数の基礎統計量
----------------------------------------------------------------------------x 1:例数=10
平均値=251
標準偏差=18.5293
標準誤差=5.85947
x 2:例数=10
平均値=209
標準偏差=65.3962
標準誤差=20.6801
----------------------------------------------------------------------------○群2:群 (0:正常 1:動脈硬化症)=1 以外
・各変数の基礎統計量
----------------------------------------------------------------------------x 1:例数=15
平均値=206.667
標準偏差=17.5933
標準誤差=4.54257
x 2:例数=15
平均値=206
標準偏差=58.7732
標準誤差=15.1752
----------------------------------------------------------------------------○全体の共通相関行列
x 1
x 2
-------------------x 1
1
0.772
x 2
0.772
1
-------------------・全変数を選択した結果
標準
有意確率
変数
判別係数
標準誤差 exp(判別係数) 判別係数
偏F値
p値
------------------------------------------------------------------------------定数
-61.1636
x 1
0.335192
0.0365878
1.39821
6.02184
83.9292 5.79687e-09***
x 2
-0.074889
0.0172048
0.927846
-4.60192
18.9469 0.000254845***
------------------------------------------------------------------------------変数
判別係数
95%CI下限
上限 exp(判別係数) 95%CI下限
上限
---------------------------------------------------------------------------x 1
0.335192
0.259313
0.41107
1.39821
1.29604
1.50843
x 2
-0.074889
-0.110569 -0.0392085
0.927846
0.895324
0.96155
---------------------------------------------------------------------------5-10
5.判別分析
・HotellingのT^2検定 T^2=87.813
F=41.9975 第1自由度=2 第2自由度=22 有意確率p=3.0797e-08***
・判別効率(Mahalanobisの汎距離)D^2=14.6355 相関比η^2=0.792443
D/2(正規分布z値)=1.91282 誤判別確率p=0.0278856(判別確率1-p=0.972114)
(2) 各種パラメーターの意味
・判別関数…群を判別するための判別スコアを求める式
z=-61.1636+0.335192x1-0.074889x2
一般化すると、
z=a0+a1・x1+…+bp・xp
z:判別スコア a0:定数 a1~ap:判別係数
・判別スコア…判別関数の変数に特定の値を代入して得られる値
z>0:群 1 と判別
z<0:群 2 と判別
(z=0 の時は判別保留または無理にどちらかの群に判別する)
・判別係数…判別関数の変数の係数、重回帰式の偏回帰係数に相当
他の変数が一定という条件で各変数が 1 増加した時
判別スコアがいくつ変化するかを表す値
・標準誤差…判別係数の標準誤差
・標準判別係数…変数を標準偏差単位にした時の判別係数、 重回帰式の標準偏回帰係数に相
当
他の変数が一定という条件で各変数が「 1 標準偏差」増加した時
判別スコアがいくつ変化するかを表す値
・Hotelling の T2 検定…2 標本 t 検定を多変量に拡張した手法
図 5.1 のような散布図を描いた時、2 群のプロットの重心が重なっているかどうかの検定。この検
定結果が有意ではない時は 2 群のプロットがほぼ重なっていることになり、判別は不可能。
5-11
5.判別分析
・判別効率(Mahalanobis の汎距離)…2 群のプロットの重心間の距離
変数同士の相関を考慮した、2 群のプロットの重心間の距離。Hotelling の T2 検定はこの汎距
離が 0 かどうかの検定。
・誤判別確率…判別関数を用いて全例を判別した時の誤判別率
1 からこの確率を引いた値は判別確率になり、正診率に相当する。
(3) 判別分析の注意点
i) 誤差の少ない信頼のおける多数のデータに適用したものであるか?
目安:例数≧(変数の数☓10)または(変数の数の 2 乗)の大きい方
2 群の例数はできるだけ同じくらいにする
ii) 判別分析に組み込んだ項目が適当であるか?
iii) 組み込んだ項目は診断指標なのかリスクファクターなのか?
iv) 高い判別確率が得られているか?
目安:判別確率>0.75
v) 判別関数が実質科学的に納得できるものであるか?
5-12
5.判別分析
5.4 変数の選択
変数選択法は重回帰分析と同様
(1) 変数選択法
できるだけ少ない変数で、できるだけ効率的に群を判別できる、簡便で実用的な判別関数を組
み立てるための手法。重回帰分析の変数選択法と同じ原理。
i) 変数指定方法…実質科学的な知見に基づいて適当な変数を指定
ii) 総当たり法…全ての変数の組み合わせを計算し、最良のものを選択
iii) 逐次選択法 …一定の規則に従って変数を逐次選択
変数増加法(前進的選択法)、変数減少法(後退的選択法)、変数増減法、変数減増法
(2) 変数増減法の手順
1) 最初の変数の取り込み
単独で判別効率を最大にする変数を取り込む。
判別情報全体
判別誤差
自由度= n-2
判別効率
増加分
x1
図 5.5 1つの変数を取り込んだ時
2) 次の変数の取り込み
残りの変数から今取り込んだ変数と共有する情報を取り除き、その上で判別効率の増加が最
大のものを探す。そしてその変数が取り込み基準を満足するなら取り込む。
5-13
5.判別分析
・各種の取り込み基準
i) 偏 F 値(判別効率の増加分/判別誤差)が基準値以上
ii) 有意確率 p 値が基準値以下
判別情報全体
判別誤差
自由度= n-3
xj の判別寄与分
x1
xj
図 5.6 次の変数を取り込んだ時
3) 変数の追い出し
これまでに取り込んだ変数のうち、判別効率に対する寄与分が最小のものを探す。そしてその
変数が追い出し基準を満足するなら追い出す。
判別情報全体
判別誤差
x1
xk を追い出す
xj
xk
図 5.7 変数の追い出し
・各種の追い出し基準
5-14
5.判別分析
i) 偏 F 値が基準値未満
ii) 有意確率 p 値が基準値より大きい
4) 変数選択の終了
2)に戻って変数の取り込みを続け、取り込む変数も追い出す変数もなくなるまで 2)と 3)を繰り返
す。
(3) 変数選択の例
=== 判別分析(discriminant analysis) ===
[DANS V7.0]
データ名:表5.1
判別項目:群 (0:正常 1:動脈硬化症)
変数x 1:TC (mg/dl)
変数x 2:TG (mg/dl)
○群1:群 (0:正常,1:動脈硬化症)=1
・各変数の基礎統計量
----------------------------------------------------------------------------x 1:例数=10
平均値=251
標準偏差=18.5293
標準誤差=5.85947
x 2:例数=10
平均値=209
標準偏差=65.3962
標準誤差=20.6801
----------------------------------------------------------------------------○群2:群 (0:正常,1:動脈硬化症)=1 以外
・各変数の基礎統計量
----------------------------------------------------------------------------x 1:例数=15
平均値=206.667
標準偏差=17.5933
標準誤差=4.54257
x 2:例数=15
平均値=206
標準偏差=58.7732
標準誤差=15.1752
----------------------------------------------------------------------------○全体の共通相関行列
x 1
x 2
-------------------x 1
1
0.772
x 2
0.772
1
-------------------・前進的変数増減法(stepwise forward selection method)による変数選択結果
取り込み基準:偏F値≧Fin=2 追い出し基準:偏F値<Fout=2
標準
有意確率
変数
判別係数
標準誤差 exp(判別係数) 判別係数
偏F値
p値
------------------------------------------------------------------------------定数
-61.1636
x 1
0.335192
0.0365878
1.39821
6.02184
83.9292 5.79687e-09***
x 2
-0.074889
0.0172048
0.927846
-4.60192
18.9469 0.000254845***
-------------------------------------------------------------------------------
5-15
5.判別分析
変数
判別係数
95%CI下限
上限 exp(判別係数) 95%CI下限
上限
---------------------------------------------------------------------------x 1
0.335192
0.259313
0.41107
1.39821
1.29604
1.50843
x 2
-0.074889
-0.110569 -0.0392085
0.927846
0.895324
0.96155
---------------------------------------------------------------------------・HotellingのT^2検定 T^2=87.813
F=41.9975 第1自由度=2 第2自由度=22 有意確率p=3.0797e-08***
・判別効率(Mahalanobisの汎距離)D^2=14.6355 相関比η^2=0.792443
D/2(正規分布z値)=1.91282 誤判別確率p=0.0278856(判別確率1-p=0.972114)
変数選択法で選択されなかった変数は判別に寄与していないとは限らない
ある変数が判別に寄与していないことを検証したい時は変数選択をしない方が良い
変数選択法で得られた変数の組み合わせは実質科学的に最適なものとは限らない
実質科学的に解釈困難な結果または実用的ではない結果なら
特定の変数を強制的に取り込んだり追い出したりして色々な判別関数を検討した方が良い
5-16
5.判別分析
5.5 ロジスティック曲線
判別スコアを群に属す確率に変換したものがロジスティック曲線
(1) ロジスティック曲線
判別スコアによる判別は「 All or Nothing 」の方法であり素っ気ない
最近の天気予報のように特定の群に属す確率を求めたい
ロジスティック曲線を利用して判別スコアを確率に変換する
動脈硬化症の確率
1
0.5
0
−10
0
10
判別スコア (z)
図 5.8 判別スコアとロジスティック曲線
・ロジスティック曲線…判別スコアを群に属す確率に変換する曲線
p=
1
1+ {(1−π 1 )/ π 1 }⋅exp(−z )
p:群 1 に属す確率 π1:群 1 の事前確率(理論確率) z:判別スコア
群 1 が疾患の場合、疾患の一般的な有病率を π1 に代入する
図 5.8 は、第 3 節で求めた判別関数について、群 1(動脈硬化症)の一般的な有病率を 10%と
5-17
5.判別分析
して、π1=0.1 を代入した時のロジスティック曲線。p=1 のところにプロットされている点は、動脈硬化
症群について判別スコアを計算し、それをプロットしたもので、p=0 のところにプロットされている点
は、正常群について判別スコアを計算し、それをプロットしたもの。
例:動脈硬化症かどうか診断したい人の TC が 210、TG が 125 だった時
z=-61.1636+0.3352×210-0.0749×125=-0.1341<0 より正常と判別
p=
1
≒0.0886< π 1 =0.1
1+ {0.1/(1−0.1)}×exp(0.1341)
(2) ロジットとロジスティック回帰分析
・ロジット…対数オッズ
この場合は群 1 に属す確率 p と属さない確率(1-p)の比を対数変換したもの。
l=ln(
π1
π1
p
)=ln (
)+ z =ln(
)+ a 0 + a 1 x1 + ⋯+ a p x p
1− p
1−π 1
1−π 1
l(エル):群 1 に属す確率のロジット
前向き研究から得られたデータを用いて、群 1(疾患)の事前確率としてその研究から得られた
疾患の発症率を代入し、ロジットを目的変数にし、変数を説明変数にして、a0~ap を重回帰分析の
原理を応用して求める手法をロジスティック回帰分析という。→第 6 章参照
判別分析から求めたロジスティック曲線は事前確率を必要とするが、ロジスティック回帰分析
から求めたロジスティック曲線は事前確率を必要としない。
疾患が発症する前に、疾患が発症するかどうかをリスクファクターから予想したい
↓
ロジスティック回帰分析…前向き研究から得られたデータを用いる
疾患が発症した後で、疾患であるかどうかを診断指標とリスクファクターから診断したい
↓
判別分析…後ろ向き研究から得られたデータを用いる
5-18