[머신러닝] 3. 로지스틱 회귀모델

로지스틱 회귀모델

로직스틱 회귀모델 발생배경

image

선형회귀모델에서는 수치형 변수가 Y값에 있었고

Y값에 범주형 변수가 오게 될 경우에는 조금 다른 방법으로 접근해야 할 필요성이 생겼다.

왜냐하면 기존의 선형회귀모델에서는 오차항이 정규분포를 따른다든가 하는 몇 가지 제약조건이 전제되야하는데

범주형 데이터에서는 제약조건에 부합하지 않는 경우도 종종 발생하기 때문이다.

이론적인 배경에 대해 설명해보면

image

로직스틱 회귀모델의 형태

image

image

image

위 raw data를 범주에 맞게 정리해 보면 위와 같은 표를 구할 수 있다. 이를 도식화하면 아래의 그래프로 표시된다.

image

이는 선형으로 표시할 수 있지만 더 정확하게 표기한다면 약간의 S자 형태의 유선형을 띄고 있는 그래프라고 볼 수 있다.

이러한 모양을 나타낼 수 있는 함수식은 아래와 같다.

image

위의 수식을 로지스틱(Logistic) 함수 또는 시그모이드(Sigmoid) 함수라 부른다.

image

image

그래서 이를 정리하여 로지스틱 함수를 만들 수 있다.

파이는 x값이 주어졌을 경우 y가 1일 확률 , 그 때 E(y)의 확률값은 0~1의 확률값이다.

입력변수가 1개일 때의 로지스틱 회귀모델을 가리켜 단순로지스틱 회귀모델이라 부른다.

image

관측치 x가 범주 1에 속할 확률과 같다.

파라미터를 해석하는 방법이 중요한데 beta1은 선형회귀모델에서는 단순하고 직관적이었으나

로지스틱 회귀모델의 경우에는 비선형의 형태를 띄고 있으므로 직관적이지 못하다.

따라서 이를 보완하기 위해 승산(Odd) 이라는 개념을 도입하게 되었다.

승산(Odds)

승산이란, 성공 확률을 p로 정의할 때 실패 대비 성공 확률 비율을 가리킨다.

image

Odds는 범주 0에 속할 확률 대비 범주 1에 속할 확률을 가리킨다.

구해진 Odds에 Log를 취하면 아래와 같이 수식이 정리된다.

image

로짓변환은 2개의 변환이 있는 것 1. Odds 2. Odds에 로그를 취한 것

이런 변환을 로짓 변환(Logit Transform)이라 한다.

log(Odds)가 선형회귀분석과 동일한 레벨의 직관성을 띈다고 할 수는 없지만 이전의 로지스틱 함수에 비해서는 굉장히 직관적이기 때문에 유용하게 활용할 수 있게 된다.

image

image

위의 그래프에서 성공 확률이 0.5가 되면 log(Odds)의 값은 Odds=0.5/(1-0.5)=1이므로 log1이 되고 이는 0과 같아진다.

반면 성공확률이 1이 되면 log(Odds)의 값은 Odds = 1/(1-1) = infinite이므로 무한대가 된다.

또한 성공 확률이 0이 되면 log(Odds)의 값은 dds = 0/(1-0) = 0이므로 -infinite로 수렴하게 된다.

다중 로직스틱 회귀모델

image

첫번째 파이함수가 로지스틱함수

거기에 Odds를 취하고 로그를 취하면 로짓변환이 되어 로짓분석을 하게 됨

비선형에서 선형변환이 되어 베타의 설명이 쉬워지기 때문임

파라미터 추정

image

위에 ㅠ 이렇게 생긴 기호는 product 기호로 곱하기 기호라고 생각하면 된다.

곱하기는 더하기로 표현하면 편하다

로그를 취하면 더하기로 표현할 수 있으므로 한번 취해본다.

로그 likelihood 함수를 만들어 보았다. 맨 마지막에 있는 식이라고 볼 수 있다.

image

image

image

로지스틱 회귀모델 - 결과 및 해석

image

image

image

승산 비율 (Odds Ratio)

image

image

Coefficient(로지스틱 회귀계수, 추정된 파라미터 값)

Std. Error(추정 파라미터의 표준편차):

p-value

Odds(Odds Ratio)