반응형

[이론] 로지스틱 회귀분석에서 회귀 계수를 구하는 방법 - Maximum likelihood estimation

 

 선형 회귀 분석에서 회귀 계수를 구하는 방법은 최소 제곱법으로 비교적 직관적이다. 데이터를 가장 잘 설명할 수 있는 직선을 잘 그리면 되는 것이다. 즉 아래 그림에서 오렌지색 선분 길이 제곱의 합이 최소화되는 직선을 찾는 것이다.

 하지만 로지스틱 회귀분석 (logistic regression)에서 회귀 계수를 같은 방법으로 구하는 것은 적절하지 않다. 예를 들어 혈중 ALT에 따른 고혈압 여부에 대한 로지스틱 회귀분석을 실시한다고 하자. 이때 로지스틱 회귀분석에서 결과변수는 이분형 (예시: 고혈압 or 정상)이므로 그래프를 그리면 두 개의 선으로 나타나게 된다. 이런 데이터를 가장 잘 설명하는 하나의 선을 구하는 것은 적절하지 않아 보인다. 따라서 로지스틱 회귀분석에는 maximum likelihood estimation (MLE)라는 방법으로 회귀 계수를 구한다.

 

 

 1. Maximum likelihood estimation이란 무엇인가?

상황 A: 앞면이 나올 확률이 $p$인 동전을 10회 던졌는데 6회 앞면이 나왔다고 하자.

이런 상황이 발생했을 확률은 다음과 같이 표현할 수 있다.

$$ L=p^6 (1-p)^4$$

 

  이 식은 상황 A가 발생할 확률이자 가능도 (likelihood)를 의미한다. 우리는 상황 A를 표현한 위 식에서 $p$값을 유추하고자 한다. 어떻게 해야 할까? 만약 특정 $p$값일 때 10번 중 6번 앞면이 나올 확률(가능도)이 최대가 된다면 그 $p$값으로 유추하는 것이 적절할 것이다. 따라서 가능도를 최대화시키는 과정이 필요하다. 따라서 $ p^6 (1-p)^4$값이 최대가 되어야 하며, 이는 $\frac {\partial L} {\partial p}=0$이 되는 $p$를 찾는 것과 동일하다.  따라서 $p= \frac {6} {10}$이 도출된다. 이것이 Maximum likelihood estimation이다. 

 

2. 로지스틱 회귀분석의 회귀식

 위 내용을 로지스틱 회귀분석에 적용해볼 것이다. 이전에 로지스틱 회귀분석의 회귀식을 먼저 알아야 한다. 회귀식은 다음과 같이 나타난다. 

$$log(odds) = \alpha + \sum_i \beta_i x_i$$

그런데, $odds= \frac {p} {1-p}$이므로 위 식은 다음과 같이 변형될 수 있다.

$$p= \frac {1} {1+ e^{-\alpha-\sum_i \beta_i x_i}}$$

즉 위 식은 어떤 개인에게 이벤트(고혈압 여부)가 존재할 확률을 $\alpha$, $\beta$, $x$로 표현할 수 있음을 의미한다.

 

3. 단순한 예시

계산을 단순화하기 위해서 위 $p= \frac {1} {1+ e^{-\alpha-\sum_i \beta_i x_i}}$식에서 $n=1$인 상황을 생각해보자. 즉 독립변수는 한 개만 존재한다고 생각한다. 그리고 그 독립변수는 이분형 변수라고 생각하자. 예를 들면 음주 여부 (음주자 vs 비음주자)가 있을 수 있다. $x_1$는 음주 여부를 의미하고, 0은 비음주자, 1은 음주자를 의미한다고 하자.

비음주자: $x_1 = 0$

음주자: $x_1 = 1$

 

그리고 $p$는 고혈압일 확률을 의미한다고 하자. 그러면 다음과 같은 분할표를 작성할 수 있고, 각각 해당하는 사람의 수는 $a$, $b$, $c$, $d$라고 하자.

  고혈압 환자 정상인
음주자 ($x_1 = 1$) $a$ $b$
비음주자 ($x_1 = 0$) $c$ $d$

 

4. 음주 여부에 따른 고혈압일 확률

어떤 누군가가 고혈압일 확률은  $p= \frac {1} {1+ e^{-\alpha- \beta_1 x_1}}$이다. 비음주자는 $x_1 = 0$, 음주자는 $x_1 = 1$이므로 다음을 구할 수 있다.

비음주자가 고혈압에 걸릴 확률: $ \frac {1} {1+ e^{-\alpha}}$

음주자가 고혈압에 걸릴 확률: $ \frac {1} {1+ e^{-\alpha-\beta_1}}$

 

비음주자 (혹은 음주자)가 고혈압에 안 걸릴 확률은 1에서 위 확률을 빼주면 되므로 다음을 구할 수 있다.

 

비음주자가 정상인일 확률: $1- \frac {1} {1+ e^{-\alpha}}$

음주자가 정상인일 확률: $1- \frac {1} {1+ e^{-\alpha-\beta_1}}$

 

5. 가능도 (likelihood) 계산하기

 위 분할표와 같이 딱 $a$, $b$, $c$, $d$이 위 표에 존재할 확률(가능도)은 얼마일까?

 

1) 먼저  음주자가 $a$명이 고혈압에 걸릴 확률을 계산해 보겠다.

음주자 1명이 고혈압에 걸릴 확률은 $ \frac {1} {1+ e^{-\alpha-\beta_1}}$이다.

음주자 $a$명이 고혈압에 걸릴 확률은 $ \frac {1} {1+ e^{-\alpha-\beta_1}}$을 $a$번 곱한 $\left( \frac {1} {1+ e^{-\alpha-\beta_1}}\right)^a$이다.

 (연구대상들이 고혈압에 걸리는 사건들은 모두 독립이라는 가정이 필요하다. 동전이 앞면이 나오면서 주사위에 1이 나올 확률을 구할 때 그저 $\frac{1}{2}$에 $\frac{1}{6}$을 곱할 수 있는 이유는 동전을 던지는 것과 주사위를 던지는 것이 서로 아무런 영향을 주지 않는 '독립'이기 때문이다. 음주자 $a$명을 다룰 때에도 $a$번 곱하여 확률을 구할 수 있다는 데에는 고혈압에 걸리는 사건들이 전제조건이 필요하다. 따라서 유전 정보를 공유하는 가족이나 쌍둥이 등이 연구대상에 있다면 가정을 만족하지 않을 수 있다.)

 

2) 음주자 $b$명이 고혈압에 걸리지 않을 확률은 $\left( 1- \frac {1} {1+ e^{-\alpha-\beta_1}} \right)$ $b$번 곱한 $\left( 1- \frac {1} {1+ e^{-\alpha-\beta_1}}\right)^b$이다.

 

3) 비음주자 $c$명이 고혈압에 걸릴 확률은 $ \frac {1} {1+ e^{-\alpha}}$을 $c$번 곱한 $\left( \frac {1} {1+ e^{-\alpha}}\right)^c$이다. 

 

4) 비음주자 $d$명이 고혈압에 걸리지 않을 확률은 $\left( 1- \frac {1} {1+ e^{-\alpha}}\right) $을 $d$번 곱한 $\left( 1- \frac {1} {1+ e^{-\alpha}}\right)^d$이다. 

 

 

가능도

 그렇다면, 가능도($L$)는 위에서 계산한 값을 모두 곱하여 구할 수 있다.

$$L=\left( \frac {1} {1+ e^{-\alpha-\beta_1}}\right)^a  \left( 1- \frac {1} {1+ e^{-\alpha-\beta_1}}\right)^b \left( \frac {1} {1+ e^{-\alpha}}\right)^c \left( 1- \frac {1} {1+ e^{-\alpha}}\right)^d $$

 

6. 가능도 최대화 하기 : Maximum likelihood estimation

 가능도가 최대화되어 있다면, 가능도는 극대점에 있을 것이므로, 미분하였을 때 0이 될 것이다.

따라서 다음 식이 성립한다.

$$\frac {\partial L} {\partial \alpha}=0$$

$$\frac {\partial L} {\partial \beta_1}=0$$

위 두 식이 성립하는 $\alpha$와 $\beta_1$값을 구하는 것이 목적이다.

 

그런데 이 식은 계산을 하기가 성가시다. 대신에, $L$에 로그를 씌운 $LL=log(L)$에 대해 다음을 만족하는 $\alpha$와 $\beta_1$값을 구한다고 하자.

$$\frac {\partial LL} {\partial \alpha}=0$$

$$\frac {\partial LL} {\partial \beta_1}=0$$

아래 두 식으로 구한 $\alpha$와 $\beta_1$값과 위 두 식으로 구한 $\alpha$와 $\beta_1$값은 정확히 일치하는데, 아래 두 식은 계산하기가 훨씬 수월하다. 

 

연립 방정식을 통하면 다음을 알 수 있다.

$$\begin{align} \alpha&=\log\frac{c}{d} \\ \beta_1&=\log\frac{ad}{bc}=\log\left(OR\right)\\&&\end{align}$$

 

복잡한 식도 비슷하게 구하면 회귀계수들을 계산해낼 수 있다.

 

 선형 회귀분석은 손으로 직접 회귀계수를 구하는 방법들이 많이 언급되어 있던데, 로지스틱 회귀분석의 경우 언급된 경우가 많지 않아 본 포스팅을 작성해 보았다. 본 글에서 확인할 수 있듯이, 여기에서는 변수의 정규성 등을 가정하지 않았다. 따라서 선형 회귀분석과는 달리 로지스틱 회귀분석에서는 잔차의 정규성을 전제하지 않는다.

 

[이론] 로지스틱 회귀분석에서 회귀 계수를 구하는 방법 - Maximum likelihood estimation 정복 완료!

작성일: 2022.11.25.

최종 수정일: 2023.05.15.

반응형

+ Recent posts