교육통계/Rstudio

교육통계 R랑가몰라 7. 로지스틱 회귀분석-1 (이론..?)

개노답이글스 2022. 11. 2. 19:45

 

안녕하세요 이번에는 로지스틱 회귀분석에 대해서 알아보려 합니다.

이전까지 다루었던 선형 회귀분석, 다중회귀분석은 종속변수가 연속 변수일 때 활용하였습니다.

하지만 종속변수가 범주 변수일 때는 선형 회귀분석을 사용할 수 없습니다.

왤까요..?ㅎㅎ

---------------------------------------------------------------------------------------------------------------------------

1. 로지스틱 회귀분석

범주 변수가 1 또는 0으로 구성돼있다면 종속변수는 '확률'로 계산됩니다.

예를 들면... 변수 코딩이

1: 대학원을 진학할 생각이 있다.

0: 대학원을 진학할 생각이 없다.

이렇게 되어있다면, 1에 가까울수록 대학원에 진학할 확률이 높아지겠죠...ㅎㅎ

대학원에 간다, 안 간다 두 개니까요

확률은 0~1 사이의 값을 가지는 데 선형 회귀분석을 하였을 때 종속변수의 확률이 '-' 음수가 나올 수도 있습니다.

회귀 식이 예를 들어..

대학원진학할확률 = -0.11(1)+0.02(1)+-0.4(2) = -.11+.02-.8

= -.89

이런 식으로 확률이 '-'가 나와버리면... 해석이 불가하겠죠?

확률을 회귀분석에 사용하면서 그리고

선형 회귀분석처럼 분석하기 위해선 다른 방법이 필요하게 되었습니다.

---------------------------------------------------------------------------------------------------------------------------

2. 승산

그래서 훌륭하신 연구자분들이 이를 위해

'승산'을 적용하자 아이디어를 제시하셨나 봐요

승산은 = 사건이 일어날 확률/ 사건이 일어나지 않을 확률인데

이를 수식으로 표현하면...

$\frac{사건이\ 일어날\ 확률}{사건이\ 일어나지\ 않을\ 확률}\ =\ \frac{사건이\ 일어날확률}{1-일어날확률}$      =  1

분자가 더 크면, 사건이 일어나지 않을 확률에 비해 사건이 일어날 확률이 높은 거고

분모가 더 크면, 사건이 일어날 확률에 비해 사건이 일어나지 않을 확률이 높아지는 것입니다....

세상 복잡하죠..ㅋㅋㅋ

예를 들면.. 흔한 게 주사위니까

주사위를 던져서

1이 나올 확률은 1/6

1이 나오지 않을 확률은 5/6

이를 승산비로 계산하면

$\frac{\frac{1}{6}}{\frac{5}{6}}\ =\ \frac{1}{5}$1656 = 15

이렇게 되면, 분모가 훨씬 크죠..

그럼 주사위를 던져서 1이 나올 확률1이 나오지 않을 확률보다 낮다는 것을 알 수 있겠죠??(그렇다고 합니다..)

이를 Odds ratio라고 하는데, 한글로 번역한 게 승산비가 되어 부렸답니다..ㅋㅋ

승산에서 멈췄으면 그나마 좀.. 우리처럼 문송한 사람들에게는 괜찮았을 텐데..(아닌가..)

승산비를 사용한다 하더라도 아직까진 선형 회귀로 분석이 어렵습니다..

여기에 이제 자연로그(log)를 사용하게 됩니다..ㅋㅋㅋ

---------------------------------------------------------------------------------------------------------------------------

3. 자연로그와 승산비

$\combi{\log }_e\ 승산비$loge 

승산비에 자연로그를 취하게 되면, 연속 변수처럼 범위 안에서 무한한 수를 활용하게 되어 이제 선형 회귀처럼 사용할 수 있게 됩니다.

[그림 1] 로지스틱 함수

출처: 위키백과

쉽게 자연로그 값을 확인하려면

엑셀에서 =log()를 사용하면 됩니다.

아님 공학용 계산기에서 하셔도 되고요..ㅎ 편하신 걸로

예를 들면, =log(1)의 값은 0이 나오고 =log(0.45)의 값은 -0.34679, =log(1.25)의 값은 0.09691 이네요

여기서 한 가지

log(1)=0

log(0.45)= -0.34679

log(1.25)= 0.09691

지금 우리는 로그 안에 '승산비'를 넣고 있는 것입니다.

근데 이 승산비가 1일 때는 로그 값이 0이고

승산비가 1보다 작으면 '-'값이

승산비가 1보다 크면 '+'값이 나옵니다.

다시 말해, 승산비가 1보다 크면 '긍정적인'

승산비가 1보다 작아지면 '부정적인' 영향을 준다는 것이죠

다다시 말해, 승산비가 1보다 크면 종속변수가 발생할 확률이 증가하는 것이고

승산비가 1보다 작으면 종속변수가 발생할 확률이 감소하는 것입니다.

자연로그 값을 다시 승산비로 돌리는 방법은

엑셀에서 =exp()로 하면 됩니다.

---------------------------------------------------------------------------------------------------------------------------

4. 정리

로지스틱 회귀를 위해 참 많은 활자를 써왔는데요

정리하자면, 그냥 확률로는 회귀분석에 사용하는데 썩 적절하지 않아

승산비를 사용하기로 하였고

그리고 선형처럼 해석에 용이하게 하기 위해

이 승산비에 자연로그를 취하여 분석에 사용하게 됩니다.

그리고 그 자연로그 값을 얻게 되면

다시 승산비로 환산하여 해석해야 합니다.

어우 세상 복잡하네;;;

이 과정을 통계프로그램이 다 해줄 테니.. 너무 걱정 마시고

이제 코딩과 Run 버튼만 잘 누르면 됩니다.

진짜로 Run하지 마시고요..ㅎㅎ

글자가 너무 많아진 관계로

R코드는 다음 챕터로 넘기려 합니다...ㅎㅎ

감사합니다!