새소식

Data theory/데이터마이닝

[데이터마이닝] 로지스틱 회귀분석

  • -

로지스틱 회귀모델이 왜 필요한가?
▶ 반응변수가 범주형일 경우 선형회귀모델과는 다른 방식으로 접근해야 한다!
▶ 왜? 반응변수와 독립변수 사이의 관계식이 선형이 아니기 때문

 

로지스틱 함수(logistic functon) = 시그모이드 함수(sigmoid function)

 

$$ f(X)=\frac{1}{1+e^{-(\beta_0+\beta_1X)}} $$

  • output 범위: 0~1
  • input 값에 대해 단조증가(단조감소)함수
  • 미분 결과를 output의 함수로 표현 가능

$$\frac{\partial \phi(z)}{\partial x}=\frac{1}{1+e^{-z}}(1-\frac{1}{1+e^{-z}})=\phi (z)(1-\phi (z))$$

$E(y)=\pi (X=x)=P(Y=1|X=x) = 1-P(Y=0|X=x)$이므로 단순로지스틱 회귀모델은 입력변수 X가 1개인, 아래와 같은 회귀모델이 된다.

$$E(y)=\pi (X=x) =\frac{1}{1+e^{-(\beta_0+\beta_1x)}} \;\; (관측치 \; x가 \; 범주 \; 1에 \; 속할 \; 확률)$$

 

오즈(Odds)

성공 확률이 $p$라 할 때 실패 대비 성공 확률의 비율을 의미한다. $$Odds=\frac{p}{1-p}$$

그렇다면 $\pi (X=x)=\frac{1}{1+e^{-(\beta_0+\beta_1x)}}$의 오즈는 다음과 같다. $$Odds=\frac{\pi (X=x)}{1-\pi (X=x)}$$

이에 로짓 변환을 취하면 $$log(Odds)=log(\frac{\pi (X=x)}{1-\pi (X=x)})= \frac{ \frac{1}{1+e^{-(\beta_0+\beta_1x)}} }{1- \frac{1}{1+e^{-(\beta_0+\beta_1x)}} } = \beta_0+\beta_1x$$

이때 $\beta_1$의 의미: $x$가 한 단위 증가했을 때 $log(odds)$의 증가량

 

다중 로지스틱 회귀모델

$$\pi (X=x)= \frac{1}{1+e^{-(\beta_0+\beta_1X_1+...+\beta_pX_p)}}$$

$$logit = log(Odds) = log(\frac{\pi (X=x)}{1-\pi (X=x)}) = \beta_0+\beta_1X_1+...+\beta_pX_p$$


Maximum Likelihood Estimation (MLE; 최대 우도 추정법)

로지스틱 회귀모델 학습은 최대 우도 추정법으로 수행한다. 최대 우도 추정법은 로그 우도함수(log-likelihood function)가 최대가 되는 파라미터 $\beta$를 결정하는 방법이다.

로그 우도함수는 다음의 알고리즘을 거쳐서 구할 수 있다.

(1) $f_i(y_i)=\phi (x_i)^{y_i}(1-\phi (x_i))^{1-y_i}, i=1,2,...,n$

(2) $L=\prod_{i=1}^{n} f_i(y_i)=\phi (x_i)^{y_i}(1-\phi (x_i))^{1-y_i}$

(3) $ln L = \sum_{i=1}^{n}y_i(\beta_0+\beta+1X_1+...+\beta_pX_p)+\sum_{i=1}^{n}ln(1+e^{\beta_0+\beta_1X_1+....+\beta_pX_p})$

위의 로그 우도함수는 파라미터 $\beta$에 대해 비선형이므로 선형회귀모델처럼 명시적인 해가 존재하지 않는다.

▶ lterative reweight least square, Conjugate gradient, Newton's method 등의 방법을 이용해서 해를 구한다.

 

더보기

파라미터 추정을 위한 용어 설명

cross entropy: 두 확률분포 $(p(x), q(x))$의 차이= $-\sum p(x)log(q(x))$=음의 likelihood ftn.의 기대값

log likelihood ft을 최대로 하다: 입력 분포 $p(x)$와 파라미터가 주어졌을 때 출력 분포 $q(x)$의 확률을 최대로 하다

cross entropy를 최소로 하다: 입력 분포 $p(x)$와 출력 분포 $q(x)$의 차이를 최소로 하다

log likelihood ft을 최대로 하다= cross entropy를 최소로 하다


로지스틱 회귀 모델의 해석

이진 분류를 위한 기준값 설정: 일반적으로 0.5를 사용하지만 성공 범주의 비중이 낮으면 더 낮은 값을 사용할 수 있음

승산 비율(Odds ratio): $\frac{odds(x_1+1,x_2,...,x_n)}{odds(x_1,x_2,...,x_n)}=\frac{e^{\hat{\beta_0}+\hat{\beta_1}(X_1+1)+...\hat{\beta_p}X_p}}{e^{\hat{\beta_0}+\hat{\beta_1}X_1+...\hat{\beta_p}X_p}}=e^{\beta_1}$

  • 나머지 입력변수를 전부 고정시킨 상태에서 한 변수를 한 단위 증가시켰을 때 변화하는 Odds의 비율
  • $X_1$이 한 단위 증가하면 성공에 대한 승산 비율이 $e^{\beta_1}$만큼 변화한다
  • 회귀계수가 양수이면 성공확률이 1 이상이며 회귀계수가 음수이면 성공확률이 1 미만이다

coefficient(로지스틱 회귀계수, 추정된 파라미터 값): 해당 변수가 한 단위 증가할 때 log-odds의 변화량

  • 양수이면 성공확률과 양의 상관관계, 음수이면 성공확률과 음의 상관관계

std.error(추정 파라미터의 표준편차): 추정한 파라미터의 신뢰구간을 구축할 때 사용

p-value: 해당 변수가 통계적으로 유의미한지 알려주는 지표. 작을수록 유의미한 정도가 커진다

Odds: 나머지 입력변수를 모두 고정시킨 상태에서 한 변수를 한 단위 증가시켰을 때 변화하는 odds의 비율

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.