Conditional logistic regressionの完全解説!【数式ほぼなし】

Conditional logistic regression(条件付きロジスティック回帰)という統計手法をご存知でしょうか。

特に症例対象研究で使われる手法ですが、マッチングを用いた調整法としてコホート研究でも使えます。

この方法、なんと実はCOX proportional modelと関連性があります。

なかなかわかりやすい解説記事のないConditional logistic regressionを、なるべく統計知識なしでわかるように解説しました。

 

 

Conditional logistic regression(条件付きロジスティック回帰)の完全解説!

Conditional logistic regression(条件付きロジスティック回帰)の完全解説!

最初にずばり。

Conditional logistic regressionとは

「ある特殊な方法」で交絡因子を調整するlogistic regression

です。

 

logistic regressionを交絡因子で調整する方法は、普通は右辺に入れますね。

数式で書くと

logit (Y=1) = β0 + β1*暴露因子 + β2*交絡因子1 + β3*交絡因子2 + …

といった感じです。

(Y=1とは「アウトカムあり」のこと)

これの何が問題か?というと、

交絡因子が多い場合にoverfitとなりやすい

ことが挙げられます。

 

「アウトカムの数÷10」だけの因子をロジスティック回帰に入れても良い

というだいたいの方針がありますが、

仮に交絡因子を15個入れたければ、アウトカムの数は160以上必要となってしまいます。

特にサンプル数が限られる症例対象研究では、なかなか難しい。

 

さらに、症例対照研究は普通マッチングが行われます。

マッチングの要素は必ず調整しなければならないのでした(詳細こちら

よくあることですが、マッチング要素に「enrollした年月(名義変数)」がある場合、調整しなければならない因子はかなり多くなってしまいます。

こんな時にでてくるのがConditional logistic regression!!

 

 

Conditional logistic regressionとは

Conditional logistic regressionとは

最初に言いますが、コアを理解するだけなら別に難しくありません。

ちょっとした頭のひねりが必要なだけです。

 

上のロジスティック回帰:

logit (Y=1) = β0 + β1*暴露因子 + β2*交絡因子1 + β3*交絡因子2 + …

をみていきます。

 

β0とはinterceptとよばれ、定数です。

1とか2とか3とか。

 

*ちょっとだけ統計

なぜこれがあるかと言うと、残渣の平均を0にするためでした。

 

conditional logistic regressionは、このβ0を「特殊な変数」としただけのものです。

 

では「特殊な変数」とは?

それは、

マッチングされたグループごとに異なる定数

です。

 

具体例で考えてみるとわかりやすいです。

いってみましょう!

 

 

マッチングした症例対象研究の例

✅例えば、年齢、性別、enrollした年月でマッチングした症例対象研究を考えます。

✅心筋梗塞発症者と未発症者を1:1でマッチングしたとします。

 

この場合、

心筋梗塞発症者Aと未発症者A’の年齢と性別とenrollした年月が同じ

心筋梗塞発症者Bと未発症者B’の年齢と性別とenrollした年月が同じ

···

となっていますね。

 

上から

グループA(二人)

グループB(二人)

····

とします。

 

そしたら「特殊な変数」は

グループAの2人には2

グループBの2人には4

···

「グループごとに異なる値」をとります。

 

これがconditional logistic regressionです!!!

 

*********

 

なお、他の交絡因子に関しては普通のlogistic regressionと同じ。

すなわち、

マッチング要素に入っていない交絡因子(飲酒、喫煙)などは、右辺に足すのです。

 

結果、このようになります:

logit (Y=1) = 特殊な変数 + β1*暴露因子 + β2*交絡因子1 + β3*交絡因子2 + …

 

以上。

おわかりいただけたでしょうか。

 

ではそんなConditional logisticがなんで必要なのか、みていきましょう!

 

 

Conditional logistic regressionのすごい所1:マッチングによる調整

ここで問題です。

マッチング要素である「年齢」を

・普通のlogistic regressionの調整法:右辺に入れる

・conditional logisticの調整法

で扱う場合、どちらが「よりしっかり」調整できるでしょう???

 

 

答えは

👇

👇

conditional logistic regressionです!!

 

より一般的に言えば、

普通の調整法 と マッチングによる調整法

の違いです。

 

普通の調整のモデルだと、例えば年齢と性別のinteractionが考慮されていません

マッチングを行うと、年齢と「モデルに入っているその他全ての因子」のinteractionが考慮されることになります。

どちらが強力な調整法かというと、当然後者ですね!

 

*ただしconditional logistic regressionの場合は、マッチング要素間の完全なinteractionのみ考慮されます。

例えば、上の例でいう年齢(マッチング要素)と喫煙(マッチング要素でない)のinteractionは考慮されません。

ただ、マッチングした症例対象研究ではマッチングした要素でしっかりと調整する必要があるので、conditional logistic regressionが最適なわけです。

 

Conditional logistic regressionのすごい所2:「特殊な変数」を推定しない!

regressionのβを求める方法は、ふつうmaximum likelihood estimation (MLE)によります。

詳細な説明は省きますが、大雑把にはこんな感じです:

 

<MLE>

・ある参加者がいて、その参加者の右辺の情報から、その参加者のアウトカムとなる確率を式で表し(βなどが含まれる)

・それが最大化するようβを定める

(この過程でそれぞれのβに対する微分が関わる)

これをconditional logistic regressionでは

うまい式変形によりマッチング要素についてはMLE推定をせずして、他のβの推定は行う

ということをやります。

これが画期的なわけです!!

 

「マッチング要素で調整」は

logit (Y=1) = 特殊な変数 + β1*暴露因子 

だったわけですが、書き換えるとこうなります:

logit (Y=1) = β1*暴露因子 + β_A*グループA + β_B*グループB + …

 

さて、これでは

マッチング数(この場合はサンプル数の半分)のβ_Aなどを求める必要が出てしまいます!!

それは完全にoverfitです!!

 

ただ、結局知りたいのは「暴露因子のβ(上でいうβ1)」だけなので、β_Aなどはどうでもよいのです。

そしたら推定しないことにする!!!

結果、conditional regressionでは推定するβが少なく、overfitに圧倒的になりにくい=power gainとなる。

*このβ1の求め方を「conditional MLE」と言います。

 

 

注意点:Conditional logistic regressionでは個々の参加者のリスクはわからない!

注意点:Conditional logistic regressionでは個々の参加者のリスクはわからない!

上の説明がわかれば自明ですが、これが大きなポイントです。

普通のロジスティック回帰は、全てのβがわかるので、

右辺を計算することで「その参加者のlogit(Y=1)」が計算できます。

 

オッズからリスクに変換することは容易なので、

その情報から「その参加者のリスクPr(Y=1)」も計算できます(詳細こちら)。

(Rでいう「predict」functionです)

これを計算する方法は、因果推論の様々な用途で用いられます。

 

しかし、conditional logistic regressionの場合は、β_Aなどを計算していません!

つまり、個々の参加者のリスク(なりオッズ)を求めることはできません!!

わかるのはβ1と、普通に調整した変数のβのみ。

これはとっても大事です。

 

 

なんとCOX proportional regressionと原則同じ!

このconditional MLEですが、COX proportional regressionでの推定法「partial log-likelihood」の計算法と同じなのです!

*思い返すと、COX modelでは「baseline hazard」を推定しないのでした(参照こちら

 

症例対照研究は「density-sampling」が基本的に用いられるのでした(詳細こちら)。

density-samplingは

「フォロー開始~アウトカム発症のタイミング」でマッチされている

と考えることができます。

 

その因子のみを用いてconditional logistic regressionを行うと、実質COX proportional regressionをやっていることと同じになるのです!!

 

理由は、大雑把に言えば、

COX modelで得られるハザード比は「フォロー開始~アウトカム発症のタイミング」でしっかり調整された結果

だ、と言うことになります。

 

*density samplingの場合は、症例対照研究の推定値はrate ratioに近似するのでした(詳細こちら)。

COXで求めるhazard ratioはrate ratioの指標でした(詳細こちら

→instant rateかaverage rateかの違いです(詳細こちら

 

なお繰り返しですが、conditional logisticでは「フォロー開始~アウトカム発症のタイミング」に加え他のマッチング因子(年齢、性別など)でもマッチされるので、純粋にCOXの結果と同じにはならないです。当然ですが。

 

 

まとめ

conditional logistic regressionはマッチング因子を強力に調整する方法。

マッチング因子の係数を推定しないのでoverfitになりにくい。

ただし個々のサンプルのリスクはわからない。

純粋なdensity-samplingによる症例対象研究の場合、結果はCOX modelのハザード比と同じ解釈となる。

ではまた。

-疫学・臨床研究

Copyright© Riklog , 2021 All Rights Reserved Powered by AFFINGER5.