前口上 | 目次 | 第1章 | 第2章 | 第3章 | 第4章 | 第5章 | 第6章 | 第7章 | 第8章 | 第9章 | 第10章 |
第11章 | 第12章 | 第13章 | 第14章 | 第15章 | 第16章 | 第17章 | 第18章 | 第19章 | 第20章 | 付録 |
1 | 2 | 3 | 4 | 5 |
重回帰分析や判別分析と同様に、ロジスティック回帰分析にも各種の変数選択法が考えられています。 ロジスティック回帰分析は目的変数がロジットになった重回帰分析に相当するので、変数の選択法も次のようにほとんど同じものがあります。 (→7.3 変数の選択)
これらの手法のうち最も多用されるのは3番の逐次選択法です。 この方法は変数の選択規則によって次のように細分化されます。 なお重回帰分析では重寄与率の増減分を反映するF値を変数選択の指標にしました。 しかしロジスティック回帰分析では重寄与率の増減分を反映する統計量を変数選択の指標にします。 そして変数選択用統計量として、通常は偏回帰係数の検定に使用するワルドのχ2値を用います。
変数選択法の中で最も多用されるのは変数増減法です。 そこで、この手法について順を追ってもう少し詳しく説明することにしましょう。 (注1)
最初にワルドのχ2値が最大の変数つまり単独でロジットに最も寄与している変数を探し、それが取り込み基準を満足するならロジスティック回帰式に取り込みます。 仮にそれをx1とすると、この時の状態は図10.4.1のようになります。
取り込み基準は「重寄与率に対する寄与分が回帰誤差の2倍以上あること」すなわち「ワルドのχ2値が2以上」にするのが一般的です。 これは次のように表されます。
χin2の値は2と決められているわけではないものの、一般に2〜2.5ぐらいが適当だといわれています。
次に残りの変数から今取り込んだ変数と共有する情報を取り除き、その上でワルドのχ2値が最大の説明変数を探します。 そしてそれが取り込み基準を満足するならロジスティック回帰式に取り込みます。 その変数をxjとすると、この時の状態は図10.4.2のようになります。
ここで今までに取り込んだ変数の中から単独でワルドのχ2値が最小のもの、つまりその変数を追い出した時に重寄与率の減少が最小になるものを探します。 そしてそれが追い出し基準を満足しているなら追い出し、満足していないのならそのままにします。 これは次のように表されます。
χout2の値はχin2以下ならどんな値でもかまいませんが、普通はχin2と同じ値にします。 もしχout2>χin2にすると、同じ説明変数が出たり入ったりを繰り返してしまうので注意が必要です。 またχout2 = 0にすると変数増加法になり、χin2 = χout2 = 0にすると全変数を強制的に取り込みます。
変数を追い出した後、2番に戻って変数の取り込みを続けます。 そして取り込む変数も追い出す変数もなくなるまで2番と3番の手順を繰り返します。
表10.4.1のデータに変数増減法によるロジスティック回帰分析を適用すると次のようになります。 なお取り込み基準χin2と追い出し基準χout2はどちらも2にしました。 (注2)
No. | 反応 1:有 0:無 | 説明変数 | ||
---|---|---|---|---|
x1 | x2 | x3 | ||
1 | 1 | 0 | 1 | 21 |
2 | 1 | 0 | 1 | 30 |
3 | 1 | 0 | 1 | 37 |
4 | 1 | 0 | 2 | 46 |
5 | 1 | 1 | 1 | 24 |
6 | 1 | 1 | 1 | 56 |
7 | 1 | 1 | 1 | 58 |
8 | 1 | 1 | 2 | 24 |
9 | 1 | 1 | 2 | 38 |
10 | 1 | 1 | 2 | 58 |
11 | 1 | 1 | 3 | 26 |
12 | 1 | 1 | 3 | 41 |
13 | 0 | 0 | 1 | 23 |
14 | 0 | 0 | 1 | 43 |
15 | 0 | 0 | 1 | 47 |
16 | 0 | 0 | 1 | 20 |
17 | 0 | 0 | 1 | 44 |
18 | 0 | 0 | 2 | 35 |
19 | 0 | 0 | 2 | 41 |
20 | 0 | 0 | 2 | 45 |
21 | 0 | 0 | 2 | 53 |
22 | 0 | 0 | 2 | 35 |
23 | 0 | 0 | 2 | 37 |
24 | 0 | 0 | 3 | 40 |
25 | 0 | 0 | 3 | 41 |
26 | 0 | 0 | 3 | 55 |
27 | 0 | 0 | 3 | 51 |
28 | 0 | 0 | 3 | 36 |
29 | 0 | 1 | 1 | 22 |
30 | 0 | 1 | 1 | 39 |
31 | 0 | 1 | 1 | 52 |
32 | 0 | 1 | 1 | 34 |
33 | 0 | 1 | 2 | 23 |
34 | 0 | 1 | 2 | 28 |
35 | 0 | 1 | 2 | 32 |
36 | 0 | 1 | 2 | 43 |
37 | 0 | 1 | 2 | 42 |
38 | 0 | 1 | 2 | 51 |
39 | 0 | 1 | 3 | 24 |
40 | 0 | 1 | 3 | 27 |
41 | 0 | 1 | 3 | 42 |
42 | 0 | 1 | 3 | 21 |
43 | 0 | 1 | 3 | 35 |
44 | 0 | 1 | 3 | 36 |
ちなみに、全ての変数を取り込むと次のようになります。
逐次変数選択法によって得られたロジスティック回帰式は、できるだけ少ない変数で、できるだけ精度良く出現率を予測するための簡便で実用的な予測式です。 そのため例えば医学の臨床現場で、なるべく少ない項目で、なるべく正確に疾患の発症率を予測したい時などに用いると便利です。
しかし医学の研究現場では色々な項目が疾患の発症に単独でどの程度寄与しているか、つまり各項目のリスクファクターとしての重要度を調べたい時がしばしばあります。 そのような時は対象とする全項目を入れたロジスティック回帰分析を行うべきであり、逐次変数選択を行うべきではありません。 逐次変数選択を行った場合、選択されなかった変数は疾患の発症に寄与していないとは限りません。 すでに選択された変数にその変数の情報が含まれているため重ねて選択する必要がないだけで、実は疾患の発症に寄与しているということも十分あり得ます。
そのため選択された変数が単独でどの程度の寄与をしているかということは、逐次変数選択の結果からは不正確にしかわかりません。 また選択されなかった変数が疾患の発症にどの程度寄与しているか知るのは不可能です。 したがって色々な項目が疾患の発症に単独でどの程度寄与しているか調べたい時、またはある項目が疾患の発症に寄与していないことを検証したい時などは逐次変数選択を行ってはいけません。
またこのようにして選択された変数の組み合わせは単に数字の大きさだけで機械的に選択されたものであり、科学的に最適なものでも、因果関係を考慮したものでもありません。 そのため得られたロジスティック回帰式について科学的に十分吟味することが必要です。 もしロジスティック回帰式の内容が科学的に解釈困難なら、特定の変数を強制的に取り込んだり追い出したりして色々なロジスティック回帰式を計算し、それらをよく検討して最終的な結果を選ぶべきです。
最初は全ての変数について変数選択用統計量を計算します。 変数選択用統計量としてはワルドの検定に用いるχ2値を用います。 ただしこの場合のχ2値は、切片b0と全ての偏回帰係数の初期値を0としてニュートン・ラプソン法を1回計算した時の値を用います。 そして変数選択途中では未選択の変数についてだけ統計量を計算します。 その際、選択済みの変数の偏回帰係数と切片の初期値は最尤推定値を用い、未選択の変数の偏回帰係数の初期値は0として計算します。
ここから変数の選択に入ります。 未選択の変数の中で変数選択用統計量が最大のものを選び、それがが取り込み基準を満足していれば取り込みます。 もし変数選択基準を満足していなければ、これで変数の選択を終了します。
取り込まれたk個の変数と切片b0を用い、初期値を0としてニュートン・ラプソン法により最尤解を求めます。
k個の変数の中で変数選択用統計量が最小の変数を選び、それが追い出し基準を満足していれば追い出します。
この後、3番に戻って最尤解を求め、変数の追い出しを続けます。 そして追い出す変数がなくなったら、1番に戻って変数の取り込みを続けます。
変数選択は、4番で最後に追い出した変数と1番に戻って取り込んだ変数が同じだった時、または取り込む変数がなかった時、または全ての変数を取り込んだ時に終了します。
変数取り込み基準と変数追い出し基準が同じなら、4番で最後に追い出した変数を1番に戻ってまた取り込むということは有り得ないと思うかもしれません。 ところが変数追い出し時のχ2値は最尤解計算後の値であり、変数取り込み時のχ2値は最尤解計算前の値です。 そのため両者が同じ値になるとは限りません。 その結果、変数追い出し時に追い出した変数を変数取り込み時にまた取り込んでしまうということが起こり得ます。 そこでそのような時は最尤解計算後のχ2値を信頼し、その変数を追い出して変数選択を終了します。
変数選択基準としてワルドのχ2値ではなく、ワルドの検定の有意確率p値を用いる方法もあります。
しかし有意確率は変数の影響の強さをそのまま反映するわけではなく、例数が少ない時は大きな値になり、例数が多い時は小さな値になります。 そのため例数が少ない時はいくら影響の強い変数があっても選択されず、例数が多い時は影響の弱い変数まで選択されてしまうので合理的な基準とはいえません。 そして重回帰分析における偏回帰係数の検定と同様に、ワルドの検定に実質的な意味はほとんどないので、あまりお勧めの方法ではありません。
変数選択用統計量が最大のものはx2であり、しかも変数取り込み基準を満足しています。 そこでx2を取り込みます。
定数項とx2を用い、b0とb2の初期値をどちらも0にしてニュートン・ラプソン法により最尤解を求めます。
この更新されたb1を用いて同様の計算を繰り返します。 そして5回目でb4とb5の違いが10-5以下になるので、計算を終了してb4を最尤推定値の近似値にします。
最尤解計算後のx2のワルドのχ2値は変数取り込み時のχ2値と少し異なります。 しかしこの値は追い出し基準を満足していないので追い出し変数はありません。
x1とx3について変数選択用統計量を計算します。 その際、b0とb2の初期値は最尤推定値を用い、b1とb3の初期値は0として計算します。
変数選択用統計量が最大のものはx1ですが、これは変数取り込み基準を満足していません。 そのためこれで変数の取り込みを終了します。
x2は選択されましたが、偏回帰係数に関するワルドの検定結果は有意水準5%で有意ではありません。 しかし例数が増えれば検定結果は必ず有意になるので、ワルドの検定結果を重視する必要はありません。
ちなみにχin2 = χout2 = 0にすれば全変数を強制的に取り込んだ結果を計算することができます。 しかし全変数を取り込みたい時は初期値として判別分析の結果を利用して計算する方が収束が速くて便利です。
同様の計算を繰り返すと、3回目で繰り返し計算が収束します。
ワルドのχ2値は各変数が独立にロジットに寄与している大きさを反映します。 そのため検定結果を重視する必要はありませんが、各変数の寄与の大きさの指標として利用することはできます。 このデータではx2が最も強く寄与していることがわかります。 そこで反応の有無の内容と各変数の内容を考慮して、この結果が合理的に解釈できるのならリスクファクターとしてx2が最も重要であると考えられます。
多変量予測モデルの予測能力の増加を評価する指標としてNRI(Net Reclassification Improvement)とIDI(Integrated Discrimination Improvement)という値が提唱されていて、これらの指標をロジスティック回帰分析や生存時間解析で用いる時があります。 しかしこれらは判別分析のような後ろ向き研究用の指標なので、前向き研究用の手法であるロジスティック回帰分析や生存時間解析で用いるのは非合理です。 さらにこれらの指標はオーソドックスな指標――例えば疑似寄与率や偏回帰係数――と比べるとあまり良い指標ではありませんが、一応、紹介しておきます。 (→9.5 変数の選択 (注2))