고급통계모형/로직스틱(확률선택,로직선택,범주선

로직스틱모형1

학위논문통계 2014. 8. 8. 09:58

 

 

로직스틱 회귀분석 또는 로짓(logit) 회귀분석

 

1. 모형

 

 

로직스틱 회귀분석은 최근에 통계학과에서 가장 인기가 많은 분석 방법론이라 할 수 있습니다. 신용평가 모형의 기초가 이 분석이고 통계학과 졸업생이 최근 가장 활발하게 진출하는 분야기 이 신용평가 분야이기 때문입니다.

 

 

로직스틱 회귀분석은 일반 회귀분석과 달리 종속변수가 두 가지 값만 갖는 경우입니다. 신용이 불량이거나 양호하거나, 병이 걸리거나 건강하거나, 물건을 사거나 말거나 등 두 가지 경우만 생기는 경우입니다. A 아니면 B 이 두가지 경우가 생기는데 어떤 경우는 A가 생기고 어떤 경우는 B가 생기는지 그 원인을 찾는 것입니다.

 

 

종속변수 Y를 신용이라고 하죠. 신용이 양호하면 Y=1, 신용이 불량하면 Y=0이라고 합니다(물론 Y를 반대로 정의해도 됩니다).

 

 

그럼 E[Y]=p 이고 이 p는 어떤 사람이 신용이 양호할 확률이기 때문에 항상 0에서 1 사이에서 값을 가집니다. 그럼 우리가 일반회귀분석 하듯이 다음과 같이 모형을 세웁니다.

 

p=b0+b1X1+b2X2+...+bkXk

 

그럼 이 경우에 어떤 문제가 생기는가? 오른쪽이 p는 0과 1사이에 있는 값입니다. 그러나 왼쪽에 있는 선형식 bX(벡타 모양으로 간략하게 적었습니다)는 원칙적으로 -무한대에서 +무한대까지 값을 가질 수가 있습니다.

 

 

이렇게 왼쪽과 오른쪽이 취할 수 있는 값의 범위가 다르기 때문에 양쪽에 같다고 모형을 만들 수가 없습니다. 그럼 이 경우에 두 가지 방법이 있습니다.

 

 

하나는 오른쪽에 -무한대부터 +무한대까지 값을 취할 수 있는 bX에다가 0과 1 사이에서만 값을 취하는 어떤 함수를 덮어 버리는 것입니다.

 

 

예를 들어 f(z)=z/(1+z) 라는 함수를 생각해보죠. 그런 이 함수는 분명히 1보다는 작습니다. z가 무한대로 가면 f(z)는 1로 가고요. 그러나 이 함수는 항상 0보다는 큰 것은 아닙니다. z가 음수값을 가지면 f(z)가 0보다 작을 수 있습니다. 그럼 문제가 생기죠. 왼쪽의 p는 항상 0보다는 커야 하기 때문이죠. 그럼 z 대신 exp(z)를 쓰면 exp(z)는 항상 0보다 크니 이젠 g(z)=exp(z)/(1+exp(z))를 쓰면 이 함수는 항상 0보다 크고 1보다는 작은 값을 가집니다. 그럼 이 z에 bx를 대체하면 됩니다. 즉,

 

 

 

  마지막 식에서는 벡타 표시인 bx로 간략하게 적었습니다.

 

 

이게 로직스틱 회귀분석의 모형입니다.

 

 

g(x)=exp(z)/(1+exp(z)) 라는 0에서 1까지 갖는 함수 말고 다른 함수를 쓸 수도 있겠죠. 대표적인 함수가 통계학에서 나오는 누적확률분포 함수 F(x)입니다. 이 누적확률분포 F(x)는 항상 0에서 1까지 값을 가지죠. 정규분포일때 누적확률분포인 F(x)를 써서 오른쪽을 덮어 0과 1 사이에 값을 취하도록 만들어 버리면 이땐 프로빗(probit) 모형이라 합니다. 로짓이나 프로빗 회귀분석이나 그 결과는 별로 다르지 않다고 합니다. 정확한 것은 이걸 전공한 사람이 알겠지요.

 

 

앞에서는 오른쪽에 있는 -무한대에서 +무한대까지 값을 bX를 0에서 1까지 값을 갖는 함수로 덮어버린다고 했는데 이젠 반대로 왼쪽에 있는 0에서 1까지 값을 갖는 p를 -무한대에서 +무한대까지 값을 가지는 함수로 변환을 시킬 수도 있다는 것이죠. 그래서 양쪽이 모두 -무한대에서 +무한대까지 값을 가지게끔 하는 것이죠.

 

 

그래서 취한 함수가 로짓(logit) 함수입니다.

 

G(p)=log(p/(1-p))

 

입니다. 여기서 잠깐 용어를 한편 살펴볼까요. p/(1-p)를 오즈(odds)라고 합니다. 오즈값을 비교한 것을 오즈비(odds ratio)라고 합니다. 예를 들어 노인들의 폐암 여부를 남자와 여자간에 비교를 한다고 해보죠. 그럼 남자의 오즈값이 있을 것이고, 여자의 오즈값이 있을 겁니다. 그럼

 

오즈비=남자의 오즈/여자의 오즈

 

가 됩니다. 이 오즈비는 범주형 자료 처리 분석에서 매우 중요한데 우리나라 논문에서는 거의 나오지 않죠. 로직스틱 회귀분석에서는 매우 중요한 개념으로 통상 표에 적습니다.

 

하여간 왼쪽을 -무한대에서 +무한대로 보내는 로짓 함수를 취하면

 

log(p/(1-p))=b0+b1X1+b2X2+...+bkXk=bX

 

이걸 p에 관해 풀면 다시 위의 식

 

 

 

 으로 돌아갑니다.

 

2. b의 해석

b는 회귀분석의 경우와 달리 기울기로 해석이 안됩니다. 사실 회귀분석은 b 값만 하나만 주어지면 바로 그림이 그려집니다. 그러나 로직스틱 회귀분석에서는 b 값만 가지고는 그래프 모양을 알 수 없습니다. b 값이 양수이면 x 값에 크짐에 따라 증가하는 증가함수이고 b 값이 0이면 수평선 모양, b 값이 음수이면 감소하는 함수라는 것만 알 수 있습니다.

 

 

아래 그림을 한번 보죠.

 

 

 

 

 

 

 

  로직스틱 회귀분석의 그래프 모양은 S자 눕힌 모양이고 기울기는 b*p*(1-p)입니다. p 값에 따라 달라지는 것이죠. 이 p값은 독립변수 x에 따라 달라집니다. 회귀분석에서는 기울기는 x 값에 관계없이 하나의 값이지만 로직스틱에서는 하나의 값이 아니라 독립변수 x의 값 에 따라 계속 달라집니다.

 

 

그럼 이런 생각을 할 수 있을 겁니다. 일반 회귀분석에서는 독립변수 x 값과는 관계없이 기울기 b 값 하나만 알면 되는데 이 로직스틱 회귀분석에서도 독립변수 x 값과 관계없이 일정한 값을 가지는 그런 통계치가 있는가 하는 점이죠. 이 값이 바로 오즈비(odds ratio)입니다.

 

 

대강 이야기해서 x 값이 한 단위 올라갈 때 p 값이 얼마나 올라가는가가 아니라 오즈(odds). 즉 p/(1-p)가 얼마나 올라가는가를 측정하는 것입니다. 이 오즈비는 로직스틱 회귀분석에서는 x 값의 변화와 관계없이 일정합니다.

 

 

x=x*에서 오즈를 한번 보죠. 간단히 모형은 b0+b1x 즉, 독립변수가 하나만 있는 경우를 상정하겠습니다.

 

p(x*)/(1-p(x*))=exp(b0+b1x*)=exp(b0)exp(b1x*)

 

x=x*+1 값에서 오즈는

 

p(x*+1)/(1-p(x*+1))=exp(b0)exp(b1(x*+1))=exp(b0)exp(b1x*+b1)

 

그래서 x*에서 오즈값과 x가 한 단위 상승한 x*+1에서의 오즈값을 비교하면

 

[p(x*)/(1-p(x*))] / [p(x*+1)/(1-p(x*+1))]=exp(b1)

 

가 됩니다. 이 값은 로직스틱 회귀분석에서 결과에 꼭 적어야 하는 값입니다.

 

만약 b 값이 0이면 exp(b)=1, 즉 x 값이 증가해도 오즈비는 항상 1, 즉 오즈가 일정하다는 이야기입니다. 그래서 그래프는 수평선을 유지합니다.

 

b 값이 양수이면 오즈비는 1보다 크게 되고 x 값이 커짐에 따라 오즈가 점점 올라간다는 것이고, b 값이 음수이면 오즈비는 1보다 작게 되고 x 값이 커짐에 따라 오즈는 점점 낮아진다는 것이죠. 단지 이 오즈비는 기울기와 달리 x 값의 변화와 관계없이 로직스틱 회귀분석 모형에서는 항상 일정한 값을 갖는다는 것입니다.

 

3. 적합도

 

로직스틱 회귀분석 결과를 보면 여러 가지 적합도가 나오는데 이건 회귀분석의 결정계수 값과 같은 개념입니다. 별 신경 쓸 것 없고요. 그냥 결과물에 모형 통계량으로서 적어 주고 거기에 나온 값대로 설명에 달아주면 됩니다.

 

 

4. 예측도

 

이건 다음에 쓰죠.