1. 로지스틱 회귀
(1) 기본 개념
로지스틱 회귀(logistic regression)는 독립 변수의 선형 결합을 이용하여 사건의 '발생' 가능성을 예측하는 데 사용되는 통계 기법이다.
로지스틱 회귀의 목적은 일반적인 회귀 분석의 목표와 동일하게 종속 변수와 독립 변수간의 관계를 구체적인 함수로 나타내어 향후 예측 모델에 사용하는 것이다. 이는 독립 변수의 선형 결합으로 종속 변수를 설명한다는 관점에서는 선형 회귀 분석과 유사하지만 선형 회귀 분석과는 다르게 종속 변수가 범주형 데이터를 대상으로 하며 입력 데이터가 주어졌을 때 해당 데이터의 결과가 특정 분류로 나뉘기 때문에 일종의 분류 (classification) 기법으로도 볼 수 있다. 로지스틱 회귀모형은 일반적인 선형 모형(generalized linear model)의 특수한 경우로 볼 수 있으므로 선형 회귀와 유사하다. 하지만, 로지스틱 회귀의 모델은 종속 변수와 독립 변수 사이의 관계에 있어서 선형 모델과 차이점을 지니고 있다.
-
종속 변수 y의 결과가 범위 [0,1]로 제한됨.
-
종속 변수가 이항 변수이기 때문에 조건부 확률 P(y ∣ x)의 분포가 정규분포 대신 이항 분포를 따름.
(2) 로지스틱 회귀 함수 원리
Y는 확률값으로 범위가 [0,1]이지만 독립변수의 범위는 (−∞,∞)으로 이를 단순히 선형 회귀 분석을 하면 Y의 범위가 [0,1]를 벗어나는 결과가 나오기 때문에 예측의 정확도만 떨어진다. 독립 변수가 (−∞,∞)의 어느 숫자이든 상관 없이 종속 변수 또는 결과 값이 항상 범위 [0,1] 사이로 반환해주기 위해 오즈(odds)를 로짓(logit) 변환을 해준다.
-
Odds
0<Odds=1−Pr(Y=1∣x)Pr(Y=1∣x)<∞
-
로짓 변환
−∞<logit (p)=log(1−pp)<∞
따라서 양변의 범위가 (−∞,∞)로 일반적인 선형 회귀 모형을 이용할 수 있다.
log(1−pp)=Xβ
위 모형을 지수화 해주면 범위가 [0,1]인 확률값이 반환된다.
p=Pr(Y=1∣x)=1+eβ⋅Xeβ⋅X=1+e−β⋅X1
참고로 y=0 확률은 다음과 같다.
Pr(Y=0∣x)=1+eβ⋅X1
이렇게 임의의 숫자를 0~1사이로 변환시키는 함수가 로지스틱 함수이며 이를 시그모이드 함수라고도 한다.
(3) 다중 로지스틱 회귀 함수 원리
예측하고자 하는 분류가 두 개가 아니라 여러 개가 될 수 있는 경우 다항 로지스틱 회귀 분석(Multinomial Logistic Regression)을 사용한다. 이 방법의 기본 아이디어는 로지스틱 회귀 분석을 확장하는 것이다.
log{Pr(Y=K)Pr(Y=k)}=X⋅βk
위 모형을 지수화하면 다음과 같이 된다.
Pr(Y=k)=Pr(Y=K)⋅eX⋅βk,1≤k<K.
모든 K 개의 확률의 합은 1이므로 위 식의 좌변의 합은 다음과 같다.
Pr(Y=1)+Pr(Y=2)⋯+Pr(Y=k−1)=1−Pr(Y=K)
이 결과를 우변의 합과 비교하면
1−Pr(Y=K)Pr(Y=K)=j=1∑K−1Pr(Y=j)=1−j=1∑K−1Pr(Y=K)⋅eX⋅βk=1+∑j=1K−1eXβk1,1≤k<K.
k<K인 경우는
Pr(Y=k)=1+∑j=1K−1eX⋅βkeX⋅βk,1≤k<K.
2. 로지스틱 회귀 계수 추정
지금까지 수리통계학, 회귀분석에서 배운 추정방법으로 최소제곱법, 최대가능도 추정 방법이 있다. 로지스틱 회귀 모형도 최대가능도 추정 방법을 사용하지만 미분이 불가능하므로 이전의 편미분한 값을 0이 되도록 하는 방법은 사용할 수 없다. 우선 로지스틱 회귀 모형의 가능도 함수는
i=1∏np(xi)yi⋅(1−p(xi))(1−yi),yi=0 or 1,p(xi)=1+e−Xβ1,X={x1,x2,…,xn},β={β1,β2,…,βn}
와 같고 로그 가능도 함수는 다음과 같다.
i=1∑n{yilogp(xi)+(1−yi)log(1−p(xi))}
이 값을 최대화 하는 것은
J(β)=−n1i=1∑n{yilogp(xi)+(1−yi)log(1−p(xi))}
이 값을 최소화 하는 것과 동일하다. 이제 β를 최소로 하는 값을 추정해보자.
∂β∂J(β)=−n1i=1∑n∂β∂{yilogp(xi)+(1−yi)log(1−p(xi))}=−n1i=1∑n{yi⋅p(xi)p(xi)′X+(1−yi)1−p(xi)−p(xi)′X}=−n1i=1∑n{yi⋅p(xi)p(xi)(1−p(xi))+(1−yi)1−p(xi)−(p(xi)(1−p(xi)))}X=−n1i=1∑n{yi⋅(1−p(xi))−(1−yi)⋅p(xi)}X=n1i=1∑n(p(xi)−yi)X
따라서 J(β)의 최솟값은
βjt+1=βjt−αn1∂β∂J(β)βjt−αi=1∑n(p(xi)−yi)X
이런 방식으로 업데이트 해주며 한번의 업데이트에 모든 βj가 동시 업데이트 된다. 이를 경사하강법이라고도 한다.
참고차료