인공지능관련/인공지능(AI)

적합도4

학위논문통계 2017. 7. 9. 23:16



 

1. 모형선택과 가설검증

 

지난번에 이야기한 것을 더 해보죠. 간단모형(nested model)과 복잡모형(full model)이 있다고 하죠. 예를 들어 회귀분석에서

 

M0: Y=b0+b1*X1+e

M1: Y=b0+b1*X1+b2*X2+e

 

이 경우는 M0는 M1의 특수한 경우입니다. 즉 b2=0이면 M0가 되는 것이죠. 이럴 경우 M0는 간단모형, M1은 복잡모형이 되는 것입니다.

 

그러나

 

M0: Y=b0+b1*X1+b2*X2+e

M1: Y=b0+b1*X1+b2*X12+e

 

이 경우는 M0와 M1을 비교할 때 어느 쪽이 간단하고 복잡한지 비교할 수 없습니다.

 

간단모형하고 복잡모형을 비교할 때 복잡모형의 적합도는 간단모형의 적합도보다 항상 좋아진다고 했습니다. 그러나 적합도가 좋아진다고 해서 항상 복잡모형을 선택하는 것은 아닙니다. 만약 그렇게 한다면 우리는 독립변수에 수 많은 변수를 집어넣은 모형을 항상 선택해야 합니다. 그래서 적합도가 좋아지는데 상당히 좋아져야지 이때야 우리는 복잡모형을 선택합니다.

 

그럼 문제는 어느 정도 좋아져야 선택하는가 하는 문제에 부딪칩니다. 즉 어떤 기준을 과학적, 이론적으로 제시해야 합니다.

 

통상 이 경우 우리는 통계학의 가설 검증 이론의 도움을 받습니다.

 

그런데 앞에서 여러번 이야기했지만 회귀분석같이 정규분포에 선형모형식이 아니면 수학적으로, 이론적으로 전개하기 힘듭니다. 즉 깔끔한 수식으로 만들어 내기가 힘듭니다. 그래서 통상 표본수가 무한대로 간다는 가정을 내세워 점근적으로 문제해결을 하고 컴퓨터에서 수치해석을 통해 값을 구합니다.

 

그럼 이 점근적 가설검증하는 방법을 한번 알아보겠습니다.

 

첫째가 Wald 방식입니다. 이건 모수 추정을 MLE로 하면 이 모수 추정치는 표본수가 무한대로 가면 MLE 추정치가 평균이 진짜 모수값을 가지는 정규분포한다는 이론이 있습니다. 즉

 

MLE 추정치 b --> 정규분포(모수 , 점근 표준오차)

 

이렇게 된다는 것이죠. 이걸 표준화해서 =0이라는 귀무가설을 검증합니다. 귀무가설이 맞다고 하면 간단모형을 받아드리고 귀무가설이 아니다고 판단되면 복잡모형을 받아 드리는 것이죠.

 

이 Wald 값은 통계 프로그램에서 많이 제시를 해 줍니다.

 

두 번째는 score 함수를 이용하는 것입니다. 이건 그냥 넘어가죠.

 

 

세 번째는 Fisher 계통의 학자들이 주장하는 LRT(Likelihood Ratio Test:가능성비 검증)입니다. 이 가설 검증도 주류 중의 주류들이 주장하는 방법이 있는데 전혀 쓸모가 없고요. 이 Fisher 계열의 LRT도 간단한 경우 아니면 별로 쓸모가 없습니다. 그러나 n이 무한대로 갈 경우 이론이 있어서 많이 사용합니다.

 

먼저 LRT가 먼저 한번 볼까요

 

기능성비 LR = 최대가능성(간단모형 M0) / 최대가능성(복잡모형 M1)

 

여기서 최대 가능성은 모형 M0와 M1안에 있는 모수를 MLE로 추정해서 구해낼 수 있습니다.

 

즉 간단모형 M0가 나올 수 있는 최대 가능성과 복잡모형 M1이 나올 수 있는 최대가능성간에 서로 큰 차이가 없으면, 즉 1에 가까우면 간단모형을 선택하고, 즉 귀무가설을 받아 드리고, 이 차이가 크면 즉 0에 가까이 가면 대립가설 즉, M1을 받아 드립니다.

 

그럼 수식이 조금 복잡하니까 위 식에 log을 취합니다. 또 대부분 통계 분포가 지수분포를 하니까 log을 취하면 수식이 매우 간단해집니다. 수식을 간단히 표현하면

 

log LR=log(M0)-log(M1)

 

이 됩니다. 이걸 또 -2을 곱하면

 

-2*log LR=-2*(log(M0)-log(M1))

 

이젠 이 값은 양수가 되고 표본수 n이 무한대로 가면 카이제곱 그리고 자유도는 M0모형과 M1모형의 모수 차이로 간다는 이론이 있습니다. 대부분 이걸 이용합니다.

 

 

그러나 대부분 책에는 이 이론을 포화모형(saturated mode)를 가지고 설명합니다. 왜 포화모형을 가지고 설명하는지 아직까지 잘 이해가 안되고요. 포화모형에 대해 엄밀하게 정의한 책은 아직 보지 못했습니다. 대충 표본수 n과 예측 모형식의 모수의 수가 같은 모형, 적합도가 1인 모형이라고 이야기들 합니다. 다음에 조금 자세히 설명하겠습니다.

 

구조방정식에서 카이제곱 검증이 많이 나오는데 이 카이제곱 검증이 이 이론에서 나오는 것입니다. 한국에서 구조방정식 책 쓰는 사람들이 통계 전문적인 이론을 몰라 이런 것들을 설명하고 있지 않죠.

 

 

2. 구조방정식에서 예

 

 

그럼 구체적으로 한번 알아 볼까요. 구조방정식에서 기초적으로 나오는 카이제곱 검증이 있습니다. 이 경우는 단순모형 M0가 여러분이 설정한 연구모형입니다. 그리고 복잡모형이 가장 복잡한 모형, 즉 포화모형 Ms입니다. 그러면 가설은 이렇게 됩니다.

 

귀무가설: 내가 설정한 연구모형 Mo가 맞다.

대립가설: 포화모형 Ms가 맞다.

 

그래서 구조방정식을 돌리면 거의 모든 경우에 카이제곱이 유의적으로 나와 대립가설, 즉 포화모형 Ms가 맞다로 나오고 여러분이 설정한 연구모형 M0가 틀리다고 나옵니다.

 

여러분이 설정한 연구모형 M0가 틀리다고 나오니까 이 검증은 더 이상 사용되지 않고 요새는 자유도로 나눈 평균 카이제곱을 사용합니다.

 

구조방정식에서 두 번째로 나오는 카이제곱 검증이 있습니다. 데이터를 돌려보니까 연구모형 가설에서 유의적이지 않는 인과관계가 나왔다고 하죠. 그러면 앞에서 계속 이야기한 바와 같이 절약의 법칙에 따라 우리는 가능한 간단한 모형을 선호합니다. 그래서 유의하지 않은 인과관계를 제거하고 더 간단한 경쟁모형, 대체모형을 제시합니다.

 

이 경우 새로 제시한 경쟁모형, 대체모형이 더 간단한 모형이고 원래 연구모형이 더 복잡한 모형입니다. 그래서 가설은

 

귀무가설: 더 간단한 경쟁모형, 대체모형 M0가 맞다.

대립가설: 원 연구모형 M1이 맞다.

 

이렇게 됩니다. 그래서 카이제곱 검증에서 유의하지 않아야 귀무가설 즉, 새로 제시한 더 간단한 모형, 경쟁모형, 대체모형이 맞다라고 해석되고 이렇게 나와야 논문에 경쟁모형, 대체모형을 추가로 넣을 수가 있습니다. 만약 카이제곱이 유의적으로 나오면 원 연구모형을 계속 사용해야 합니다.

 

 

여기서 주의!!

 

구조방정식 처음에 나오는 기초적인 카이제곱 검증에서는 여러분이 설정한 연구모형이 더 간단한 모형 M0가 되는 반면 경쟁모형, 대체모형을 제시하는 경우 여러분이 설정한 연구모형이 반대로 더 복잡한 모형 M1이 되고, 더 간단한 모형은 경쟁모형, 대체모형이 됩니다.

 

 

 

포화모형 Ms가 적합도가 가장 좋은 모형이고 우리가 선정한 단순모형 M0과 복잡모형 M1은 포화모형 Ms의 적합도보다는 안 좋습니다. 그래서 (Ms 적합도-M0 적합도), (Ms 적합도- M1 적합)라는 개념을 생각할 수 있습니다. 이 개념을 이탈도(deviance)라고 합니다. 이 두 개의 이탈도를 빼면

 

(Ms 적합도-M0 적합도)- (Ms 적합도- M1 적합도)

=M1의 적합도- M0의 적합도

 

로 앞의 경우와 같은 모양이 됩니다. 즉 적합도를 log LR라 생각하고 또 앞에 -2를 곱하면 대표본 이론, 즉 표본수 n이 무한대로 갈 경우 앞에 이야기한 이론과 일치하게 됩니다. 너무 복잡하게 생각하지 마시고 전반적인 이론 전개가 이런 방향으로 간다는 것만 아시기 바랍니다.

 

 

 

3. 회귀분석 경우

 

 

이 LRT를 이용하는 것은 앞에서 이야기한 정규분포이고 선형함수를 모형식으로 이용하는 일반 회귀분석에서 결정계수 R2를 이용하는 것과 일치합니다. 한번 풀어 보세요.

 

      

 

일반 회귀분석에서는 앞의 표본수 n이 무한대로 가정하지 않아도 수학적으로 잘 풀어집니다. 구체적인 예를 들어 보겠습니다.

 

예 1)

 

귀무가설: 간단모형 M0: Y=b0+b1*X1

대립가설: 복잡모형 M1: Y=b0+b1*X1+b2*X2

 

이럴 경우 어떻게 모형을 선택할까요. SPSS에서 단계별로 독립변수를 넣은 메뉴가 있습니다. 한국에서는 위계적 회귀분석을 하는 것으로 잘못 알고 있는 방법입니다. 그래서 SPSS에서 1단계에서 독립변수를 X1만 설정하고 추가로 2단계에서는 독립변수 X2를 설정합니다. 그리고 옵션에서 결정계수 변화를 구하라고 설정합니다.

 

그러면 독립변수 X2가 추가됨에 따라 적합도, 즉 결정계수의 증가분 dR2 을 구해주고 이 적합도 증가 dR2이 유의하진 판단해 주는  F 검증을 해줍니다.

 

사실 이 경우는 구태여 단계별로 회귀분석을 할 필요가 없습니다. 그냥 SPSS에서 복잡모형의 나오는 독립변수 X1과 X2를 동시에 투입하고 b2에 대한 t 검증만 봐도 됩니다. 실제로 한번 해보세요. 그럼 b2에 대해 나온 t 값을 제곱하면 처음에 단계별 회귀분석에서 나온 F 값과 정확하게 일치하고 p 값도 정확하게 일치합니다.

 

예 2)

 

조금 복잡한 경우를 보죠.

 

귀무가설: 간단모형 M0: Y=b0+b1*X1

대립가설: 복잡모형 M1: Y=b0+b1*X1+b2*X2+b3*X3

 

이 경우도 단계별 회귀분석을 하면 됩니다. 즉 1단계에서는 독립변수를 X1으로 설정하고 2단계에서는 추가적으로 더 투입된 X2와 X3를 설정하면 됩니다. 그럼 예1)과 마찬가지로 독립변수 X2와 x3가 추가로 투입됨에 따른 적합도 증가 즉 dR2 를 구해주고 또 이 적합도 증가가 유의하지 검증하는 F 값도 구해줍니다.

 

그래서 SPSS에서 단계적 회귀분석은 위의 예처럼 단순모형, 복잡모형간의 어떤 선택을 할 건지 검증하기 위해서 나온 것이지 위계적 회귀분석하고는 본질적으로 관계가 없습니다.

 

좀 더 복잡한 이야기가 더 깔려있지만 더 나가면 골치 아파 할 것 같아서 여기서 줄이고요.

 

다음 글은 지난번에 이야기한 회귀분석에서 피타고라스 정리와 포화모형의 경우를 더 설명하겠습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


'인공지능관련 > 인공지능(AI)' 카테고리의 다른 글

적합도5  (0) 2017.07.21
적합도3  (0) 2017.06.12
적합도3  (0) 2017.05.21
적합도2  (0) 2017.05.20
적합도1, 모형 선택  (0) 2017.05.11