회귀 분석은 종속변수와 하나 이상의 독립변수 간의 관계를 설명하는 예측 모델링 기법의 한 형태이다. 회귀 분석은 변수 간의 유의미한 상관관계를 도출하고, 독립변수가 종속변수에 미치는 영향의 강도를 알아냄으로써 정확한 예측이 가능하고, 이를 기반으로 효과적인 의사결정이 가능해진다.
회귀분석에는 대표적으로 단순 선형 회귀분석(Simple Linear Regression), 다중 선형 회귀분석(Multi Linear Regression), 로지스틱 회귀분석(Logistic Regression) 등이 있다. 회귀분석이라 하면 가장 먼저 선형 회귀가 떠오르기 마련이지만, 오늘은 회귀 모델 중에서도 분류 모델인 로지스틱 회귀에 대해 이야기해보려 한다.
로지스틱 회귀 분석은 종속변수가 연속형이었던 다른 회귀 분석 기법들과 다르게, 종속변수가 범주형이면서 0 혹은 1의 값을 갖는 일종의 분류 기법이다.
종속 변수가 0 혹은 1(True/False, 생존/사망, 성공/실패)일 때 선형 회귀로 fitting하기 힘들다는 것을 왼쪽 그래프를 통해 알 수 있다. 반면에 logistic function(logit trasformation)을 이용한 오른쪽의 그래프는 확률 값이 선형이 아닌 곡선의 형태를 띠며, 0과 1의 값으로 분류 가능하다.
선형 회귀에서는 종속변수 자체를 로 모델링 했다면, 로지스틱 회귀에서는 성공할 확률을 로 가정한다.
여기서 의 범위는 0~1인 반면에, 의 범위는 ~이므로 의 범위도 ~으로 변환해주어야 한다.
변환 과정에서 logit
이 쓰인다. logit
은 log odds
와 같은 의미로 에 log를 취한 값을 의미한다.
위 식을 에 대해 역변환하게 되면, 다음과 같은 식이 나온다.
그리고 이 식을 그래프로 나타내면 아래와 같고, 이를 통해 P가 0과 1로 fitting됨을 볼 수 있다.
여기서 주의해야 할 점은, 로지스틱 회귀는 이항 분류뿐만 아니라 다항 분류에도 적용될 수 있다는 점이다.
시그모이드 함수는 로지스틱 회귀의 이진 분류(binary classification)에서 출력 값을 0~1 사이로 압축함으로써 확률 값으로 변환해주는 함수이다. 로지스틱 회귀의 hyphothesis인 는 실수의 값을 리턴하는데, 이는 두개 중에 하나를 고르는 이진 분류에 적합하지 않으므로, 이에 0과 1 사이의 값으로 압축해주는 시그모이드 함수가 고안되었다.
이에 다중 로지스틱 회귀(multinomial logistic regression)에 서는 확률의 합을 1로 만들어주는 소프트맥스 함수를 이용한다.
소프트맥스 함수는 로지스틱 회귀의 다중 분류(multinomial classification)에서 출력 값을 전체 합이 1이 되는 확률 값으로 변환해주는 함수이다.
다중 분류에서 여러 선형 방정식의 출력 값을 정규화하여 합이 1이 되도록 만들어준다. 지수 함수를 사용하기에 정규화된 지수 함수라고도 부른다. 소프트맥스 함수의 결과 값을 원 핫 인코딩(one-hot encoding)을 이용하여 최댓값을 1로 만들면, 효과적인 분류가 가능하다.
모델 적합(fitting)에는 추정(estimation)과 추정의 결과를 평가(evaluation)하는 과정이 존재한다. 추정은 로지스틱 회귀를 통한 모델을 설정할 때 필요한 계수를 예측하기 위한 것이고 평가는 추정한 모델이 데이터에 적합한지 판단하기 위한 것이다.
추정에는 주로 MLE(최대우도법)를, 평가에는 가능도비 검정, Walt test 등을 이용하는데 이에 대해서는 추후 포스팅에서 자세하게 다뤄볼 예정이다.
로지스틱 회귀는 의학 또는 소셜 분석을 포함한 다양한 분야에서 많이 사용된다. 일례로, 부상을 입은 환자들의 사망 예측을 위해 사용되는 Trauma and Injury Severity Score (TRISS)는 Boyd에 의해 로지스틱 회귀를 기반으로 개발 되었다. 많은 다른 의학 척도 또한 환자의 심각성을 평가하기 위해 로지스틱 회귀를 이용해서 개발되었다. 로지스틱 회귀는 관찰된 환자의 특성(나이, 성별, 피검사 결과 등)을 기반으로 환자의 특정 병 감염 여부를 예측한다.