玄関雑学の部屋雑学コーナー統計学入門

11.5 変数選択法

(1) 変数選択法の種類

重回帰分析と同様に、比例ハザードモデルによる重回帰型生命表解析にも各種の変数選択法が考えられています。 比例ハザードモデルによる重回帰型生命表解析は目的変数が対数ハザード比になった重回帰分析に相当するので、変数の選択法も次のようにほとんど同じものがあります。 (→7.3 変数の選択)

  1. 変数指定法:医学・薬学等の実質科学的理論や知識によって適当な変数を指定する。
  2. 総当たり法:全ての変数の組み合わせを計算し、最も良いと思われるものを選択する。
  3. 逐次選択法:一定の規則に従って変数を逐次選択していく。

これらの手法のうち、最も多用されるのは3番の逐次選択法です。 この方法は変数の選択規則によって次のように細分化されます。 なお比例ハザードモデルによる重回帰型生命表解析では、ロジスティック回帰分析と同様に、重寄与率の増減分を反映する統計量を変数選択の指標にします。 そして変数選択用統計量として偏回帰係数の検定に使用するワルドのχ2を用います。 (→10.4 変数の選択)

  1. 変数増加法(前進的選択法、forward selection method)
    最初に全変数のうち対数ハザード比に対する変数選択用統計量が最大のものを取り込む。 そしてそれ以後は、すでに取り込まれた変数との共有部分を除いて、単独で変数選択用統計量が最大の変数を取り込んでいく。 これは、その変数を取り込んで重回帰式を計算した時、重寄与率の増加が最大になることを意味している。 その際、変数選択用統計量があらかじめ決めておいた値、すなわち取り込み基準未満になった時に変数の取り込みを終了する。
  2. 変数減少法(後退的選択法、backward selection method)
    最初に全変数を取り込み、以後は取り込まれた変数のうち単独で変数選択用統計量が最小のものを追い出していく。 これは、その変数を追い出して重回帰式を計算した時、重寄与率の減少が最小になることを意味している。 その際、変数選択用統計量があらかじめ決めておいた値、すなわち追い出し基準以上になった時に変数の追い出しを終了する。
  3. 変数増減法(stepwise forward selection method)
    増加法と減少法を組み合わせた手法。 まず増加法と同様に取り込み基準に従って変数を取り込む。 次に変数を1つ取り込むたびに、すでに取り込んだ変数の中に減少法と同様の追い出し基準を満足するものがあるか調べ、あればそれを追い出してから、さらに変数の取り込みを続ける。 そして取り込むべき変数も追い出すべき変数もなくなった時に変数の選択を終了する。
    この手法は対数ハザード比に寄与する割合が大きい変数を少数選択するという特徴を持ち、逐次変数選択法の中で最も多用されている。
  4. 変数減増法(stepwise backward selection method)
    増加法と減少法を組み合わせた手法。 変数増減法とは逆に、まず減少法に従って全ての変数を取り込み、追い出し基準を満足するものを追い出す。 次に変数を1つ追い出すたびに、すでに追い出した変数の中に増加法と同様の取り込み基準を満足するものがあるか調べ、あればそれを取り込み、さらに変数の追い出しを続ける。 増減法と同じく、取り込むべき変数も追い出すべき変数もなくなった時に変数の選択を終了する。
    この手法は対数ハザード比に寄与する割合が少ない変数を少数除外するという特徴を持ち、効率的な変数の組み合わせが得られる可能性が逐次変数選択法の中で最も高い。

(2) 変数増減法の手順

変数選択法の中で最も多用されるのは変数増減法なので、この手法について順を追ってもう少し詳しく説明することにしましょう。 (注1)

1) 変数の取り込み

最初にワルドのχ2値が最大の変数つまり単独で対数ハザード比に最も寄与している変数を探し、それが取り込み基準を満足するなら取り込みます。 仮にそれをx1とすると、この時の状態は図11.5.1のようになります。

図11.5.1 1つの変数を取り込んだ時

取り込み基準は「重寄与率に対する寄与分が回帰誤差の2倍以上あること」すなわち「ワルドのχ2値が2以上」にするのが一般的で、これは次のように表されます。

ワルドのχ2 ≧ χin2 = 2 の時、取り込み

χin2の値は2と決められているわけではありませんが、一般に2〜2.5ぐらいが適当だといわれています。

2) 次の変数の取り込み

次に残りの変数から今取り込んだ変数と共有する情報を取り除き、その上でワルドのχ2値が最大の説明変数を探します。 そしてそれが取り込み基準を満足するなら取り込みます。 その変数をxjとすると、この時の状態は図11.5.2のようになります。

図11.5.2 次の説明変数を取り込んだ時

3) 変数の追い出し

ここで今までに取り込んだ変数の中から単独でワルドのχ2値が最小のもの、つまりその変数を追い出した時に重寄与率の減少が最小になるものを探します。 そしてそれが追い出し基準を満足しているなら追い出し、満足していないのならそのままにします。 これは次のように表されます。

ワルドのχ2 < χout2 = 2 の時、追い出し

χout2の値はχin2以下ならどんな値でもかまいませんが、普通はχin2と同じ値にします。 もしχout2 > χin2にすると、同じ説明変数が出たり入ったりを繰り返してしまうので注意が必要です。 またχout2 = 0にすると変数増加法になり、χin2 = χout2 = 0にすると全変数を取り込みます。

図11.5.3 説明変数の追い出し

4) 変数選択の終了

変数を追い出した後、2番に戻って変数の取り込みを続けます。 そして取り込む変数も追い出す変数もなくなるまで2番と3番の手順を繰り返します。

(3) 変数選択の例

表11.3.1のデータに変数増減法による重回帰型生命表解析を適用すると、次のように変数を2つとも取り込み第4節の結果と同じになります。 なお取り込み基準χin2と追い出し基準χout2はどちらも2にしました。 (注2)

変数選択後の比例ハザードモデル式 … x1とx2を選択

x1のワルドのχβ12値 = 5.733 > χin2 = 2
x2のワルドのχβ22値 = 15.773 > χin2 = 2
x1:治療(0:無 1:有)   x2:重症度(0:症状無 1:軽症 2:重症)

逐次変数選択法によって得られた比例ハザードモデル式は、できるだけ少ない変数で、できるだけ精度良く生存率を予測するための簡便で実用的な予測式です。 そのため例えば医学の臨床現場で、なるべく少ない検査項目で、なるべく正確に予後を予測したい時などに用いると便利です。

そして選択された変数の組み合わせは単に数字の大きさだけで機械的に選択されたものであり、科学的に最適なものでも、因果関係を考慮したものでもありません。 そのため得られた比例ハザードモデル式について科学的に十分吟味することが大切です。 もしモデル式の内容が科学的に解釈困難なら、特定の変数を強制的に取り込んだり追い出したりして色々なモデル式を計算し、それらをよく検討して最終的な結果を選ぶべきです。 このあたりの注意点も重回帰分析やロジスティック回帰分析と同様です。


(注1) 比例ハザードモデルによる重回帰型生命表解析の変数増減法の原理はロジスティック回帰分析のそれと同じであり、手順も注意点もほぼ同じです。 (→10.4 変数の選択 (注1))

1) 変数選択用統計量計算

最初は全ての変数について変数選択用統計量を計算します。 変数選択用統計量としてはワルドの検定に用いるχ2値を用います。 ただしこの場合のχ2値は、全ての偏回帰係数の初期値を0としてニュートン・ラプソン法を1回計算した時の値を用います。 そして変数選択途中では未選択の変数についてだけ変数選択用統計量を計算します。 その際、選択済みの変数の偏回帰係数の初期値は最尤推定値を用い、未選択の変数の偏回帰係数の初期値は0として計算します。

なお比例ハザードモデルの切片は各変数の平均値と偏回帰係数から計算するので、ニュートン・ラプソン法の計算対象になりません。

初期値:   bj0:選択済みの変数については最尤推定値、未選択の変数については0

        wi = exp(0'i)
0 = 0
  

変数選択用統計量:   [-0]jj-1:-0-1の第j対角要素

2) 取り込み変数の選択

ここから変数の選択に入ります。 未選択の変数の中で変数選択用統計量が最大のものを選び、変数選択用統計量が取り込み基準を満足していれば取り込みます。 もし変数選択基準を満足していなければ、これで変数の選択を終了します。

χj2 ≧ χin2 = 2〜2.5:取り込み基準

3) 最尤解を求める

取り込まれたk個の変数を用い、初期値を0としてニュートン・ラプソン法により最尤解を求めます。

4) 変数の追い出し

k個の変数の中でワルドのχ2値が最小の変数を選び、それが追い出し基準を満足していれば追い出します。

χj2 < χout2 = 2〜2.5:追い出し基準

この後、3番に戻って最尤解を求め、変数の追い出しを続けます。 そして追い出す変数がなくなったら、1番に戻って変数の取り込みを続けます。

5) 変数選択の終了

変数選択は、4番で最後に追い出した変数と1番に戻って取り込んだ変数が同じだった時、または取り込む変数がなかった時、または全ての変数を取り込んだ時に終了します。

変数取り込み基準と変数追い出し基準が同じなら、4番で最後に追い出した変数を1番に戻ってまた取り込むということは有り得ないと思うかもしれません。 ところが変数追い出し時のχ2値は最尤解計算後の値であり、変数取り込み時のχ2値は最尤解計算前の値です。 そのため両者が同じ値になるとは限りません。 その結果、変数追い出し時に追い出した変数を変数取り込み時にまた取り込んでしまうということ起こり得るのです。 そこでそのような時は最尤解計算後のχ2値を信頼し、その変数を追い出して変数選択を終了します。

変数選択基準として、ワルドのχ2値ではなく、ワルドの検定の有意確率p値を用いる方法もあります。

取り込み基準:p ≦ Pin = 0.05  追い出し基準:p > Pout = 0.05

しかし有意確率は変数の影響の強さをそのまま反映するわけではなく、例数が少ない時は大きな値になり、例数が多い時は小さな値になります。 そのため例数が少ない時はいくら影響の強い変数があっても選択されず、例数が多い時は影響の弱い変数まで選択されてしまうので合理的な基準とはいえません。 そしてロジスティック回帰分析における偏回帰係数の検定と同様に、ワルドの検定に実質的な意味はほとんどないため、あまりお勧めの方法ではありません。

(注2) 表11.3.1の例題について実際に計算してみましょう。

1) 全ての変数の変数選択用統計量計算

初期値:
     

  

2) 取り込み変数の選択

変数選択用統計量が最大のものはx2であり、しかも変数取り込み基準を満足しています。 そこでx2を取り込みます。

χ22 = 17.889 ≧ χin2 = 2

3) 最尤解を求める

x2を用い、初期値を0としてニュートン・ラプソン法により最尤解を求めます。

初期値:0 = [b20] = [0]
0 = [g20]=[20.5822]   0 = [h220] = [-29.848]   0-1 = [-0.033503]
1=0 - 0-10 = [0.689567] = [b21]

この更新された1を用いて同様の計算を繰り返します。 そして4回目で34の違いが10-5以下になるので、計算を終了して3を最尤推定値の近似値にします。

3 = [b24] = [0.650644]   3 = [g23] = [-0.00163677]   3 = [h223] = [-29.6515]   3-1 = [-0.0337251]
4 = 3 - 3-13 = [0.650644] ≒ 3

4) 変数の追い出し

最尤解計算後のx2のワルドのχ2値は変数取り込み時のχ2値と少し異なります。 しかしこの値は追い出し基準を満足していないので追い出し変数はありません。

5) 未選択の変数の変数選択用統計量計算

x1について変数選択用統計量を計算します。 その際、b2の初期値は最尤推定値を用い、b1の初期値は0として計算します。

初期値:
     

6) 取り込み変数の選択

x1の変数選択用統計量は変数取り込み基準を満足しています。 そこでx1を取り込みます。

χ12 = 6.32552 ≧ χin2 = 2

7) 最尤解を求める

x1とx2を用い、初期値をどちらも0としてニュートン・ラプソン法により最尤解を求めます。

初期値:
     

この更新された1を用いて、同様の計算を繰り返します。 そして4回目で34の違いが10-5以下になるので、計算を終了して3を最尤推定値の近似値にします。

        
4 = 3 - 3-133

8) 変数の追い出し

最尤解計算後のx1とx2のワルドのχ2値は追い出し基準を満足していません。 そのためこれで変数の取り込みを終了します。 この結果は全変数を強制的に取り込んだ時と同じです。

  
b03 = 0.669161×0.485714 - 0.734823×1.01429 = -0.420299
比例ハザードモデル:y = -0.420 - 0.669x1 + 0.735x2

ちなみにχin2 = χout2 = 0にすると、どんな時でも全変数を強制的に取り込みます。 ただし全変数を強制的に取り込むなら、第4節の(注1)で説明したように、初期値として重回帰分析の結果を利用して計算する方が収束が速くて便利です。 (→11.4 比例ハザードモデル (注1))