Recent Posts
Recent Comments
Archives
반응형
250x250
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today
Yesterday

Total
05-05 03:02
관리 메뉴

Hey Tech

[통계] 로지스틱 회귀분석(Logistic Regression)의 이해 본문

AI & 빅데이터/데이터 분석 with 통계

[통계] 로지스틱 회귀분석(Logistic Regression)의 이해

Tony Park 2021. 7. 29. 23:58
728x90
반응형

📚 목차

1.  로지스틱 회귀분석 정의
2.  로지스틱 회귀분석의 등장 배경
3.  Odds(오즈 또는 승산) 및 Odds Ratio (오즈비 또는 승산비)
    3.1.  Odds(오즈 또는 승산)
    3.2.  Odds Ratio (오즈비 또는 승산비)
4.  연결함수(Link Function)
5.  우도(가능도, Likehood)

1.  로지스틱 회귀분석 정의

로지스틱 회귀분석은 설명변수(독립변수, X)와 범주형 목표변수(종속변수, Y) 간의 관계를 모형화하여 목표변수를 분석하거나 분류하는 통계적 방법론입니다. 특히, 로지스틱 회귀분석을 활용한 분류(classification) 문제에서는 목표변수를 직접 예측(prediction)하는 것이 아닌 2개의 클래스(e.g., '성공' or '실패') 중 하나의 클래스로 예측할 때 사용됩니다(i.e., Binary Classification).

2.  로지스틱 회귀분석의 등장 배경

로지스틱 회귀분석의 등장 배경을 알기 위해서는 먼저 로지스틱 함수(Logistic Function)에 대해 알아야 합니다. 로지스틱 회귀분석은 \(k\)개의 설명변수가 주어졌을 때 어떤 이벤트 A가 발생할 확률 \(p(X)\)를 아래와 같이 모델링합니다.

 

$$ p(X) = P(Event A | X1, X2, ..., X_k) = \beta_0 + \beta_1 X_1 + ... + \beta_k X_k + randome error(\epsilon) $$

 

위의 방정식에서 좌측 항 값의 범위는 \([0, 1]\)인 것에 반해, 우측 항은 다중 선형회귀식을 포함하기 때문에 값의 범위는 \([-\infty, +\infty]\)입니다.

 

따라서 좌측 항과 우측 항의 범위를 일치시키기 위해 좌측 항에 자연 로그를 취해 줍니다. 이제 좌측 항인 \(ln(p(X))\) 값의 범위가 \([-\infty, +\infty]\)을 만족하기 위해서는 \(p(X)\)가 \([0, +\infty]\) 범위 내에 있어야 합니다(그림 1 참고).

 

그림 1. 자연 로그 \(y = ln x\) 그래프 (그림 출처: https://c11.kr/qxk2)

 

하지만 \(p(X)\)는 \([0, 1]\) 범위 내의 값을 갖기 때문에 사실상 \(ln(p(X))\)은 \(+\infty\) 값을 가질 수 없습니다. 이를 보완하기 위해 \(p(X)\)을 \(\frac{p(X)}{1-p(X)}\)으로 치환하여 좌측 항을 아래와 같이 변형해 주어야 하며, 아래의 방정식을 logit이라고 부릅니다.

 

$$ logit = ln(\frac{p(X)}{1-p(X)}) = \beta_0 + \beta_1 X_1 + ... + \beta_k X_k + \epsilon $$

 

이제 \(Y = p(X) = \frac{p(X)}{1-p(X)}\)라는 조건에서 위의 방정식을 정리하면 최종적으로 아래와 같이 목표변수를 정의할 수 있습니다.

 

$$  Y = p(X) = \frac{e^{\beta_0 + \beta_1 X_1 + ... \beta_k X_k}}{1 + e^{\beta_0 + \beta_1 X_1 + ... \beta_k X_k}} $$

 

위의 수식을 아래와 같이 간단하게 표기할 수 있으며 아래 식을 로지스틱 함수(Logistic Function) 또는 시그모이드 함수(Sigmoid Function)라고 부릅니다.

 

$$ Y = p(X) = \frac{e^{x}}{1+e^{x}} $$

 

3.  Odds(오즈 또는 승산) 및 Odds Ratio (오즈비 또는 승산비)

3.1.  Odds(오즈 또는 승산)

로지스틱 회귀분석에서 임의의 설명변수의 추이에 따른 목표변수의 추이를 표현할 때 주로 사용되는 것이 오즈(Odds)와 오즈비(Odds ratio)입니다. 오즈란 임의의 이벤트가 어떤 요인에 의해 발생하지 않을 확률 대비 발생할 확률을 말합니다. 아래와 같이 임의 이벤트가 발생할 확률을 \(p\)라고 했을 때 오즈는 다음과 같이 계산할 수 있습니다.

 

$$ Odds = \frac{(이벤트 발생 확률)}{(이벤트 미발생 확률)} = \frac{p}{1-p} $$ 

3.2. Odds Ratio(오즈비 또는 승산비)

Odds Ratio는 특정 요인의 여부에 따른 이벤트 발생 확률을 비교할 때 사용되는 척도로서 말 그대로 오즈 간의 비율을 의미합니다.

>

아래와 같이 어떤 요인의 노출 여부에 따른 질병 감염률을 오즈비를 통해 계산할 수 있습니다.

 

$$ Odds Ratio = \frac{Odds(요인 노출 and 감염)}{Odds(요인 미노출 and 감염)} = \frac{\frac{노출 and 감염}{노출 and 비감염}}{\frac{미노출 and 감염}{미노출 and 비감염}}= \frac{\frac{a}{a+b}}{\frac{b}{a+b}} / \frac{\frac{c}{c+d}}{\frac{d}{c+d}} = \frac{ad}{bc} $$ 

오즈비 활용 예시

먼저, 오즈비 값의 범위에 따라 설명변수가 영향을 미치는 방향성에 차이가 있습니다.

 

- \(Odds Ratio < 1\)인 경우, \(x\)가 감소하는 방향으로 목표변수에 영향을 미칩니다.

- \(Odds Ratio > 1\)인 경우, \(x\)가 증가하는 방향으로 목표변수에 영향을 미칩니다.

예시1

특정 이벤트가 발생하는 확률을 \(p\)라고 했을 때, \(\beta_i = 3\)인 경우, \(exp(\beta_i) = 20.085537\)로서 \(x_i\)가 \(1\) 증가할 때 특정 이벤트가 발생하지 않을 확률 대비 이벤트가 발생할 확률의 상대적인 비율은 약 20배 증가한다고 해석할 수 있습니다.

예시2

탈모에 걸린 집단과 그렇지 않은 집단에서 약물남용(i.e., 위험요소) 여부에 따라 약물남용이 탈모와 연관된 위험요소인지 파악해 보겠습니다.

약물남용 (위험 요소) 탈모 발생
Yes (환자군) No (대조군)
Yes 79 (TP) 19 (FP)
No 152 (FN) 178 (TN)

위에 탈모와 약물 남용 유무에 따른 참가자 수가 명시되어 있는 표를 기반으로 오즈 비율을 계산하면 다음과 같습니다.

 

$$ Odds Ratio = \frac{79*178}{152*19} = 4.87 $$

 

따라서 약물 남용 그룹에서 탈모가 발생할 오즈는 약물 남용하지 않은 그룹에서 탈모가 발생할 오즈의 \(4.87\)배 높다고 해석할 수 있습니다.

4.  연결함수(Link Function)

연결함수란 범주형 목표변수 수준의 확률을 연속형 척도로 변환하는 함수로 변환하고 목표변수와 설명변수의 관계를 선형 회귀분석을 활용해 모델링하는 함수를 의미합니다. 대표적인 연결함수로는 Odds에 로그와 같은 연결 함수를 취한 로짓(logit)이 있습니다.

연결함수 유형

모델 연결함수명 연결함수
이항, 순서형, 범주형 로짓(logit) \(ln(\frac{p_i}{1 - p_i})\)
이항, 순서형 프로빗(probit) \(\phi^{-1}(p_i)\)
포아송 분포 자연로그 \(ln(-ln(1-p_i))\)
포아송 분포 제곱근 \(\sqrt{p_i}\)

- 범주형 로지스틱 회귀모델: 목표변수의 범주가 3개 이상인 경우 로지스틱 회귀모델로 이항 로지스틱 모델의 확장

- 순서형 로지스틱 회귀모델: 목표변수가 순서를 가질 때 사용하는 로지스틱 회귀모델로, 정규분포의 누적분포 함수(PDF)인 프로빗 연결함수 사용

5.  우도(가능도, Likehood)

우도(Likehood)는 표본 \(x\)를 바탕으로 모수가 (\(\theta\))인 확률분포를 추정하는 기법입니다. 즉, 특정 \(x\)(결정된 상수)가 발생하였을 때 이 경우의 확률인 \(\theta\) 값(변수)을 구할 때 사용됩니다. 다음과 같이 표기할 수 있습니다.

 

 \(L(\theta) = f_x(x|\theta)\) (확률밀도함수)

예시

*아래 예시는 블로그 포스팅을 참고하여 작성되었으며 그림 자료 역시 해당 포스팅에서 가져왔음을 미리 밝힙니다.

 

특정 이벤트가 발생할 확률이 \(p\)인 베르누이 시행을 \(n\)번 반복했을 때 동전의 앞면이 나오는 횟수의 분포는 이항분포를 따릅니다. 여기서 미지의 모수인 \(\theta\)는 특정 이벤트가 발생할 확률로서 \(p\)인 셈입니다. 이항분포 확률 함수는 이벤트 발생 확률 \(p\)인 이항분포에서 뽑은 표본(i.e., 결정된 상수) \(x\)를 활용하면 아래와 같이 구할 수 있습니다.

 

$$ p(x) = {n \choose x}p^x (1-p)^{n-x} $$

 

특정 이벤트가 발생할 확률 \(\theta\)가 \(0.5\)라고 가정하고, 총 \(n\)번의 독립시행 중 결정된 상수인 표본 \(x\)는 56이라고 가정하여 우도를 계산하면 다음과 같습니다.

 

$$ p(X = 56 | \theta = 0.5) = {100 \choose 56}0.5^{56}0.5^{44} \approx 0.0389 $$

 

위의 방법처럼 모수  \(\theta\) 값을 변경해 가며 우도를 계산하면 다음과 같습니다.

\(\theta\) likelihood
0.48 0.0222
0.50 0.0389
0.52 0.0587
0.54 0.0739
0.56 0.0801
0.58 0.0738
0.60 0.0576
0.62 0.0378

이를 그래프로 시각화하면 아래와 같습니다.

이항분포의 확률함수와 그래프를 통해 확인할 수 있듯이 미분이 가능하기 때문에, \(\theta\)에 대해 편미분하여 기울기가 0이 되는 지점을 구하면 우도를 최대화하는 \(\theta\)를 구할 수 있습니다. 만약 미분이 불가능한 경우라면 그래디언트 디센트 등 반복적이고 점진적인 방법으로 \(\theta\)를 추정해야 합니다.


오늘은 로지스틱 회귀분석에 대한 개념적인 부분에 대해 알아봤습니다.

포스팅 내용에 오류가 있을 경우 댓글 남겨주시면 감사드리겠습니다.

그럼 오늘도 건강하고 즐거운 하루 보내시길 바랍니다.

고맙습니다 :-)

728x90
반응형
Comments