이전글
1. 들어가며
이전글에서 로지스틱회귀 모델이 필요한 이유를 설명했다. 이번 글에서는 로지스틱회귀 모델 수식에 대해 살펴보자. 수식이 만들어지는 원리를 알아두면 로지스틱 회귀를 해석하는데 도움이 될 것이다. 아래 데이터는 이전글에서 설명했던 데이터와 동일하다.
시간 | 성적 | 합격 | 불합격 | 총인원 | 합격확률 |
0 | 25 | 1 | 17 | 18 | 0.06 |
1 | 30 | 1 | 15 | 16 | 0.06 |
2 | 40 | 1 | 14 | 15 | 0.07 |
3 | 50 | 3 | 20 | 23 | 0.13 |
4 | 75 | 5 | 5 | 10 | 0.50 |
5 | 70 | 8 | 3 | 11 | 0.73 |
6 | 85 | 8 | 1 | 9 | 0.89 |
7 | 90 | 9 | 1 | 10 | 0.90 |
8 | 100 | 9 | 1 | 10 | 0.90 |
2. 최대가능도추정법
주어진 데이터를 가장 잘 대표하는 시그모이드 곡선 수식을 도출하기 위해서는 최대가능도추정법(MLE : Maximum Likelihood Estimation)을 이용한다. 최대가능도추정법에 대해 예를 들어 이해해보자.
예를 들어 동전을 4번 던졌을 때 앞이 2번, 뒤가 2번인 결과가 나올 확률을 생각해 보자. 이를 위해 기본적인 확률 공식 하나를 소개한다. 사건A와 사건B가 독립일 때, 즉 서로 영향을 미치지 않을 때 사건A와 사건B가 동시에 발생할 확률은 다음과 같다.
P(A∩B) = P(A) × P(B)
동전의 앞이 나올 확률을 P, 뒤가 나올 확률은 (1-P)라고 하면 위의 식에 따라 동전을 4번 던져 {앞, 앞, 뒤, 뒤}가 나올 확률은 다음과 같다.
P(앞∩앞∩뒤∩뒤) = P(앞)×P(앞)×P(뒤)×P(뒤)
= P×P×(1-P)×(1-P) = P^2 × (1-p)^2 = P^2 - P^4
동전을 던져 앞이 나올 확률이 이론적으로 0.5라고 알고 있으므로 위의 식에 P대신 0.5를 대입하면 확률을 계산할 수 있습다.
이번에는 일반적인 동전이 아니라서 한 번 던졌을 때 앞과, 뒤가 나올 확률을 모른다고 가정하자. 확률을 모르는 상태에서 일단 던졌더니 {앞, 앞, 앞, 뒤}라는 결과를 얻었다고 하자. 앞이 3번, 뒤가 1번 나왔다. 이때 {앞=3번, 뒤=1번}이라는 실제 결과(표본)가 나올 가능성을 가장 크게 하는 p값이 무엇인지 거꾸로 추정할 수 있다. 즉 p값이 [추정값]이기 때문에 현재의 {앞=3번, 뒤=1번} 결과를 얻었다고 생각할 수 있다. 이 경우,
P(앞∩앞∩앞∩뒤) = P×P×P×(1-P)
= P^3×(1-p)^1 = P^3 - P^4
에서 (P^3 - P^4 )가 가능도(Likelihood)이며 가능도를 최대로 만드는 P를 구하면 된다. P를 구하면 0.75이다.
이제 동전이 앞이 나오는 경우를 합격으로, 뒤가 나올 경우를 불합격으로 바꿔 생각해보자. 그런데 동전 던지기와는 달리 합격/불합격 결과는 공부 시간이라는 변수(X)를 고려해야 한다. 위의 표에서 공부시간(X) = 0 일 때 합격=1, 불합격=17 이라는 실제 결과를 얻었다. 따라서 이 경우 확률은 p^1*(1- p)^17이다. 이때 P는 공부 시간이라는 변수를 포함하는 확률이고 시그모이드 형태의 함수라고 했다. 따라서 위의 식은 아래와 같이 고쳐 생각할 수 있다.
위의 식에서 각 X(공부시간)에서의 우변을 모두 곱하면 가능도 함수가 되며 이 가능도 함수를 최대로 만드는 a, b를 구하면 로지스틱회귀 수식을 구할 수 있다.
3. 로지스틱회귀 계수 이해하기
직선 Y= aX + b 에서는 a가 대각선의 기울기이고 X 한 단위가 바뀌면 Y는 a만큼 변한다는 사실을 직관적으로 알 수 있었다. 로지스틱 회귀에서는 회귀계수의 의미를 이해하기 위해 약간의 논리 전개 과정이 필요하다. 시그모이드 곡선을 수식으로 나타내면 아래와 같다. 좌변 P(X)는 공부시간이 X일 때 합격할 확률이다.
이 식의 우변을 ax+b 형태로 나타내기 위해 식을 변형하자. 우변의 분모를 양변에 곱한 후 아래와 같이 정리할 수 있다.
여기에서 양변에 자연로그를 취하면 식은 ax + b에 관한 식으로 변경된다.
이렇게 해서 식의 우변은 직선의 식으로 변환되었다. 식을 이용해 X가 한 단위 변하면, 예를 들어 1에서 2로 변하면 (2a+b) - (1a+b) = a 이므로 우변이 a만큼 변한다는 것을 알았다. 다음에는 좌변을 살펴 보자.
우선 로그는 제외하고 P(X) / (1- P(X)) 의 의미만 생각해 보자. 분자 P(X)는 공부시간이 X시간일 때 합격할 확률이다. 합격/불합격 둘만 존재하고 두 가지 확률의 합은 1이므로 분모 1-P(X)는 불합격 확률이다. 따라서 식은 다음과 같이 해석할 수 있다.
위의 식과 같은 값을 오즈비(odds ratio) 또는 승산비라고 한다. 위의 표에서 공부 시간이 9시간일 때 합격 확률은 0.9, 불합격 확률이 0.1이므로 승산비는 0.9/0.1 = 9이다. 공부 시간이 9시간이면 합격할 확률이 불합격할 확률보다 9배가 많다는 이야기다.
이제 좌변을 로그를 포함해서 생각해 보자. <식 1>은 X가 한 단위 변하면 log(승산비)가 a만큼 변한다는 의미다. 여기서 고등학교 수학 공식을 하나 빌려 오자.
logx = y 일 때, x = Exp(y)
따라서 log(승산비) = a 일 때, (승산비) = Exp(a)
이제 로지스틱 회귀에서 회귀 계수 a의 의미가 밝혀졌다. 즉 X가 한 단위 변할 때 승산비가 Exp(a)만큼 변한다는 의미다. 이번 예제에서는 공부 시간이 1시간 증가하면 승산비가 Exp(a)만큼 증가한다.
승산비가 1보다 커진다는 이야기는 합격할 확률이 불합격할 확률보다 높아진다는 의미다. 반대로 1보다 작으면 불합격 확률이 더 높다는 의미다. 결국 X 한 단위의 변화가 합격 또는 불합격 확률 어느 쪽을 증가시키는지 알 수 있다. 참고로 log(승산비)를 로짓(logit)이라고 부른다. 로지스틱 회귀라는 명칭은 여기에서 나왔다.
<그림 1>은 결과변수가 합격/불합격인 범주형 변수에서 확률을 거쳐 로짓으로 변화시켜 생각하는 과정을 나타낸 것이다. 결과변수 Y를 로짓으로 변화시키면 X의 증가가 Y에 어떻게 영향을 미치는지 시각적으로 쉽게 파악할 수 있다. 이번 예제에서는 공부시간(X)이 증가하면 승산비가 증가한다는 사실을 알 수 있다. 엄밀한 해석은 아니지만 공부시간이 늘어나면 합격 확률이 높아진다고 생각하면 된다.
이번 예제에서는 변수를 공부시간 하나만 생각했지만 여러 변수를 넣어서 생각할 수 있다. 로짓은 직선으로 나타낼 수 있기 때문에 로지스틱 회귀를 선형 모델의 한 종류로 다루는 이유이다.
'통계 이론' 카테고리의 다른 글
평균의로의 회귀 (2) | 2024.10.18 |
---|---|
대격변 AI 시대, 한 권으로 끝내는 데이터과학, 확률, 통계, AI 특강 (0) | 2024.05.22 |
상관계수의 크기에 대한 감 잡기 (0) | 2024.04.22 |
로지스틱회귀와 친구되기(1) (0) | 2022.04.26 |
분산분석(ANOVA) 이해하는 가장 좋은 방법(3) (0) | 2022.04.25 |
분산분석(ANOVA) 이해하는 가장 좋은 방법(2) (4) | 2022.04.22 |
분산분석(ANOVA) 이해하는 가장 좋은 방법(1) (4) | 2022.04.22 |
댓글