# naver search confirm # markdown number and equation 로지스틱회귀와 친구되기(2) //google adsense
본문 바로가기
통계 이론

로지스틱회귀와 친구되기(2)

by 노마드분석가 2022. 4. 26.

이전글

 

로지스틱회귀와 친구되기(1)

관련글 선형회귀분석 밑바닥부터 이해하기 관련글 상관관계와 상관계수 1. 들어가며 연속형 변수 x, y의 관계는 상관관계(correlation) 분석을 통해 2가지 사실을 알 수 있다. 관계의 방향 관계의 강

diseny.tistory.com

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에 관한 식으로 변경된다. 

 

<수식 1>

 

이렇게 해서 식의 우변은 직선의 식으로 변환되었다. 식을 이용해 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] 로지스틱회귀 해석

 

<그림 1>은 결과변수가 합격/불합격인 범주형 변수에서 확률을 거쳐 로짓으로 변화시켜 생각하는 과정을 나타낸 것이다. 결과변수 Y를 로짓으로 변화시키면 X의 증가가 Y에 어떻게 영향을 미치는지 시각적으로 쉽게 파악할 수 있다. 이번 예제에서는 공부시간(X)이 증가하면 승산비가 증가한다는 사실을 알 수 있다. 엄밀한 해석은 아니지만 공부시간이 늘어나면 합격 확률이 높아진다고 생각하면 된다.

 

이번 예제에서는 변수를 공부시간 하나만 생각했지만 여러 변수를 넣어서 생각할 수 있다. 로짓은 직선으로 나타낼 수 있기 때문에 로지스틱 회귀를 선형 모델의 한 종류로 다루는 이유이다. 

반응형

댓글