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

9.6 ロジスティック曲線

(1) ロジスティック曲線とロジット

判別関数による群の判別は判別スコアの正・負によって行う「All or Nothing」のものであり、まるでお役所の窓口のように愛想も何もありません。 そのため、もう少し色をつけた情報が欲しいと思う人もいるでしょう。 そこで判別スコアを利用して、被検者が特定の群に属す確率を求める手法が考えられています。

詳しい原理は(注1)を見ていただくとして、判別スコアから群1に属す確率pを求める式は次のようになり、この式によって表される曲線をロジスティック曲線(logistic curve)といいます。 またこの式から、群1に属す確率と属さない確率のオッズを自然対数変換した値すなわち対数オッズと判別スコアの関係が一次式として導かれます。 この対数オッズのことをpのロジット(logistic unit)と呼び、発生率を直線で近似する時によく用います。 (注1)


     

p:群1に属す確率  π1:群1の事前確率  l(エル):ロジット(対数オッズ)

群1が疾患群で群2が正常群の場合、この式で計算されるpは、被検者の判別スコアがzの時にその人が疾患である確率になります。 つまり第2節で説明した陽性予測値のような値になるわけです。 ただし陽性予測値は検査結果が陽性になった被検者全体を対象にした確率であるのに対して、この場合のpは判別スコアが特定の値になった被検者を対象にした確率であるところが少し違います。 つまり陽性予測値は検査結果が陰性・陽性という2分類データの時の予測確率であるのに対して、この場合のpは検査結果が計量データの時の予測確率ということになります。

理論的もしくは経験的に群1に含まれる確率がわかっている時、その確率のことを事前確率といい、上式のπ1に代入します。 これは陽性予測値を計算する時に一般的な有病率つまり疾患の事前確率が必要だったことと同じです。 表9.1.1でいえば、動脈硬化症の有病率が例えば10%とわかっている時は、それを事前確率としてπ1に代入して次のようになります。

事前確率が不明の時は、計算に用いたデータの例数から次のようにして求めます。

π 1 = 群1の例数 全例数 = 群1の例数 群1の例数+群2の例数

ただし表9.1.1のように動脈硬化症患者と正常者を任意の例数だけ集めた時は、上式で求めた事前確率を任意の値にすることができてしまいます。 したがって上式で求めた事前確率が意味を持つのは、動脈硬化症の有病率または発症率がそのまま反映されているデータを用いた時だけです。 そのようなデータは、全体の例数だけを指定して対象をサンプリングし、それを動脈硬化症群と正常群に分けた場合つまり横断的研究で得られたデータか、動脈硬化症を発症していない集団を長期間観測し、その中で動脈硬化症を発症した対象を動脈硬化症群とした場合つまりコホート研究(前向き研究)で得られたデータが相当します。

判別分析は境界値と診断率を求める手続きを一般化した手法であり、判別関数が境界値に相当し、判別確率が診断率に相当します。 そして全体の例数が同じなら、2群の例数が等しい時に最も効率的に判別関数を求めることができます。 そのため判別分析を適用するデータは、あらかじめ疾患か正常かがわかっている被験者を同じような例数だけ集め、それらの対象について色々な検査項目を観察するという症例対照研究で得るのが普通です。

例えば表9.1.1のデータは動脈硬化症であることがわかっている人を10例集め、それと同じような背景因子を持つ正常者を15例集め、それらの人についてTCとTGを観測したものです。 したがって判別分析を適用するデータは、陽性予測値を求める時と同様に計算に用いたデータの例数から事前確率を求めるのは不適切な場合が多いので注意が必要です。

表9.1.1のデータについて、動脈硬化症の事前確率を0.1としてロジスティック曲線を描くと図9.6.1のようになります。

図9.6.1 判別スコアとロジスティック曲線

図9.6.1においてp = 1のところにプロットされている点は、表9.1.1の動脈硬化症群について判別スコアを計算し、それをプロットしたものです。 そしてp = 0のところにプロットされている点は、正常群について判別スコアを計算し、それをプロットしたものです。 この例題では全例が正しく判別されるので、z = 0を境にしてものの見事に左右に分離しています。 しかし実際のデータでは両群のプロットが多少オーバーラップすることが多く、その部分が誤判別例になり、その割合が誤判別確率になります。

具体的な例について計算してみましょう。 動脈硬化症かどうか不明な人についてTCとTGを測定し、それが210と125だったとします。 この人について判別スコアと動脈硬化症である確率を求めると次のようになります。

z = -61.1636 + 0.3352×210 - 0.0749×125 = -0.1341 < 0 より正常と判別

π1に対する相対リスク:

上記のように判別スコアが負ですから、普通はこの人を正常と判別します。 しかしロジスティック曲線を利用すると、

「この人が動脈硬化症である確率は9%程度である」

と確率的に表現することができ、よりきめの細かい予測が可能になります。

ちなみに判別スコアが負ということはロジスティック曲線によって求めた確率値が事前確率0.1よりも小さいということと等価であり、事前確率に対する相対リスクが1よりも小さくなります。 そして判別スコアが0の時、ロジスティック曲線によって求めた確率値は事前確率の値そのものになり、事前確率に対する相対リスクは1になります。 そのため確率的表現の代わりに、次のように相対リスクで表現することもできます。

「この人の動脈硬化症についての相対リスクは約0.9である」

ロジスティック曲線による確率的表現は、ちょうど天気予報で「明日の天気は晴でしょう」と表現する代りに、「明日の雨の降る確率は5%です」と表現することと同じようなものです。 このような確率的表現は何となく数学臭く、感覚的に馴染めない人もいると思います。 しかし確率的表現を用いると、この例のように判別スコアの絶対値が小さくて動脈硬化症である確率が事前確率に近い時は、無理にどちらかに判別せずに結論を保留するなり、時と場合に応じて結論を変えるなりして柔軟な対応をすることが可能なので便利です。

またTGの値を例えば100と固定して、TCの値を適当に変えると次のようになります。

○TC = 200、TG = 100
z = -61.1636 + 0.3352×200 - 0.0749×100 = -1.6136

○TC = 205、TG = 100
z = -61.1636 + 0.3352×205 - 0.0749×100 = 0.0624

TC = 200に対する相対リスク:
○TC = 210、TG = 100
z = -61.1636 + 0.3352×210 - 0.0749×100 = 1.7384

TC=205に対する相対リスク:

この結果から、TCが5高くなると動脈硬化症の相対リスクが4〜5になる、つまり動脈硬化症の危険性が4〜5倍になる——ロジスティック曲線はシグモイド型(S字状)の曲線なので、TCの上昇幅が同じでも、元になるTCの値によって相対リスクの値が多少異なる——ことがわかります。 このようなシミュレーションは、疾患が虚血性心疾患や癌などで、データが酒やタバコなどのリスクファクターの時には重要な意味を持ち、病気を予防するための具体的な注意事項として大いに役立ちます。

(2) 各種の確率の解釈

判別分析ではただでさえわかりにくい「確率」などというシロモノが次々と登場し、頭がこんがらがるといけないのでここでもう一度整理しておきましょう。 まず「ロジスティック曲線によって求めた確率」は検査結果が計量データの時の陽性予測値に相当し、ある特定の判別スコアを持つ人が、どの程度の確率で目的の群に含まれるかを表す値です。 具体例では、判別スコアが-0.1341でロジスティック曲線によって求めた確率が9%だったので次のように推測されます。

「-0.1341という判別スコアを持つ人は約9%の確率で動脈硬化症である」

つまり-0.1341という判別スコアを持つ人が100人いれば、そのうち9人は動脈硬化症であり、残りの91人は正常であると推測できることになります。 この時、その100人の人達を、

「判別スコアが負だから、この人は正常である」

または、

「動脈硬化症である確率が事前確率10%よりも小さいから、この人は正常である」

と判別すると、91人は正しく判別でき、9人は間違って判別することになります。 したがってロジスティック曲線によって求めた確率は、ある特定の判別スコアについてだけ成り立つポイント的な確率です。 そのためこの確率は判別スコアの値によって変化します。

一方、動脈硬化症の母集団全員と正常群の母集団全員について判別スコアを計算すると、負の非常に小さな値から正の非常に大きな値まで色々な値になります。 そしてそれらの全員について、

「判別スコアが負だから、この人は正常である」

あるいは、

「判別スコアが正だから、この人は動脈硬化症である」

と判別すると全体の97%の人が正しく判別でき、残りの3%の人が間違って判別されることになります。 これが「判別確率が97%」または「誤判別確率が3%」ということです。

つまり判別確率と誤判別確率は判別スコアを0で陽性と陰性に2分した時の正診率と誤診率に相当し、母集団に対して成り立つ全体的な確率です。 そのためこの確率は判別スコアの境界値によって変化しますが、判別スコアの値とは無関係に一定です。

「事前確率」は目的の群に属す理論的または経験的な確率であり、ある人について何のデータも得られていない時、その人が目的の群に含まれる確率を表します。 例えば動脈硬化症の一般的な有病率が10%だとすると、何のデータも得られていない人の場合は、

「この人が動脈硬化症である確率は10%である」

としかいえず、これが事前確率になります。 しかしTCが210でTGが125というデータが得られている時は、

「この人が動脈硬化症である確率は9%程度である」

といえることになります。

一言でいえば、判別スコアをロジスティック曲線によって確率に変換した値は、ある特定の個人が目的の群に属す確率であり、判別確率は判別スコアを利用して母集団全員を判別した時の全体的な正診率を表すのものである、ということになります。


(注1) 多変量正規分布に従う2つの母集団g1とg2があり、そのどちらに属すのか不明な個体についてデータoが観測されていたとします。 この個体がg1またはg2からサンプリングされる確率、つまりそれぞれの母集団の尤度はℒ(μ1,Σ1|o)、ℒ(μ2,Σ2|o)で表されます。 群がg1とg2の2つだけで、この個体が必ずそのどちらかに属す時、g1の事前確率をπ1とすると、この個体がg1に属す逆確率pはベイズ(Bayes)の定理より次のようになります。 (→付録6 ベイズ統計学)

2群の母共分散行列が等しくてΣ1 = Σ2 = Σとすると、第4節の(注3)より次のようになります。

判別関数:

これがロジスティック関数であり、図9.6.1のような単調増加の性質を持つシグモイド型(S字状)の曲線になります。 この式は第2節(注2)の陽性予測値の式と同じようにベイズの定理から導かれたので同じような型式になっています。

ロジスティック曲線は、元々は人口予測のための関数として1883年にピエール=フランソア・フェルフルスト(Pierre-François Verhulst)によって提唱されたものです。 フェルフルストは、ある時点における人口の増加速度がその時の人口と、最大値に対する増加可能人口の割合に比例すると考えて次のような微分方程式を立てました。


y = f(t):時点tにおける人口  M:人口の最大値  c:比例定数

これはロジスティック方程式と呼ばれるものであり、その解は次のようになります。

  
  (K:積分定数)

ここで、t = 0の時の初期値y0 = f(0) > 0より——これは人口の初期値が0より大きい、つまり人類の始祖として最初にアダムとエバもしくはイザナギとイザナミ、あるいはアフリカ大陸にいたルーシーが必要であることを意味している……とでも思ってください——次のようになります。

  
図9.6.2 ロジスティック曲線

これが本来のロジスティック曲線です。 人口に限らず各種の生物の増加や生物の成長がこの曲線で近似できるので、別名成長曲線とも呼ばれています。 また酵素反応における基質の対数濃度と反応速度の関係や、薬物の対数用量と薬理反応の関係もこの曲線で近似できるなど生物学と縁の深い曲線です。 前述のように導出原理は異なりますが、この一般的なロジスティック曲線において人口yを確率pに、時間ctを判別スコアzに、最大値Mを1に、初期値y0を事前確率π1にすると判別分析におけるロジスティック曲線になります。

判別分析では判別関数を求めてから判別スコアを求め、それによってロジスティック曲線を導きます。 その逆にロジスティック関数から導かれる対数オッズつまりロジットと判別スコアの線形関係に基いて、ロジットを目的変数とした重回帰式を定義し、最尤法を用いて偏回帰係数を求める方法も考えられます。

これが第1節の最後で少し説明したロジスティック回帰分析です。 この手法は疾患のリスクファクターを分析する目的で開発されたので、主に医学分野で用いられます。

ロジスティック回帰分析は判別スコアを説明変数にし、ロジットを目的変数にした重回帰分析に相当します。 そのため説明変数である判別スコアには誤差がなく、目的変数であるロジットにだけ誤差があるという前提で計算します。 そして事前確率を設定せず、計算に用いたデータの例数から事前確率を求めて、それを切片β0に反映します。 したがってこの手法を厳密に適用できるのはコホート研究のような前向き研究で得られたデータだけであり、症例対照研究のような後ろ向き研究で得られたデータに適用することはできません。

その反対に判別分析を厳密に適用できるのは後ろ向き研究で得られたデータだけであり、前向き研究で得られたデータに適用することはできません。 何故なら判別関数は確定した2群の尤度に基づいて求めたものであり、ロジットの元となる群の分類には誤差がなく、判別スコアの元となる検査項目の値にだけ誤差があるという前提で計算するからです。 ロジスティック回帰分析については第10章で説明します。 (→第10章 ロジスティック回帰分析)