혼합모형(Mixed Model)/패널회귀분석

최소제곱법의 이해

학위논문통계 2019. 6. 4. 08:53


 

 단 패널회귀분석을 더 나가기 전에 패널데이타에서 모형에 있는 모수를 계산하는, 통계학 용어로 추정하는 방법에 대해 기본적인 것을 알아보겠습니다. 이걸 알아야 이야기 전개 과정이 쉽게 이해가 될 수 있거든요.

 

여기서 이야기하는 방법은 최소제곱법, Least Squares라는 방법입니다. 이거 앞에서 이야기했듯이 Gauss가 천체 연구하면서 처음 시도한 것으로 알려져 있습니다. 음... 하여간 확인을 해 봐야 하는데 지금 기억에는 그렇습니다.

 

이 최소제곱법의 기본 원칙은 데이터를 D, 모형을 M 이라하면

    

 

거리(D, M)을 최소화 하자

  

  

이런 이야기입니다. 뭐 어려운 이야기는 아닙니다. 이 방법은 공학, 경영 혹은 여러분의 일상생활에서도 자주 사용하는 개념입니다.

 

예를 들어 방송사에서 어떻게 하면 시청율이나 청취율을 최대화할 것인가, 또는 기업에서 광고효과를 어떻게 최대화할 것인가, 아니면 일상생활에서 집에서 어떤 장소까지 갈 때 어떻게 하면 짧은 거리로 갈 수있는가, 또는 시간을 최소화 할 수 있는가, 아니면 시간은 걸리드라도 어떻게 하면 편하게 갈 수 있는가 이런 고민들을 하죠. 이런 문제를 해결하는 가장 쉽고 편한 방법이 최소제곱, 즉 LS 방법입니다.

 

그럼 최소제곱법을 적용하기 위해서는 일단 우리는 두 개의 물체간의 거리를 계산할 수 있어야 합니다. 그럼 이런 생각을 가질 수가 있습니다. “그거 당연히 계산될 수 있는가 아냐” 이렇게 생각할 수 있다는 것이죠. 그렇지 않습니다.

 

수학에서 이렇게 거리를 잴 수 있는 공간을 metric space라고 하고 굉장히 중요한 공간입니다. 이렇게 거리를 잴 수 있어야 우리가 계산(calculus)이 가능해지고 실제 문제를 해결할 수 있습니다.

 

약간 현실적인 예를 한번 들어볼까요. 여러분이 online 쇼핑을 하는데 정확한 물품명을 몰라, 아니면 실수로 오자를 칩니다. 그럼 쇼핑몰에서 오자를 눈치채고 여러 가지 추천 검색어를 제시해 줍니다. 이때 생기는 개념이 거리 개념입니다. 고객이 친 검색어와 거리가 가까운 검색어들을 추천해준다는 것이죠.

 

그럼 이때 우리가 이런 생각을 할 수 있습니다. 단어와 단어 간에 거리를 어떻게 정의하지? 이런 생각을 할 수 있다는 것이죠. 즉 수 많은 단어들의 집합이 흔히 수학에서 space라고 하고 여기서 원소인 단어와 단어간의 거리를 정의를 해 줘야 한다는 것이죠.

 

실제는 이렇게 작동되지 않습니다. 이미 수 많은 사람들이 바르게 검색한, 즉 쇼핑몰에 상품이라고 지정되어 있는 목록 중에서 가장 비슷한 것을 추천하는 것이죠. 수학적인 거리보다 실제 사람들이 인식하는 거리를 보고 추천하는 것입니다. 뭐 이런 수준의 것도 인공지능이라 뻥을 치니까요.

 

그래서 앞의 예를 보듯이 수학에서 공간이라는 것, 즉 흔히 우리가 아는 집합이라는 것이 단순히 숫자만의 모임이 아니라 우리가 상상할 수 있는 모든 object, 물체의 집합을 말합니다. 집합에서 어떤 수학적인 구조가 포함되면 그땐 공간(space)라고 합니다. 즉, 같은 집합이라도 다른 수학 구조가 들어가면 이 집합은 전혀 다른 공간이 됩니다.

 

 

그럼 앞에서 최소제곱법을

 

거리(D, M)을 최소화, 즉 데이터와 모형의 거리를 최소화하는 것이라 했는데 이게 잘 감이 안 잡히죠. 별 어려운 것 아닙니다. 중고등학교때 배운 겁니다.

 

 

예를 들어 중학교때 이런 문제 많이 풀어 봤을 겁니다. 두 점 (x1, y1), (x2, y2)가 있을 때 이 두점을 통과하는 직선을 구하라. 이런 문제가 있죠.

 

그럼 이걸 어떻게 풉니다. 직선을 y=b+b1x 이렇게 놓고, 두 점을 집어 넣어 연립방정식을 풀었죠. 이때

    

 

모형 M: y=b0+b1x

 

데이터 D: (x1, y1), (x2, y2)

    

 

가 됩니다. 이 경우 a와 b는 바로 구해집니다. 즉 이 연립방정식이 완전히 풀리고, 이 경우는 데이터가 모형에 완전히 적합되었다고 이야기를 합니다. 즉 회귀분석에서 결정계수 R2가 1이 되는 경우입니다.

 

그러나 만약 데이터가 3개 즉 (x1, y1), (x2, y2), (x3, y3) 이렇게 3개가 있는 경우 이 세 점을 통과하는 직선 y=b0+b1x를 구해 낼 수가 없다는 것이죠. 즉 연립방정식이 풀어지지 않아 b0와 b1을 구할 수가 없습니다. 그럼 이 3개의 점을 나타내는 데이터에서 우리의 모형 직선과 가장 잘 맞아 떨어지는 직선, 즉 b0와 b1는 어떻게 구할 수가 있겠나는 문제입니다. 즉 함수를 미분해서 최소화되는 b0, b1을 찾아야 합니다. 이게 바로 최소제곱법이라는 것이죠.

 

즉, spss에서 아래 데이터를 가지고 회귀분석에 가서 종속변수를 y로 하고 독립변수를 x로 지정하면 spss에서 자동으로 최소제곱을 사용하여 회귀계수 b0와 b1을 구해줍니다. 즉 추정해 줍니다.

 

      

x(독립변수, 설명변수, 원인변수)

y(종속변수, 결과변수)

x1

y1

x2

y2

x3

y3

 



그럼 이 경우에 거리를 어떻게 정의할까요. 앞에서 이야기한 것처럼 거리를 정의하는 것이 쉬운 문제가 아니라고 했습니다.

 

또 하나의 심각한 문제가 있습니다. 괜찮은 거리를 정의했으면 바로 이걸 적용해서 통계학에 나오는 모든 문제에 적용하면 될텐데 왜 골치 아픈 이론들이 나오는 것일까요? 이런 고민에 빠질 수가 있습니다.

 

문제는 여기에 있습니다. 우리가 가지고 있는 데이터 D=(x, y)는 표본에서 나온 것입니다. 즉 우리가 표본에 추출할 때 마다 이 D=(x, y)는 항상 다르게 나온다는 것이죠. 그래서 이 데이터 D가 랜덤하게, 즉 균등하게 나오면 별 문제가 없는데 만약 회귀분석에서 많이 쓰는 정규분포, 또는 희한한 포아송, 지수분포, 또는 이진 또는 다항 분포에서 나오는 경우도 이 최소제곱법을 사용하는 것이 좋은 것인가 하는 문제입니다.

 

즉 표본을 1000명을 대상으로 만 번 정도 추출을 합니다. 표본 수 n=1000이고 이런 표본을 만번정도 실행을 한다는 것이죠. 예를 들어 만개의 여론조사 회사에서 유권자 1000명을 대상으로 여론조사를 하여 최소제곱법을 이용하여 지지도를 조사했다고 생각을 해보죠. 그럼 이 만개 여론조사 회사에서 나온 만 개의 여론조사 결과, 여론 추정값을 평균적으로 생각했을 때 과연 이 최소제곱법으로 하는 것이 과연 좋은 것일까 하는 이런 의문이 생긴다는 것이죠.

 

 

여기서 골치 아픈 통계학 이론들이 나옵니다. 즉, 최소분산불편추정(MVUE)라는 주류 통계학의 주류쪽 이론이 있고, 최대가능추정량(MLE)라는 Fisher쪽 얘들이 주장, 즉 주류 중에서 비주류의 이론이 있습니다. 실제 현실에서는 주류 중의 주류인 MVUE 방식은 현실성이 없어서 사용하지 않고 다 MLE쪽을 사용합니다. 그래서 인공지능 책을 보면 통계학을 이용하는 분야는 다 MLE을 사용한다고 보시면 됩니다. 여기에다 표본이 무한대일 경우라는 극한의 개념을 추가하기도 합니다. 모형이 조그만 복잡해지면 MVUE는 이론적으로 구할 수가 없기 때문에 아무런 소용이 없습니다.

 

 

 

통상 거리는 우리가 알고 있는 직각삼각형에서 나오는 C2=A2+B2로 알고 있습니다. 즉 직각삼각형의 빗변의 길이를 구하려고 하면 바로 위의 공식을 사용합니다. 그래서 제곱이라는 말이 들어간 것입니다. 이 거리를 구하는 방법이 여러분이 대부분 중고등학교때 아니면 대학에서도 배우는 거리입니다. 이 거리가 바로 유클리디안 거리 개념입니다. 즉 평면기하학에서 나오는 거리 정의입니다.

 

이 거리, 즉 유클리디안 공간은 인류 역사상에서 정말 오래동안 진리처럼 사용되어 왔습니다. 그러다가 이 평면 공간 개념이 깨지기 시작합니다. 별로 어려운 것이 아닙니다. 여러분이 무수히 보고 자란 공에서 이 평면 기하학이 깨지기 시작합니다.

 

‘구’라는 것은 수학에서는 흔히 보는 공의 표면부분만 이야기하는 것입니다. 구의 안쪽은 구 내부, 구의 바깥쪽은 구 외부라는 또 다른 수학의 정의가 있습니다. 이건 여러분이 2차원에서의 구를 의미하는 원의 정의를 생각하시면 바로 이해가 될 것입니다.

 

이 구에서 직선은 어떻게 될까요? 간단한 문제가 아닙니다. 즉 구에서 2 점 (x1, y1, z1)과 (x2, y2, z2)을 연결하는 직선은 무엇인가 하는 문제입니다. 우리가 평면 기하학에서 생각하는 직선을 생각하면 이 두 점을 연결하는 직선을 생각하면 됩니다. 그러니 이 직선을 구, 예를 들어 지구를 뚫어서 생기는 직선입니다. 즉 지구의 내부를 통과하기 때문에 ‘구’라는 공간을 벗어나는 것입니다. 그래서 오로지 ‘구’ 에 포함되어 있는 점들을 연결해서 직선을 만들어야 합니다. 방법은 간단합니다. 여러분이 수박을 가장 크게 쪼갤 때 쓰는 방법으로 두 점을 연결해주면 됩니다. 이게 구에서의 직선의 정의입니다. 그래서 우리는 직선의 개념을 확장해서 두 점을 연결해주는 가장 짧은 선을 직선이라 하고 이걸 geodesic이라는 말로 사용합니다.

 

그래서 지구에서 경도는 직선이지만 위도는 직선이 될 수 없습니다.

    

 

또 구에서는 삼각형의 각의 합이 180보다 큽니다. 또 평행선이 존재하지 않습니다. 모든 직선은 만나게 되어 있습니다. 지금까지 우리가 진리로 알았던 유클리디안 공리가 구에 와서는 완전히 깨집니다.

 

그래서 3차원 공간으로 가면 우리의 진리 경험이 깨지기 때문에 중세에는 신을 나타내는 것을 제외하고는 3차원으로 그리지 않았다는 설이 있기 있습니다. 인간 세상은 오로지 2차원으로만 그렸다는 것이죠.

 

그럼 구와 반대되는 공간도 있을까요. 즉 삼각형 3각의 합이 180도보다 작은 공간이 있을까요? 말 안장이 그런 공간입니다.

    


 

그럼 이게 통계학에서 무슨 관계가 있을까요?

 

예를 들어 우리가 여론조사를 한다고 해보죠. 민주당 지지율 p1, 자한당 지지율 p2, 기타 정당 지지율 p3라고 하죠. 그럼 다음과 같은 공식이 성립됩니다.

 

p1+p2+p3=1

 

이 됩니다. 이걸 3차원에서 그리면 삼각형 모양의 공간이 나옵니다.

 

이걸 좌표를 변환해서 써보죠. w12=p1, w22=p2, w32=p3로 하면 

 

그럼 위의 식은

 

w12+w22+w32=1

 

그럼 우리가 모르는 그러나 알고 싶어 하는, 이걸 통계학에서는 모수, parameter라고 하는 것, 실제 지지율을 z1, z2, z3라 표시하죠. 그리고 표본조사를 해서 나와서 이 z1, z2, z3를 추정한 값을 w1, w2, w3라고 하죠. 그래서 항상 시끄러운 것이 이 여론조사에서 구한 w1, w2, w3가 실제 지지율 z1, z2, z3와 같은가 아니면 최소한 비슷한가 이런 것 같고 맨날 싸운다는 것이죠. 혹시 조작한 것이 아닌가 이런 싸움이죠.

 

그러나 우리가 이걸 구라고 생각하면 구 위에 있는 두 점 (z1, z2, z3)와 (w1, w2, w3) 가지고 싸우는 것에 불과합니다.

 

아래 구 그림에서 파란색 점이 우리가 모르지만 알고 싶어 하는 3개의 지지율 (z1, z2, z3)이고 빨간색 점이 우리가 여론조사에서 나온 추정값 (w1, w2, w3)가 흔히 여론조사 기관이 발표하는 지지도입니다. 그리고 타원형이 이 추정값을 가지고 구한 신뢰구간입니다.








  

즉 파란색 점이 95% 확률을 가지고 저 타원형 안에 있다는 이야기입니다. 즉 100번 여론조사하면 95번은 파란색 점이 저 타원형 안에 있고, 5번 정도는 저 타원형 밖에 있다는 이야기입니다. 그러나 실제 이론은 상당히 복잡합니다. 여론조사하는 얘들이야 이론을 모르니까 막 쓰는 것이고요. 자세한 것을 알려면 동시추론(simultaneous inference)이라는 것을 보시면 됩니다.

    


 

이 구에는 또 다른 골치 아픈 문제가 있습니다. 이 구에는 하나의 (x, y) 좌표를 도입할 수가 없다는 이야기입니다. 원은 우리가 짜르면 바로 1차원 직선이 됩니다. 그래서 원은 본질적으로 1차원 직선이기 때문에 간단히 x라는 하나의 좌표축만 도입하면 문제가 쉽게 해결됩니다. 그러나 구는 성질상 2차원이지만 여기에 (x, y)라는 2차원 좌표 하나를 도입할 수가 없다는 것입니다. 평면 지구 그림이 이상하게 그려지고, 그리는 방식에 따라 다 달라진다는 것이죠.

 

그래서 사람들이 생각한 방법이 바로 걸레를 만들 때 쓰는 방법, 2개의 평면을 겹쳐서 꿰매는 방법을 생각한 것입니다. 아래 그림처럼 하는 것이죠. 그럼 각각 평면에 좌표축을 도입하면, 겹쳐진 부분에서는 2개의 좌표축이 헷갈리게 존재하게 됩니다. 예를 들어 여러분이 현재 지구 위에서 서 있는 지점에서 보는 2차원 평면을 생각하고, 즉 탄젠트 공간이죠. 그러다가 1000m정도 더 가서 거기서 또 여러분이 보는 탄젠트 평면 공간을 생각하면 됩니다. 그러나 이 두개의 평면 공간을 하나의 공간처럼 만들려면 서로 연결을 해야 합니다.  







 



이렇게 여러 개의 쉬운 공간을 겹치게 해서 원래 기하학적인 공간을 둘러쌓아서 생각하는 공간을 다양체(manifold)라고 합니다. 그럼 이 다양체에서 문제는 겹치는 공간에서 어떻게 우리가 계산을 할까 하는 문제가 생겨납니다. 즉, 우리가 구를 여행할 때 이 겹치는 공간에서는 좌표전환을 해서 계산을 해야 제대로 여행을 할 수 있다는 것이죠.

 

이렇게 우리가 눈에 보는 물리적 현상이 이 좌표전환에 따라서 어떻게 변화하는가를 공부하는 수학을 tensor라고 합니다. 제가 알기로는 아인쉬타인이 만든 것으로 압니다. 실제로 배에서 항해를 할 때, 또는 비행기 여행을 할 때, 아니면 우리가 운전을 할 때 GPS가 위치를 알려주는 것도 다 이런 좌표전환을 해서 알려주는 것입니다.

    

 

문제는 구만 해도 골치 아픈 공간인데 이게 우리의 공간 개념이 우주로 확장이 되면 더 골치아픈 공간이 생겨납니다. 이게 상대성 이론에 적용한 공간입니다. 우리가 앞에 거리를 잴 때 제곱을 해서 전부 다 더했습니다. 그러나 상대성 이론으로 가면 3차원에서 시간 좌표가 하나 더 더해지면 이땐 더하기가 아니라 빼기를 해야 합니다.

 

일반상대성 이론은 제가 공부한 것과 관계가 없어 잘 모르지만 먼저 발표한 특수 상대성 이론의 수학 계산은 중학교 수학만으로도 충분히 이해가 됩니다. 단지 그 결과가 우리의 경험 세계와 맞지가 않아서 공식을 이해하기가 쉽지 않다는 것이죠.

 

    

 

뉴톤의 역학 언어는 우리가 맨날 현실에서 경험하는 것이기 때문에 이해는 됩니다. 그러나 우리가 안으로 파고 들어가 미시 세계로 가거나 아니면 밖으로 무한히 확장해서 우주의 공간으로 가면 우리가 현실에서 경험하는 경험 논리로서 이해하기가 상당히 힘듭니다. 그래서 양자역학에서 하는 조언은 “이해 하지 마. 무조건 받아 드려”. 그래서 자신들이 진술한 것이 계속 관찰치와 맞으면 OK, 아니면 또 다른 진술을 내 놓은 것이죠.

 

 

 

그럼 다음 이야기는 이 최소제곱법이 왜 패널회귀와 관련이 있는지 이야기를 더 해보죠.