카테고리 없음

적합도6

학위논문통계 2017. 8. 2. 15:25

 

 

 

오늘은 포아송 분포일 경우를 한번 보겠습니다. 싱황에 따라서 포아송 회귀분석 또는 로그 선형모형이라고 합니다. 지수 분포의 경우는 생잔분석, 또는 생존분석이라고 골치 아픈 분야가 있습니다. 주로 의학에서 많이 사용됩니다. 예를 들어 심장이식수술을 한 경우 이 사람이 얼마나 오래 살 수 있을까 하는 문제는 중요하거든요. 죽음이라는 사건(event)가 일어날 때까지 걸리는 시간은 지수분포한다는 것이죠. 하여간 이 분야는 윤리적인 문제도 많이 깔려 있습니다.

 

앞에서 이야기 한 바와 같이 정규분포가 아니고 포아송 분포의 경우 일반 회귀분석과 같이

 

Y=bo+b1*X1+b2*X2+...+bk*Xk+e

 

이런 식으로 모형을 세우지 않습니다. 물론 해도 됩니다. 상황에 따라서요. 통계학은 정답이 있는 학문이 아니기 때문에 분석하는 사람 마음입니다.

 

통상적으로

 

log(E(Y))=log(u)

=bo+b1*X1+b2*X2+...+bk*Xk

 

즉 일정기간이나 일정공간에서 평균 일어나는 횟수의 log는 독립변수들의 선형결합형태를 취한다는 것이죠. 그러나 이걸

 

Y=eb0+b1*X1+b2*X2+...+bk*Xk+e

 

또는

 

log(Y)=bo+b1*X1+b2*X2+...+bk*Xk+e

 

이렇게 모형을 만들면 안됩니다. E[log(Y)]log(E(Y)]는 값이 다릅니다. 궁금하신 분들은 Jensen 부등식이라는 것을 검색해보기 바랍니다. 로지스틱 회귀분석도 마찬가지인데요 전에 제가 좀 실수한 것 같습니다.

 

 

 

포아송 분포를 다를 때 다음의 2가지 방법이 있습니다. 종속변수는 마약을 하는지 여부(Y1), 또는 일년에 마약을 몇 번 하는지 그 횟수(Y2)라고 하고, 독립변수로 음주 여부(X1), 흡연여부(X2)라고 하죠. 그럼 다음의 데이터를 한번 보죠.

 

id

음주여부

(X1)

흡연여부

(X2)

마약여부

(Y1)

마약횟수

(Y2)

1

1

1

1

5

2

0

1

0

0

3

0

0

1

10

4

0

1

1

11

...

...

...

...

...

10000

1

0

0

0

만명에 대해서 음주여부와 흡연여부 그리고 마약여부와 일년에 마약을 하는 횟수에 대해 물어봤습니다.

 

일단 음주여부와 흡연여부가 마약여부에 영향을 미치는지 알기 위해서 통상 로지스틱 회귀분석을 합니다. 로지스틱 회귀분석의 경우 1의 경우, 즉 마약을 하는 경우가 최소한 전체 응답자 중에서 10%가 넘어야 합니다. 이건 이론적으로 나온 것이 아니라 경험상 1인 경우(0인 경우도 마찬가지입니다)10% 미만인 경우 통계 결과가 신뢰하기 힘듭니다. 저도 해보니까 이럴 경우 표준오차도 엄청나게 크고, 따라서 회귀계수도 엄청나게 크게 나옵니다.

 

포아송 회귀분석은 통계 프로그램에서 Y2를 종속변수로 설정하고 음주여부와 흡연여부를 독립변수로 설정하여 돌리면 됩니다. 이럴 경우 포아송 회귀분석이라 합니다.

 

이 경우 회귀계수의 해석을 잘 해야 합니다. 만약 음주여부의 회귀계수가 0.2가 나왔다고 하면 이 회귀계수의 해석은 다음과 같습니다. X1=1(음주를 하는 경우)인 경우 마약하는 횟수는 X1=0인 경우(음주를 안하는 경우) 마약하는 횟수에 비해 평균 22.1%(e0.2=1.221) 증가한다 이렇게 해석이 됩니다.

 

만약 정규분포의 경우처럼 처리하면 일반회귀분석 해석하는 것처럼 음주를 하는 경우 마약하는 횟수는 음주를 하지 않는 경우 보다 일년에 평균 0.2번 더 한다 이렇게 해석이 되고요.

 

이 경우 모형의 선택은 앞에서 이야기한 Wald 검증을 하거나 점근 LRT 를 이용하거나 합니다.

 

실제 경우에 있어 횟수를 종속변수를 하는 것보다 율(rate)를 종속변수로 하는 경우가 많습니다. 예를 들어 도시 범죄에 영향을 미치는 독립변수를 찾으려고 각 도시의 1년 범죄 횟수를 조사했다고 하죠. 그러나 도시에서 일어나는 범죄횟수는 도시의 규모에 따라 다 달라진다는 것이죠. 그래서 인구 만 명당 범죄회수 등 비율을 측정하여 분석하는 것이 타당합니다.

 

 

 

또 하나의 방법은 음주여부(X1), 흡연여부(X2), 마약여부(Y1)의 교차분석표를 만듭니다. 이 경우를 로그 선형모형이라 합니다. 간단하게 설명하기 위해 음주여부와 마약여부의 교차분석표가 다음과 같다고 하죠. 100명만 조사했다고 하죠.

 

구분

마약 안함

마약함

음주 안함

40

10

음주 함

20

30

 

 

그럼 각 셀의 빈도가 포아송 분포를 한다고 가정할 수 있습니다. 그럼 로그 선형모형의 모형식은 간단하게

 

M0: log(uij)=a+bi+cj

 

이렇게 모형을 세울 수 있습니다. 여기서 b는 음주여부, c는 마약여부입니다. 아니면 좀 더 복잡하게

 

M1: log(uij)=a+bi+cj+bcij

 

이렇게 됩니다. 이 모형은 포화모형(saturated model)이 됩니다.

 

 

 

간단한 모형은 독립모형이라고 하고 이 모형이 적절하다고 판단되면 bc, 즉 음주여부와 마약여부는 아무런 관계가 없다고 판단합니다. 그래서 음주여부는 마약여부에 아무런 영향을 미치지 못한다고 해석합니다.

 

그러나 적합도 검증 결과 간단모형이 M0보다 복잡모형인 포화모형 M1이 더 적절하다고 판단되면 이 경우 음주여부와 마약여부는 서로 관계가 있고, 음주여부는 마역여부에 영향을 미친다고 판단합니다.

 

 

 

여기서 포아송 회귀분석 모형과 로그 선형모형을 잠깐 비교해보죠.

 

포아송 회귀분석모형은 원 데이터, 즉 만명의 데이터를 다 사용합니다. 그리고 독립변수로 일반회귀분석과 마찬가지로 다양한 성격의 변수가 들어갈 수 있습니다.

 

이에 반해 로그 선형모형은 만명의 원데이타를 사용하는 것이 아니라 일단 교차분석표를 만들어 여기에 있는, 즉 우리의 경우 4가지 셀에 있는 4개의 데이터만을 사용합니다. 즉 표본수는 실제로는 n=4가 됩니다. 그래서 위의 복잡모형 M1의 경우 모수도 4개가 되어 이 모형이 포화모형이 됩니다. 모수 개수를 알려면 Agresti 책을 참고하기 바랍니다. Agresti의 개론 책이 한국에서 번역이 되어 있습니다.

 

 

또 교차분석을 해야 하기 때문에 변수가 최소한 범주형을 취해야 합니다. 만약 키나 몸무게 등 연속형 성격의 변수라면 이걸 범주형으로 변환을 해서 분석을 해야 합니다. 그리고 분석에 들어가는 변수의 수가 어느 정도 제한이 생깁니다. 변수가 4개 이상 들어가면 해석이 심히 어려워집니다.

 

 

 

로그 선형모형에 대한 또 하나 중요한 지적 사항이 있습니다. 통상 통계 모형에서는 종속변수 Y 또는 Y의 평균값, 또는 그 변환이 왼쪽에 있고, 오른쪽에는 이 종속변수를 설명하는 독립변수들의 함수 형태로 되어 있습니다. 그러나 로그 선형모형은 앞의 예제에서 보듯이 독립변수인 음주여부와 종속변수인 마약여부가 모두 오른쪽에 들어가 있습니다.

 

즉 로그 선형모형에서는 수식 자체에서는 독립변수와 종속변수의 구별이 없습니다. 단지 분석하는 사람이 알아서 독립변수와 종속변수를 해석하여 설명을 하는 것입니다.

 

 

그럼 왜 로그선형모형을 사용할 까요. 앞에서 음주여부와 마약여부 변수 2개만 들어 갔을 때는 매우 단순한 문제인데 이제 음주여부와 흡연여부, 마약여부 3개의 변수가 들어갈 때는 매우 다양한 모형을 설정할 수 있습니다. b는 음주여부, c를 흡연여부, d를 마약여부라고 하면 가장 간단한 독립모형인

 

M0:log(u)=a+bi+cj+dk

 

부터 시작해서

M1: log(u)=a+bi+cj+dk+bcij

M2: log(u)=a+bi+cj+dk+bdik

M3: log(u)=a+bi+cj+dk+cdik

M4: log(u)=a+bi+cj+dk+bcdijk

 

또 가장 복잡한 포화모형인

 

Ms: log(u)=a+bi+cj+dk+bcij+cdik+bdik+bcdijk

 

등 수 많은 모형들을 설정할 수 있습니다. 이 수 많은 모형 중에 가장 적당한 모형을 찾아내는 것이죠. 이 세 개의 변수가 어울려져서 만들어 낼 수 있는 수 많은 관계식 중 가장 최적의 모형을 찾는다는 것이죠. 그래서 4개의 변수가 들어가면 이루 말할 수 없이 복잡해집니다.

 

포아송 회귀분석에서도 독립변수간에 상호작용항을 설정하여 모형을 복잡하게 만들 수 있지만 로그 선형모형보다는 해석이나 분석이 간단합니다.

 

이렇게 3개의 변수만 들어가도 로그선형모형의 해석은 간단하지 않습니다. 이것도 궁금하신 분들은 Agresti 책을 참조하기 바랍니다.

 

 

 

다음에는 뉴련넷에서 이 적합도 개념을 학습에 어떻게 이용하는지 실제 SR 프로그램을 짜서 보여 드리겠습니다. 좀 귀찮네요. 옛날 공부할 때는 금방 짜겠지만 지금은 다 까먹어서. 하여간 옛날에 실제로 짜 본적은 없지만 한번 시도해보죠. 짜는데 시간이 좀 걸릴겁니다. 다른 일도 해야 하기 때문에요.

 

 

 

학습은 앞에 이야기한 적이 한번 있는데 통계학에서 모수(뉴런 넷에서는 커넥션, 또는 가중치) 추정과 같은 말입니다. 차이는 통계학에서는 오프라인 즉, 데이터를 통째로 다 사용하여 모수를 추정하지만 뉴련넷에서는 데이터 하나 하나 씩 받아 드려서 모수값을 계속 변형시켜 나갑니다. 즉 처음에는 적당한 값을 임의로 넣은 다음 새 데이터가 들어 올 때 마다 모수(커넥션이나 가중치)를 업데이트 합니다. 이런 방식을 온라인 방식이라 합니다.

 

그래서 통계학에서 하는 방법으로 나온 모수 추정값과 뉴런넷에서 하는 방식으로 하는 모수 추정값이 차이가 있는지 없는지도 중요한 관심 사안이 될 수 있습니다. 회귀분석에서는 대부분의 경우 별 차이가 없다는 이야기를 본 적이 있습니다.