표와 그래프: 행렬로 푸는 최소자승 회귀모형(7)

(2) 선형대수에 다소 익숙한 독자를 위한 설명

다중회귀분석에는 행렬(matrix) 계산이 필요하다. 단순회귀모형에 예측변수나 통제변수가 추가되면 회귀모형의 항(term)이 늘어나고 여러 개의 회귀계수를 추정해야 하기 때문이다. 정규방정식 도출과정에 필요한 값들을 아래와 같이 정의하고 시작하자.

    

잔차를 로 표시하면, 잔차제곱합은 행렬로 식 (1)과 같이 표현된다.

그런데, 이고, 이므로,

식 (2)를 식 (1)에 대입하면,

그런데 식 (3)에서  가 대칭행렬이므로 그것의 전치행렬인 는 그 자신과 같다. 이므로 로 쓸 수있다.

최소자승법을 적용하려면 식 (3)을 에 관해 미분한 값을 0으로 만드는  값을 구한다.

식 (4)에서 는 가 대칭행렬이므로 이차형식(quatratic form)이다. 이차형식의 미분은 앞 전치 벡터 부분을 2로 바꾸어 주면 되므로  이다.

최소자승의 조건은 식 (5)로 간단히 정리된다.

식 (5)의 첫 항을 우변으로 넘겨서 다시 쓰면,

양변을 2로 나누면,

양변에 의 역행렬을 곱해주면(는 정방행렬이 아니라 역행렬이 존재하지 않으므로, 의 역행렬을 곱해준다),

그러므로

이는 최소자승법에 의한 회귀계수 추정값은 X의 대칭행렬(X의 전치행렬과 X 행렬의 곱)의 역행렬에 X의 전치행렬과 Y 벡터를 곱하면 구할 수 있음을 의미한다. 단순회귀모형만 놓고 본다면, 이것은  표와 그래프(4): 최소자승 회귀분석에서 나온 식 (7)과 (8)의 정규방정식을 행렬로 표현한 것이다. 그런데  행렬접근을 하면, 대수적 접근과 달리독립변수가 몇 개이든 회귀계수를 구하는 데 이 공식 하나면 충분하다. 그래서 회귀모형의 정규방정식이라고 불린다. 그것은 행렬이 주는 큰 혜택이다. 데이터를 가지고 이 행렬의 연산을 수행하면 회귀계수를 구할 수 있다.

예측변수가 3개 이상이 되면 대수를 사용해 회귀모형을 찾기는 간단치 않다. 따라서 그 과정에 행렬이 사용되어야 한다. 최근에는 고등학교 인문계 교과과정에 행렬이 빠져서 인문계 대학생들이 회귀분석이나 데이터과학을 공부하는 어려움을 겪고 있다.

그런데 사실 회귀모형 계산 과정을 완전히 이해하지 못한다고 현실에서 다중회귀분석을 사용할 수 없는 것은 아니다. 다중회귀모형을 개념적으로 이해하는데 회귀계수의 도출 과정에 대한 이해가 꼭 필요한 것도 아니고, 회귀계수를 계산하는데도 그 과정이나 공식에 대한 이해가 꼭 필요한 것도 아니다. 회귀계수를 찾는 과정을 수학적으로 잘 이해하면 자신이 사용하는 통계기법의 전체를 이해하지 못해 가졌던 찝찝함을 떨쳐 버릴 수 있어 좋기는 하지만 말이다.

또한 행렬 접근은 독립변수의 갯수가 증가하고 표본의 크기가 커지면 부딪치게 되는 소위 ‘차원의 저주’를 이해하는데도 도움이 된다. 독립변수의 갯수가 증가하면 X 벡터의 차원이 증가하며, 표본의 크기가 크게 증가하면 방정식의 갯수(사례수와 같다)도 그만큼 많이 증가한다. 그렇게 되면 아래의 행렬은 엄청나게 커지게 된다.

독립변수(혹은 예측변수)의 갯수(p)가 1천개이고, 표본의 크기(n)가 3천만 개라고 상상해 보라. 1천개의 항을 가진 방정식 3천만 개를 가지고 해를 찾아야 하지 않겠는가. 그 계산은 고성능 PC조차도 크게 힘겹다.

때문에 빅데이터 분석에서 회귀 모형(알고리즘)은 인기가 좋지만 표본의 사례를 모두 써야하는 최소자승법 대신 일부 사례만 가지고도 적합선을 찾을 수 있는 경사하강법이 사용된다.

그렇다고 최소자승 회귀모형이 시대에 뒤떨어진 것이라고 말할 수는 없다. 아직도 그리고 앞으로도 오랫동안 많은 분야에서 최소자승 회귀모형이 사용될 것이다. 대학에서 그것을 공부할만한 가치가 충분하다고 생각된다. (2019-12-07)

떠남….(1)

대학을 떠난다는 사실이 드디어 실감나기 시작했다.

몇 주에 걸쳐서 내 수업을 듣는 학생들 7~8명과 돌아가면서 점심 식사를 하고 차를 마시면서 작별 인사를 했다. 수십명이 한꺼번에 모여 퇴임식을 갖기보다 그렇게 하는 편이 나을 것 같았다.

지난 화요일(2019-12-03)에는 수업에서 만나지 못하는 학생들과 송별회를 가졌다. 주로 3~4학년 학생들이 참석했다.

학교 앞 미스터피자에서 작별모임을 끝내고 단체 사진을 찍었다.

함께 피자를 먹으면서 얘기를 나누었다. 신입생 O.T.에서 나를 처음 만났던 자리를 기억하는 학생들, 연구실에서의 개인 면담을 기억하는 학생들, 특정 과목의 수업 때문에 나를 기억하는 학생들, 2015년 필암 집 방문을 기억하는 학생들….학생들이 나와 얽힌 다양한 모습을 회상해 주었다. 이보다 고마운 일이 어디 있으랴.

그 송별연에서의 대화와 소그룹의 학생들과 나누었던 대화 중 가장 인상적이었던 에피소드 몇 가지만 기록해 두어야겠다. 그것은 교수가 자신의 수업을 얼마나 정성들여 진행해야 하는가를 알려주기 때문이다.

여러 학생들이 고등학생 때 ‘수포자’였다가 내가 가르치는 통계 수업을 듣고 통계에 자신이 생겼다고 소회를 밝혔다. 그들은 사회조사분석사 시험을 치겠다거나 심지어 데이터 분석 분야로 진출을 준비하고 있다며 희망 가득한 눈을 반짝였다. 그들은 내게 가르치는 일에 대해 커다란 보람을 느끼게 해주었다. 그런 학생들이 한두명도 아니고 여러 명이라니!!! 얼마나 고마운 일인가.

사실 몇 년 전 사회통계 수업을 맡게 되면서 나는 하나의 결심을 했다. 학생들에게 통계는 물론이고 그에 관련된 수학을 배우는 ‘마지막’ 기회를 만들어 주겠다는 것이었다. 사회과학 전공을 택한 적지 않은 학생들이 소위 수포자인데, 그들이 즐겁게 통계를 배우게 하려면 반드시 그렇게 해야만 했다.

아마도 그 학생들은 중고등학교에서 이런 경험을 했을 지도 모른다. 중학교 때 선생님은 “이것은 여러분이 초등학교에서 다 배웠지요?”, 고등학교 때 선생님은 “이것은 여러분이 초등학교와 중학교에서 다 배운 내용이지요?” 혹은 최악의 경우에는 “여러분 이것 다 학원에서 배웠지요?” 하면서 수업을 따라가는 데 필요한 기초 지식을 다져주지 않은 채 진도를 나가는 경험 말이다. 대학에서마저 그렇게 한다면 어쩌면 그들은 새로운 수학 지식을 획득할 기회를 영원히 놓쳐버리고 말 것이라는 생각이 들었다. 그래서 적어도 70~80%의 학생들이 수업을 잘 따라오지 않는 한 학생들이 강의를 이해하는데 필요한 무엇이든 추가해 가르치기로 했다. 그것이 엑셀 사용법이든 아니면 수학이든. 진도를 나가는 게 무슨 소용인가? 학생들이 강의를 이해하지 못한다면.

어떤 학생은 이 얘기를 내게 꼭 들려주어야겠다는 생각을 하며 왔다면서 학기 중간 강의 평가에 대한 경험을 얘기했다. 원래 강의평가는 익명이다. 그런데 그 학생은 자신이 쓴 강의 평가 내용을 밝혔다. 30여 년 대학에서 가르치면서 그런 일은 처음이었다! 강의평가에 자신은 엑셀을 처음 배워서 잘 따라가지 못하니 강의를 천천히 해주었으면 좋겠다는 내용을 썼다는 것이었다. 그런데 중간시험 기간 후 내가 수업에서 엑셀로 문제를 푸는 과정을 눈에 띄게 천천히 하더라는 것이었다. 그래서 “아직 이런 교수님도 있나?”하는 생각이 들었다고 한다.

고백하자면 나는 학생들의 강의 평가를 그다지 성실하게 읽지 않은 교수이다. 특히 최근에 도입된 학기 중간 강의 평가를 나는 통상 읽지 않는다. 수업으로부터 과도한 스트레스를 받기 싫어서이다. 그런데 이번 학기는 예외적으로 그것을 읽었다. 그리고 그 학생이 쓴 강의 평가를 보고 내가 학생들을 제대로 배려하지 못했구나 하는 반성을 하게 되었다. 그래서 중간시험 기간 후 최대한 천천히 또박또박 강의를 하려고 노력했다. 그런데 그 학생이 수업에서 그 변화를 느낀 것이었다.

그 학생이 고맙기도 하고 무섭기도 했다. 수업 중 교수의 그 작은 변화를 그렇게 크게 느끼다니….

한 학생은 깨알 같은 글씨로 쓴 긴 내용의 편지를 주었다. 아마도 지난 10여년 동안 내가 받아본 가장 정성스러운 손편지가 아닌가 싶다. 편지는 내 수업들이 자신의 생각을 넓히고 진로를 결정하는 데 큰 도움이 되었다는 내용이다. 그 학생은 공부를 아주 잘 한다. 내 생각에 그는 학자적 자질을 충분히 지니고 있다. 중간에 좌절하지 말고 꾿꾿하게 학문의 길을 간다면 세계 최고의 대학에서 박사를 받고 훌륭한 학자가 될 수 있을 것으로 기대된다. 이 학생의 편지를 오래 오래 간직해야겠다.

그 학생은 평소 조용한 편이었다. 그런데 그 안에 그렇게 깊은 생각이 숨어있을 줄이야. 섬뜩하다! 내가 최선을 다해 준비하지 않고 임했던 수업들도 많았는데….학생들을 대할 때는 어느 순간에도 정성을 다해야 하거늘.

1백 여년 전 외증조부님은 당신이 가르치던 기숙 서당에서 한밤 중에 불이 났는데 학생들을 구하다 당신 생명을 잃었다. 그 정도의 정성으로 학생들을 대해야 하는 건데 나는 그보다 한없이 부족했다. 부끄럽다. 내 후손 중 혹시 다시 선생이 나온다면 외증조부님만큼 지극 정성으로 학생을 사랑하길 바란다.

재직하는 동안 내가 학생들에게 영향을 준다는 사실을 거의 느끼지 못했는데 학생들이 쏟아놓은 기억의 토막들은 내게 감동으로 다가왔다. 교수가 나름 가치와 보람이 있는 직업이라는 사실을 절실히 느낄 수 있었다. 그런 줄 알았으면 더욱 열심히 지도하는 건 데….후회 막급이다. 그런데 이제 돌이킬 수 없다.

학생들이 선물해 준 꽃다발은 내가 일생 받아 본 것 중 가장 아름다웠다. 화병에 꽃을 옮겨 놓던 아내도 감탄을 금치 못했다. 아마도 학생들의 따뜻한 마음이 담겨서 더욱 그러했으리라.

아내가 학생들이 선물해준 꽃다발을 화병에 옮겨 거실 탁자에 올려놓았다.

다음 주가 마지막이다. 어떻게 끝내면 좋을까? 힘이 들어서 이번 주로 수업을 마치고 싶었지만 조금이라도 더 배우겠다는 학생들의 진지한 모습에 차마 말을 꺼내지 못했다. 어떻게든 학생들이 하나라도 더 배우게 해줘야겠다. (2019-12-05)

표와 그래프(6): 더미변수 만들기

연구자가 단일 변수에 대해 분석하는 경우 측정 수준에 따라 표와 그래프 접근을 구분해 사용하는 데 혼란이 일어날 일은 거의 없다. 범주형 변수(categorical variable)에는 표를 사용하고 수치형 변수(numerical variable)에는 그래프를 사용하면 된다.

혼란은 두 개 이상의 변수들 사이에 존재하는 관계를 분석하는 경우에서 발생한다. 그 경우도 변수들의 측정 수준이 모두 같으면 단일 변수의 경우처럼 표와 그래프 접근을 분별해 사용하면 될 것이다. 하지만 독립변수(예측변수)와 종속변수(반응변수)의 측정 수준이 다르면 어떻게 해야 할까? 특히 독립변수가 여러 개이고 그것들의 측정 수준이 다양하다면 어떻게 해야 할까?

예컨대 종속변수가 범주형 변수인데, 독립변수들이 수치형 변수인 경우도 있을 것이고, 종속변수가 범주형인데, 독립변수들이 범주형과 수치형이 섞여 있는 경우도 있을 것이며, 반대로 종속변수가 수치형인데, 독립변수들이 범주형이거나 범주형과 수치형이 섞여 있는 경우도 있을 것이다. 그럴 때는 표와 그래프 접근 중 어떤 쪽을 선택해야 할까?

연구자가 표 접근을 선호한다면, 모든 변수를 범주형으로 변환해서 교차표 분석을 하고자 할 것이다. 수치형 변수를 범주형 변수로 변환하면 데이터에 담긴 정보를 잃게 됨을 피할 수 없다. 만약 그 정보 상실이 심각한 문제라고 판단되지 않는다면 교차표 접근을 취하고 카이자승을 사용한 독립성 검정을 하거나 로그 선형 모형을 적용하여 변수들의 관계를 분석하면 될 것이다.

수치형 변수를 범주형으로 변환하는 작업은 몇 개의 범주로 나누는 것이 가장 이상적인가는 늘 논란의 여지가 있지만 기술적으로는 매우 간단하다. 엑셀의 피벗테이블에서 그룹 기능을 사용하면 손쉽게 원하는 수만큼의 범주를 생성할 수 있다. 그다음에는 교차표 칸들의 빈도가 어떤가를 눈으로 보면서 적절한 갯수의 범주를 찾아갈 수 있을 것이다. 여기서는 이에 대한 설명은 생략한다. 그에 대해 관심이 있는 독자는 본인의 게시글 중 “어떻게 하면 교차표를 잘 만들 수 있나?”를 참조하기 바란다.

연구자가 그래프 접근을 선호한다면, 상관계수나 회귀모형을 적용하게 될 것이다. 그 경우는 범주형 변수를 모두 수치형 변수로 변환해야 한다. 그 변환을 통해서 각 변수에 대해 의미 있는 평균을 얻을 수 있다면 각 분석 기법의 전제조건(가정)을 크게 위반하지 않는 범위 내에서 그래프 접근이 사용될 수 있다.

범주형을 수치형으로 바꾸는 방법은 더미변환(dummy transformation)이다. 즉, 기존의 범주형 변수로부터 더미변수(어떤 학자들은 그것을 가변수 혹은 모의변수라고 부른다)를 생성하는 것이다.

더미변수 생성에는 반드시 세 가지 점에 유념해야 한다. 첫째, 범주에 대해 0과 1의 수치를 부여한다. 둘째, 범주 수보다 하나 적은 갯수만큼의 변수를 생성한다. 셋째, 더미변수(들)에 대해 적절한 변수명을 붙인다. 사례를 가지고 더미변수를 만들면서 공부해보자.

먼저 가장 간단한 이진변수(binary variable)의 경우를 보자. 설문조사 데이터라면, 성별에 관한 문항 혹은 응답범주가 예/아니오만 있는 문항이 여기에 해당된다. 설문조사에서 성별은 대체로 남자와 여자를 1과 2로 코딩되어 있다. 대체로 여성에게 1, 남성에게 2가 부여되거나 그 반대이다. 예/아니오의 응답도 마찬가지이다. 원래 데이터 파일에 어떻게 코딩이 되어 있든지 더미변수가 되기 위해서는 코딩이 0과 1로 변환되어야 한다. 

만약 성별이라는 변수가 여성은 1, 남성은 2로 코딩되어 있다면, 연구자는 그것으로부터 여성이라는 새 더미변수를 만들 수 있을 것이다. 새 더미변수 여성은 여성 1, 남성 0이라는 새 코드를 갖는다. 새 더미변수가 남성일 수도 있을 것이다. 그 경우 여성 0, 남성 1의 코드를 갖게 한다. 성별의 범주는 여성과 남성 두 개이지만 그것으로부터 생성된 더미변수는 반드시 여성이거나 남성 하나 뿐이어야 한다.

더미변환 표를 사용하면 도움이 된다. 더미변환 표에서는 행에 원래 변수의 범주를 두고, 열에 새 더미변수를 둔다. 아래 표에는 성별이라는 변수로부터 여성이라는 더미변수를 생성했다.

성별여성
여성(1)1
남성(2)0

만약 새 더미변수의 이름을 그냥 원래 변수 이름 그대로 성별이라고 한다면 혼란이 야기될 수도 있다. 우선 성별 1 혹은 성별 0이라는 범주가 의미를 지닐 수 없다. 더구나 새 더미변수의 평균을 계산했는 데 0.6이 나왔다면 이미 기호적 혼란이 발생한다. 뿐만 아니라 나중에 어떤 범주를 1로 두었고, 어떤 범주를 0으로 두었는지를 기억할 수 없다는 문제도 있다.

새 더미변수의 이름을 여성으로 하고 여성에게 1을, 남성에게 0을 부여하면 의미의 혼란을 피할 수 있다(변수명을 남성으로 하고 반대로 코딩해도 그렇다). 약간 억지가 들어간 주장이기는 하지만 여성성이 여성에게는 있고(1), 남성에게는 없다(0)는 의미를 지닐 수 있으며, 여성의 평균이 0.6이라면 전체 사례(혹은 응답자)의 60%가 여성이라는 의미를 갖는다. 

또한 성별 변수의 범주는 두 개이지만, 더미변수는 그보다 하나 적은 한 개만 생성해야 한다. 만약 여성과 남성이라는 두 개의 더미변수를 생성해서 회귀모형에 포함시킨다면, 두 변수 사이의 상관관계가 너무 높아 앞 게시글에서 설명한 다중공선성의 문제가 발생하게 된다. 이 문제를 어떤 학자들은 더미변수의 함정이라고 한다. 그렇게 무시무시한(?) 이름을 붙인 것은 그 점을 반드시 기억해서 피해야 함을 강조하기 위해서이리라.

image

이번에는 범주가 여러 개인 학력의 경우를 보자. 원 데이터파일에 학력이 다음과 같이 범주화되어 있다고 하자.

학력: 고졸 미만, 고졸, 대졸, 대학원 졸업

이 변수는 아래와 같이 더미변환할 수 있다.

고졸미만: 고졸미만(less than high school) 1, 기타(otherwise) 0

고졸: 고졸(high school diploma) 1, 기타(otherwise) 0

대졸: 대졸(college degree) 1, 기타(otherwise) 0

대학원졸업: 대학원졸업(postgraduate degree) 1, 기타(otherwise) 0

앞 부분에 볼드체로 된 용어가 새 변수명이다. 이렇게 네 종류의 더미변수가 생성될 수 있다. 그러나 실제로 회귀모형에는 반드시 이중 3개만 포함되어야 한다. 어떤 세 개인가는 연구자의 선택에 달려 있다. 회귀모형에서는 제외된 범주(더미변수)가 비교의 기준이다(그래서 그것을 참조 범주, reference category라고 부른다). 회귀모형에 포함된 더미변수의 회귀계수는 해당 더미변수(범주)와 제외된 범주(참조 범주) 사이의 비교한다. 만약 위 학력 변수에서 대졸을 참조 범주로 선택하여 회귀모형에서 제외한다면, 회귀계수들은 대졸과 고졸미만, 대졸과 고졸, 대졸과 대학원졸업의 사례들을 비교한 값이 될 것이다. 대졸은 고졸미만 더미변수에서도 0, 고졸 더미변수에서도 0, 그리고 대학원졸업 더미변수에서도 0이다. 즉, 회귀모형에 포함된 세 더미변수(범주)에서 모두 0의 값을 갖기 때문이다(아래 표 참조).

학력고졸미만고졸대학원졸
고졸미만(1)100
고졸(2)010
대졸(3)000
대학원 졸업(4)001

어떤 범주를 참조 범주로 택할 것인가는 근본적으로 연구자의 선택에 달려 있다. 그것이 별로 큰 문제가 아니라는 말이다. 그러나 경험상 두 가지 기준을 적용하면 도움이 된다.

첫째, 가장(혹은 상대적으로) 일반적인 범주를 참조범주로 선택한다. 예컨대 빈곤이라는 변수에서 빈곤층과 비곤층을 비교한다면, 비빈곤층을 참조범주로 택하라는 말이다. 대체로 빈곤층이 일반적이기 때문이다. 혼인상태라는 변수는 대체로 결혼, 미혼, 이혼, 사별 등을 범주를 가질텐데, 이중 결혼이라는 범주가 가장 일반적이기 때문에 그것을 참조범주로 택한다. 아래 그림에서 인종/피부색이라는 변수를 더미변수로 만들었는데 백인/유럽계(white/European-American)가 참조범주로 선택되어 회귀모형에서 제외되었다.

dummy variable에 대한 이미지 검색결과

둘째, 가장 흔한(사례수가 가장 많은) 범주를 참조범주로 선택한다. 사실 일반적인 범주가 흔한 범주인 경우가 많겠지만 꼭 그렇지는 않을 것이다. 그리고 일반적인 범주가 어떤 것인지 분명치 않을 때도 있다. 분석 대상에서 대학졸업자가 다수인 경우 대졸을 참조범주로 택한다. 만약 고졸미만이 아주 작은 비율인데도, 그것을 참조범주로 택할 경우 회귀계수 값이 문제가 될 수도 있다. 분모가 0에 가깝다고 상상해보라.

이제 더미변수가 포함된 다중회귀모형의 사례를 보자.

미국의 경제 잡지 Fortune은 매년 일하기 좋은 100대 기업의 목록을 공개한다. 링크된 엑셀 파일 FortuneBest.xlsx는 2012년도 상위 100개 기업들 중 무작위 표본 30개의 자료를 담고 있다(재인용). 데이터셋은 순위, 기업, 크기, 정직원 연봉(단위: $1,000), 시간제 직원 연봉(단위 $1,000)라는 네 개의 필드로 구성되어 있다. 순위는 기업들의 순위이고, 기업은 기업명이다. 그리고 크기는 그 기업의 크기를 소기업, 중견기업, 대기업으로 나타내고, 정직원 연봉은 정규직 직원들의 평균 연봉을, 시간제직원 연봉은 비정규직 직원들의 평균 연봉을 말한다. Fortune은 10,000 명 이상의 직원이 근무하면 대기업, 2,500에서 10,000 명 사이의 직원이 근무하면 중견기업, 그리고 2,500 명 이하의 직원이 근무하면 소기업으로 정의한다.

a. 이 자료를 이용하여 비정규직의 평균 연봉이 주어졌을 때 정규직의 평균 연봉을 예측할 수 있는 추정회귀식을 구하시오.

b. 을 사용하여 통계적 유의성을 검증하시오.

c. 기업의 크기가 주는 영향을 포함하기 위해서, 기업의 크기를 나타내는 더미변수를 생성하여 비정규직 평균 연봉(NRES)과 기업의 크기가 주어졌을 때 정규직의 평균 연봉(RES)을 예측할 수 있는 추정회귀식을 구하시오.

(해제)

a.

b. 모형의 유의성: F 검정의 p-값이 0.000525로서 회귀 모형이 통계적으로 유의미함. 회귀계수의 유의성: t 검정의 p-값이 0.000525로서 회귀계수가 통계적으로 유의미함.

c. 기업 크기는 대기업을 참조범주로 놓고, 중견기업과 소기업이라는 더미변수로 변환한다(아래 표 참조). 엑셀의 데이터셋에 소기업과 중견기업의 필드가 생성되어 있다.

기업 크기중견기업소기업
대기업00
중견기업10
소기업01

이제 비정규의 평균 연봉과 기업의 크기를 가지고 추정회귀식을 만들 수 있다. 회귀모형에 사용된 실제 독립변수는 비정규적의 평균 연봉(NRES), 소기업(Small Firm, SM), 중견기업(Mid-size Firm, MF)이다. 아래는 엑셀의 데이터분석 애드인에서 회귀분석 기능을 적용해서 나온 결과이다.

이 결과를 가지고 추정회귀식을 구성하면 다음과 같다. 중견기업의 회귀계수가 통계적으로 유의미하지 않음(회귀계수가 0이라는 의미)으로 추정회귀식에서 제외하였다.

분산분석표를 보면, F 검정의 p-값이 4.82E-05로 모형이 통계적으로 유의함을 보여준다. 맨 아래의 회귀모형 표를 보면, 더미변수 중견기업의 회귀계수는 통계적으로 유의미하지 않다(p-값이 0.801553). 비정규직 평균 연봉(시간제 직원 연봉)을 통제했을 때 대기업과 중견기업의 정규직 평균 연봉에는 차이가 없는 것으로 추정된다. 더미변수 소기업의 회귀계수는 34.40215이며, p-값이 0.002837로 통계적으로 유의미하다. 이는 비정규직 평균 연봉을 통제했을 때 소기업의 정규직 평균 연봉은 대기업의 정규직 평균 연봉보다 평균 3만4천4백불 정도 높다. 또한 예측변수 비정규직 평균 연봉(시간제 직원 연봉)의 회귀계수는 1.224045이며, p-값이 6.63E-05로 통계적으로 유의미하다. 이는 기업의 크기를 통제했을 때, Fortune Best 상위 100개 기업에서 비정규직의 평균 연봉이 1천 달러 올라가면, 정규직의 평균 연봉은 1천2백24불 정도 올라간다.

이상으로 더미변수를 생성하는 방법과 그것을 회귀모형에 사용하고 회귀분석 결과를 해석하는 방법을 공부했다. (2019-12-05)

표와 그래프(5): 다중회귀분석

단순회귀분석은 독립변수(혹은 예측변수)가 변함에 따라 종속변수 (혹은 반응변수)가 얼만큼 변하는지를 보여준다는 점에서 피어슨 상관계수의 한계를 적어도 한 가지는 보완하고 있다. 그러나 그것도 여전히 피어슨 상관계수와 마찬가지로 제3 변수의 영향을 통제하지 못하며, 다범주 변수를 분석에 포함하지 못한다. 이 문제를 해결하려면 다중회귀분석을 사용해야 한다.

다중회귀분석(multiple regression analysis)은 단순회귀분석에 독립 변수(들)가 추가된 것이다. 그것은 한 개의 독립변수가 아니라 두 개 이상의 독립변수를 가지고 종속변수를 설명하거나 예측할 때 사용하는 통계 기법이다. 하지만 그 확장이 그리 단순하지 않다. 회귀모형에서 독립 변수가 추가된다는 것은 분석 그래프의 차원이 증가함을 의미하기 때문이다. 단순회귀의 경우는 2차원 공간이었지만, 다중회귀는 독립변수(혹은 예측변수)의 수에 따라 3차원, 4차원, 100차원, 심지어 1,000차원의 공간일 수 있다. 3차원까지는 분석 그래프를 어떻게 직관적으로 이해할 수 있겠지만 4차원을 넘어서면 직관적 이해가 불가능해진다.

예컨대 아래 그래프는 독립변수가 2개인 3차원 공간이라서 직관적 이해가 가능하다. 연비(MPG)가 차량무게(Weight)와 음의 관계이고, 엔진의 힘(Horsepower)과도 음의 관계이며, 그 둘이 모여서 연비를 규정하는 평면(이것을 회귀평면이라고 부름)을 구성하고 있음을 직관적으로 느낄 수 있다. 3차원 공간의 회귀평면조차 직관으로 느끼기 쉽지 않지만 그나마 직관이 따라 줄 수 있는 그래프는 딱 3차원까지이다.

multiple linear regression graph에 대한 이미지 검색결과

분석 그래프의 차원이 증가하면 계산이 복잡해질 뿐 아니라 ‘다중공선성(multicollinearity)’, ‘과적합(over-fitting)’, ‘차원의 저주’ 등과 같은 문제가 발생하기도 한다. 그런 부수적인 문제들까지 논의해야 하기 때문에 사실 다중회귀분석의 소개는 쉽지 않다. 그래도 수고를 해서라도 배울만한 가치가 충분하니 함께 그것을  공략해 보자.

다중회귀분석에 대한 서술은 단계적 접근을 취하겠다. (1) 최소한의 수학적 배경만 가지고 다중회귀모형을 이해하고 사용하고자 하는 독자, (2) 행렬과 미적분에 대한 지식을 가진 독자, (3) 빅데이터의 데이터마이닝에까지 다중회귀모형을 활용하고자 하는 독자로 점차 설명 수준을 높여가겠다.

(1) 고등학교 인문계 정도의 수학적 배경을 가진 독자

단순회귀분석에서 종속변수 y의 값을 예측하는 일차함수는 다음과 같이 제시되었다(앞 게시글 참조).

다중회귀분석에서는 종속변수 y의 값을 예측하기 위한 독립변수(혹은 통제변수)가 추가되므로 아래와 같이 변수가 여러 개인, 따라서 항(term)이 여러 개인 다차원 함수가 된다.

식 (2)는 y의 예측값()을 가지고 표현되었다. 이 식을 아래와 같이 종속변수의 관찰값()을가지고 표현할 수도 있다. 예측(추정)되는 대상은 모집단이기 때문에 회귀계수들을 그리스 문자로 표기했다. 즉, 는 회귀계수의 표본통계치이고 는 모수이다. 이 경우 오차(혹은 잔차)항()이 추가되어야 할 것이다.각 y 값에 대한 예측값은 오차가 존재하기 때문이다.

귀찮은 사람은 다음처럼 식 (2)와 (3)에서 변수를 대문자 Y, X로 표시하고(확률변수는 대문자로 표기) 아래 첨자 중 를 떼어버려도 상관없다. 당연히 Y는 이고, X는 이며, 는 1부터 까지 일 것이기 때문이다. 수학 표기에 익숙하지 않은 독자는 다소 복잡하기는 해도 오히려 식 (2)와 (3)을 사용하는 편이 혼란이 적을 것이다.

식 (2)와 (3)에서 는 회귀계수(절편 포함)의 갯수이다. 회귀계수는 우리가 구하려고 하는 미지수이니 는 곧 미지수의 갯수이기도 하다. 식 (2)는 다중회귀모형에서 종속변수가 독립변수의 효과(혹은 영향)를 선형적 결합하여 예측되는 것임을 보여준다. 간단히 말해 다중회귀모형은 독립변수들의 선형적 결합으로 종속변수를 예측(설명)하는 통계기법이다.

식 (2)에서 회귀계수는 단순회귀모형에서처럼 독립변수와 종속변수의 선형적 관계를 보여준다. 다만 단순회귀모형에서와 달리 다중회귀모형의 회귀계수는 회귀모형에 포함된 다른 독립변수들을 통제한 상태에서 특정 독립변수와 종속변수의 선형적 관계를 나타낸다.

논의를 단순화하기 위해 독립변수가 두 개인 아래 회귀식을 가지고 생각해보자.

식 (5)에서 회귀계수 은 변수 가 통제된 상태에서 독립변수 과 종속변수 사이의 선형적 관계를 나타낸다. 여기서 “통제된(be controlled for)”은 ‘를 변하지 못하게 한(holding constant)’이란 의미이다. 즉, 식 (5)에서는 회귀계수 은 를 변하지 못하게 했을 때 의 선형적 관계를 나타낸다는 말이다. 마찬가지로 회귀계수 는 변수 을 통제했을(변하지 못하게 했을) 때 의 선형적 관계를 나타낸다. 그래서 단순회귀모형의 회귀계수를 총 회귀계수(total regression coefficient)라고 부르는 반면 다중회귀모형의 회귀계수를 부분 회귀계수(partial regression coefficient)라고 부른다.

다중회귀모형에서는 단순회귀모형에서와 마찬가지로 잔차제곱의 합()을 최소화하는 최소자승법을 적용하여 회귀계수와 절편(을 구할 수 있다. 최소자승법을 사용해 식 (5)의 을 추정하면 다음과 같다.

위 추정식들은 언뜻 복잡해 보이지만 찬찬히 들여다보면 몇 가지 간단한 정보들의 조합이다. 회귀계수는 표본평균(), 표준편차(), 상관계수()을 알면 도출될 수 있다.

다중회귀계수는 모형(회귀함수) 내의 다른 독립변수(들)를 통제했을 때 어떤 독립변수가 한 단위 변화할 때 종속변수가 변화하는 양을 나타낸다. 예컨대 식 (5)에서 를 통제한 상태에서 한 단위의  이 변화할 때 가 변화되는 양을 나타낸다. 마찬가지로 을 통제한 상태에서 한 단위의 가 변화할 때 가 변화되는 양을 나타낸다.

결정계수를 구하는 방법은 단순회귀모형에서와 동일하다.

여기서 이며, 다만 SSE를 구할 때 필요한 를 구하는 식이 에서 로 바뀔 뿐이다.  값은 두 변수 로 이루어진 회귀모형이 종속변수의 변량(총제곱합)의 몇%를 설명하고 있다고 해석된다.

결정계수의 유의성은 역시 F 검정으로 수행된다. 검정을 위한 가설은 다음과 같이 달라진다.

 

모수들 중 적어도 하나는 0이 아니다.

만약에 가 기각되면 하나 이상의 모수는 0이 아니며 종속변수 와 독립변수의 집합  사이의 전반적인 관계는 통계적으로 유의미하다고 결론을 내릴 수 있을 것이다.

F 검정통계량은 MSR(회귀에 의한 제곱합의 평균)을 MSE(잔차제곱합의 평균)로 나눈 값이며, MSR과 MSE는 SSR과 SSE를 그에 대응하는 자유도로 나눈 값이다.

식 (7)에서 p는 독립변수의 갯수이다. 그리고

따라서 검정통계량 F는,

검정통계량을 구하면, 분자의 자유도가 이고, 분모의 자유도가 인 F분포에서 p값이 구해진다. 그 값이 유의수준(대체로 0.05)보다 작으면 영가설이 기각되고, 유의수준보다 크면 영가설이 기각될 수 없다.  자유도의 크기만 다를 뿐이지 F 검정 역시 단순회귀분석과 동일함을 알 수 있다.

만약 F검정에서 다중회귀 관계가 유의미하다고 나온다면, 각각의 개별 모수(회귀계수)의 유의성을 검증하는 t 검정을 실시할 수 있다. t 검정의 목표는 개별 모 회귀계수가 0이 아니라고() 결론내릴 수 있는지를 확인하는 것이다. 모  회귀계수의 개별 유의성에 대한 t 검정에는 다음과 같은 가설이 적용된다. 모수 에 대하여

검정통계량 t는

식 (10)에서 영가설이 참이라면 이다. 다른 회귀계수들의 모수에 대해서도 동일한 방식으로 t 검정을 실시할 수 있다.

검정통계량이 구해지면, 자유도 인 t분포에서 양측 검정의 p-값을 구하고, 그 값이 선택한 유의수준(대체로 0.05)보다 작으면 영가설을 기각하고 그렇지 않으면 영가설을 기각하지 못한다.

이상으로 회귀함수, 회귀계수, 결정계수, 회귀 모형의 통계적 유의미성 검증(F 검정), 모 회귀계수의 통계적 유의미성 검정(t 검정) 등 다중회귀분석에 기초가 되는 내용을 두루 살펴보았다. 기초 단계의 다중회귀분석 학습에서는 모수(회귀계수), 검정통계량, 결정계수를 도출하는 과정을 수학적으로 이해하는 것보다 실제로 통계 프로그램이 제공하는 회귀분석 결과를 얼마나 잘 해석할 수 있는가가 더 중요하다. 아무튼 지금까지 논의한 정도면 회귀분석 결과를 이해하는 데 필요한 최소한의 지식은 갖추는 것이 아닐까 생각된다.

한 가지 논의만 추가하자. 모든 통계기법은 적용되기 위한 전제조건이 있으며, 어떤 통계기법도 적절히 사용되려면 전제조건이 충족되어야 한다. 현실에서는 왕왕 전제조건이 무시된 채 통계기법들이 적용되곤 하지만 그것은 좋은 태도가 아니다.

회귀분석에는 세 가지 전제조건(가정)이 있다.

(1) 선형성(linearity):  독립변수의 각 수준에서 종속변수의 분포의 평균은 직선상에 위치한다. 즉, 회귀 모형은 종속변수와 독립변수(들)가 선형적 관계(linear relationship)를 갖는다고 가정될 수 있을 때 사용된다. 위 식 (4)에서처럼 회귀함수에서 모수(population parameters)는 그 선을 규정하며, 표본 데이터에 적합(fit)하여 추정된다(앞 게시글 참조).

(2) 동질적 분산(homogeneous variance): 의 모든 값에서 는 동일한 퍼짐(spread)의 정규분포를 갖는다. 다시 말하면, 조건부 확률분포   은 모두 동일한 분산 을 가진다. 이를 등분산성(homoscedasticity)이라고 한다.

(3) 독립(independence): 확률변수 는 통계적으로 독립적이다. 이 요건은 아래와 같이 오차항(error term, , 모수는 )를 가지고 표현할 수 있다.

위 식은 관찰값 를 기댓값과 오차()의 합으로 표시하고 있다. 여기서  는 독립적인 오차(independent errors)이며, 오차는 확률변수로서 평균()이 0이고 분산이 인 정규분포를 갖는다. 이는 독립변수 ()의 모든 값에 대하여 동일하다. 앞에서 최소자승법을 소개했는데 최소자승법을 가지고 회귀계수를 추정하려면 독립변수 와 오차항()이 통계적으로 상호독립적이어야한다.

이 세 가지 조건은 다중회귀분석 뿐 아니라 단순회귀분석에서도 충족되어야 한다. 그렇다면 우리가 분석하려는 데이터가 이 조건을 충족하는지는 어떻게 확인할 수 있을까? 가장 간편한 방법은 산포도(scatter plot)를 그려보는 것이다. 산포도는 데이터 분포의 선형성을 보여줄 뿐 아니라 이상값(outliers)과 영향력 있는 관측값을 탐지할 수 있게 해준다.

다중회귀분석의 경우는 산포도 대신 잔차 플롯(residual plot)을 사용한다. 종속변수의 관측값과 예측값의 차이()가 잔차(residuals) 혹은 오차(errors)이다. 식 (3)에서 가 잔차이다. 는 오차라고 불리기도 하고 잔차라고 불리기도 한다. (다소 혼란스럽지만 학계의 관행이라 오차플롯 대신 잔차플롯이라는 이름을 따랐다.) 실제로는 이 잔차들을 표준화한 표준화된 잔차(standardized residuals)–간단히 표준 잔차라고 불린다–가 분석에 사용된다. 실제로 각 잔차값을 잔차들의 표준편차로 나눈 값이 사용된다. 그 값들은 표준화된 잔차의 근사값들이다. 원래 표준화된 잔차는 추정된 표준오차를 사용하여 계산해야 정확한 값이겠지만 그렇게 간단히 계산된 근사값으로 대체해도 무방할 것이다.

잔차플롯에는 두 가지가 있다. 하나는 독립변수 에 대한 잔차플롯이다. 전차를 세로축으로, 독립변수 를 가로축으로 하여 표시한 그래프이다. 모든 값에서 잔차(오차)의 분산이 같아야 하는데 만약 그 전제조건이 충족되면 잔차가 폭이 일정한 가로 선 안에 존재하는 페턴을 보일 것이다(아래 그림에서 세번 째 잔차플롯). 만약 다른 잔차가 다른 패턴을 보인다면 전제조건이 깨져있거나 선형분석이 적합하지 않음을 시사한다.

patterns of residual plots에 대한 이미지 검색결과

이 방법은 다중회귀분석에 사용되면 독립변수 하나하나 잔차플롯을 그려야 한다. 그 경우 독립변수의 갯수가 늘어나면 대단히 번거로운 작업이 될 것이다. 그래서 다중회귀분석에는 흔히 독립변수 대신 종속변수에 대한 예측값()을 가로축으로 놓고 플롯한 잔차플롯이 사용된다. 이 잔차플롯은 데이터에 이상값 혹은 영향력이 큰 값이 존재하는 지를 보여준다. 만약 그런 값들이 있다면 잔차가 정규분포를 가져야 한다는 전제조건이 깨졌음을 암시한다. 그리고 회귀선이 심각하게 데이터의 분포를 왜곡하고 있음을 시사하기도 한다. 표준잔차의 값이 -2보다 작거나 +2보다 크면 이상값으로 간주하는 것이 좋다.

이상값이나 영향력이 큰 값이 존재할 경우 그 값을 낳은 와 의 관측값을 살펴보아야 한다. 그것이 데이터 측정에 오류가 발생했기 때문일 수도 있고, 데이터 오기의 결과일 수도 있으며, 단지 독립변수의 값이 비정상적으로 큰 때문일 수도 있다. 이상값이 측정오류나 데이터 오기 때문이면 그것을 제외하거나 수정하면 될 것이다. 만약 정확하게 측정되고 기록된 값이라면, 그 사례(들)가 꼭 적합에 포함되어야 하는지를 재고해 보아야 한다. 만약 그 값을 포함한 회귀선보다 그 값을 제외하고 적합한 회귀선이 데이터의 분포를 더 정확히 대표한다고 판단된다면 그 값을 제외하는 편이 나을 것이다.

전제조건까지는 아니지만 다중회귀분석에서는 한 가지 점이 더 고려되어야 한다. 다중회귀분석에는 독립변수들이 두 개 이상인데, 그 독립변수들 사이의 상관성이 아주 높지 않아야 한다. 예컨대 두 독립변수 사이의  피어슨 상관계수가 7.0 이상이면 소위 다중공선성(multicollinearity)이 발생할 가능성이 있다. 다중공선성이란 회귀모형 안의 두 독립변수의 상관성이 아주 높아 회귀모형이 차원을 잃게 되는 현상이다. 그 독립변수들 중 둘 중의 하나는 회귀계수가 0이 되어 모형의 결정력에 전혀 기여를 하지 못하는 것이다.

다중공선성이 발생할 경우 F검정(모형 전체적으로는)은 통계적으로 유의미한데, 회귀계수들의 t검정 결과는 모두 통계적으로 유의미하지 않을 수도 있다. 독립변수들 사이의 상관성이 높지 않으면 그런 문제점을 피할 수 있다. 다중회귀분석을 실시할 때 먼저 모든 변수들 사이의 상관관계(영차상관관계, zero-order correlations라고도 부름) 행렬을 구해서 살펴보아 잠정적인 독립변수들 사이에 상관계수 값이 아주 크게 나올 경우 둘 중 하나를 모형에 포함시키지 않는 방식으로 다중공선성을 예방할 수 있을 것이다.

이제 구체적인 사례를 가지고 다중회귀분석을 차근차근 수행해 보자. 괄호 안에 링크된 데이터파일(CruiseShips.xlsx)에는 소형 크루즈 선박에 대한 고객들의 평가가 담겨있다. 데이터파일에서처럼  여정/일정(I), 해안 여행(CT), 음식/식사(F) 점수가 주어졌을 때 전반적인 점수(OR)를 예측할 수 있는 추정회귀식을 구하는 것이 목표이다.

먼저 변수들 사이의 상관계수행렬을 구하면 아래와 같다. 독립변수들 사이의 상관계수가 0.2259, -0.0090, -0.1074로 다중공선성의 가능성은 없다고 판단된다.

일단 추정회귀모형을 식 (11)과 같이 쓸 수 있을 것이다.

엑셀의 자체 애드인 ‘데이터 분석’의 회귀분석을 적용하면 아래와 같은 결과를 얻는다.

위 그림의 첫번 째 표는 ‘회귀분석 통계량’이라는 제목에 다섯 가지의 정보가 담겨있다. 먼저 다중 상관계수는 종속변수의 관찰값()과, 종속변수에 대한 회귀모형에 의한 예측값() 사이의 관계에 대한 피어슨 상관계수이다. 그 값이 0.8659로 상당히 높은 상관성을 보인다. 그것은 표본의 관찰값이 회귀선 주위에 잘 모여있으며, 다시 말해 주어진 회귀모형이 종속변수를 잘 예측하고 있음을 짐작할 수 있다.

결정계수는 모형의 결정력을 보여준다. 그것은 다중 상관계수를 제곱하면 얻을 수 있다(). 그것은 식(6)이 보여 주듯이 총제곱합(SST) 중 회귀모형에 의해 설명된 부분인 회귀제곱합(SSR)의 비율이기도 하다(). 주어진 회귀모형이 전반적인 점수라는 종속변수의 변량을 잘(74.98%) 설명하고 있음을 알 수 있다.

조정된 결정계수()는 소위 과적합(over-fitting)을 예방하는 도구로 볼 수 있다. 과적합이란 통계분석에서 얻은 결과를 일반화하기 어려운 현상을 말한다. 모형의 결정력을 높인다고 독립변수들을 무리해서 추가하면 결정력의 수치는 높아지겠지만 그 모형을 다른 사례에 사용하기는 어려워질 것이다.

과적합의 위험성에도 불구하고 연구자들은 자신이 만든 회귀모형의 결정계수가 높을수록 좋아하는 경향이 있다. 그래서 조정된 결정계수는 별로 도움이 되지 않는 독립변수를 무리해서 추가하는 경우 벌점(penalty)을 주는 방식으로 계산된다(아래 식 (12) 참조).

식 (12)에서 n은 사례수, p는 독립변수의 갯수이다. 조정된 결정계수 값이 0.7029로 결정계수(0.7498)와 약간 다르지만 문제가 될 정도는 아니라고 판단된다. 아마도 모형에 포함된 독립변수 중 어떤 것의 회귀계수가 통계적으로 유의미하지 못한 때문일 것이다.

표준오차는 추정값의 표준오차로 표본의 실제 관측값이 표본회귀선 주위에 얼마나 흩어져 있나를 측정한다. 추정표준오차가 작으면 관측값과 예측값 사이의 차이가 작다고 볼 수 있다. 실제 계산은 아래와 같이 하면 된다.

따라서 표준오차는 이다.

위 그림에서 두번 째 표는 분산분석표이다. 분산분석표에서

총제곱합(SST) = 회귀 제곱합(SSR) + 잔차 제곱합(SSE).

SSR은 92.35202, SSE는 30.81348이며, 이 둘을 합한 SST는 123.1655이다. SSR에 대응하는 자유도는 독립변수의 갯수인 3, SSE의 자유도는 20-3-1=16, 총자유도는 20-1=19이다. MSR(회귀 제곱평균)은 92.35202/3 = 30.7840063이고, MSE는 30.81348/16 = 1.92584256으므로 F-값은 30.7840063/1.92584256 = 15.9847이다. 분포에서 검정통계량 15.9847의 단측검정 p-값은 0.00005이다. 따라서 모든 모 회귀계수가 0이라는 영가설()은 기각된다.

모형 전체가 통계적으로 유의미하므로 이제 각각의 회귀계수 값과 그것의 통계적 유의성을 살펴볼 차례이다.  그에 관한 정보는 그림의 세번 째 표에 제시되어 있다.

그 표에 다음과 같은 회귀계수 값들이 나와 있다.

이 값들을 식 (11)에 대입하면 아래와 같은 회귀식을 얻는다.

회귀계수들의 값이 지닌 의미를 새겨보자. 모든 변수들이 1점부터 100점 사이의 값을 가지며 소숫점 첫째 자리까지 측정되어 있다. 여정/일정의 평가 점수가 1점 올라가면, 해안여행과 음식/식사에 대한 평가를 통제할 때 전반적인 점수가 0.1105점 올라가며, 해안여행의 평가 점수가 1점 올라가면, 여정/일정과 음식/식사에 대한 평가를 통제할 때 전반적인 점수가 0.2445점 올라가고, 음식/식사의 평가 점수가 1점 올라가면, 여정/일정과 해안여행을 통제할 때 전반적인 점수가 0.2474점 올라간다.    

그런데 이 회귀계수들은 통계적으로 유의미한가? 이 질문에 답하려면 각각의 p-값을 보면된다. p-값은 절편부터 순서대로 0.0160, 0.4069, 3.69e-05, 0.0011이다. 유의수준 0.05에서 여정/일정()의 회귀계수는 0.05보다 크기 때문에 여정/일정의 모 회귀계수()에 대한 영가설은 기각에 실패하고, 절편과 다른 회귀계수들()은 p-값이 0.05보다 작으므로 영가설이 기각된다.

이 결과를 참조해서 크루즈 선박에 대한 만족도 예측 모형을 구성한다면, 여정/일정 변수를 빼고 해안여행과 음식/식사라는 두 개의 독립변수로만 회귀모형을 만들어도 충분할 것으로 생각된다.

위 그림의 맨 아래 쪽에는 ‘잔차출력’이라는 제목의 표가 있다. 이 표는 ‘데이터 분석’의 회귀분석 창에서 ‘잔차’와 ‘표준잔차’를 체크하면 얻을 수 있다. 잔차도와 선적합도를 체크하면 각 독립변수에 대한 잔차플롯을 얻을 수 있지만 위에서 언급한 것처럼 표준잔차에 대한 분석으로 대신한다.

잔차들의 표준편차(STDEV.S 함수를 사용)를 구하면, 1.273484259이다. 각 잔차를 이 표준편차로 나누면 ‘표준잔차’을 얻는다. 그렇게 모든 표준잔차를 구해서 엑셀에 준 표준잔차와 비교해 보면 일치함을 알 수 있을 것이다. 실제로 엑셀은 그 방법을 사용해서 표준화된 잔차의 근사값을 구한다. 아래 그래프는 종속변수의 예측값을 가로축, 표준잔차를 세로축으로 놓고 그린 것이다.

그래프를 보면 -2나 +2를 넘어가는 표준잔차가 없으니 이상값이 없다고 판단해도 될 것이다. 표준잔차 표만 봐도 확인할 수 있지만 잔차플롯을 그려 본 것이다. 참고로 표준잔차 대신 잔차를 세로축에, 예측값 대신 각 독립변수를 가로축에 놓으면 독립변수에 대한 잔차플롯이 된다. 엑셀의 데이터분석의 회귀분석 창에서 ‘잔차도’를 체크하면 그 잔차플롯들을 구할 수 있다.  (2019-11-30)

표와 그래프(4): 최소자승 회귀분석

최소자승 회귀분석은 잔차제곱합(SSE)을 최소화하는 직선을 구하는 기법이다. 이는 아래 식 (1)로 표시할 수 있다. 잔차제곱합 대신 잔차제곱의 평균(MSE)를 가지고 풀 수도 있지만 어차피 MSE는 SSE를 자유도로 나눈 값이기 때문에 SSE로 풀면 된다.

잔차제곱합은 다음 식으로 계산된다. 즉, 관찰값()에서 회귀식에 의한 예측값()을 뺀 값을 자승하여 모두 더해서 구한다.

이 식을 아래와 같이 최소화한다.

그런데, 회귀함수는 다음과 같으므로,

식 (4)를 식 (3)에 대입하면 다음 식을 얻는다.

식 (5)를 풀어 미지수 을 구하면 그것이 최소자승법의 조건을 충족시키는 회귀계수들이다. 이는 미분을 사용하여 풀 수 있다. 가  미지수를 두 개 가지고 있으니 아래와 같이 (SSE가 좀 길어서 간단히 S로 표기했음)로 두고 편미분을 하고, 각각을 0으로 놓고 풀면 된다.

먼저 에 관해 편미분하면,

이 식을 정리하면,

다음에 에 대해 편미분하면,

이 식을 정리하면,

(7)과 (8)을 정규방정식(normal equations)이라고 부른다. 이 두 식을 에 관해 풀면 다음 식이 얻어진다.

먼저 를 구하기 위해 식 (7)의 양변을 으로 나누면,

따라서,

그런데, 이므로,

식 (9)를 식 (8)에 대입해서 에 관해 풀면 아래와 같은 해를 얻는다. 풀이 과정이 어렵지는 않지만 다소 복잡하니 생략한다.

주어진 데이터를 가지고 식 (9)와 (10)을 계산하여 절편 와 기울기 을 구하는 것이 최소자승(혹은 정규방정식) 회귀분석이다.

이렇게 해서 표본의 회귀계수(절편과 기울기)를 구하면, 그것들로 이루어진 회귀함수는 모집단 회귀계수에 대한 불편의적 추정량이다. 그렇다면 모집단에서 회귀선(최적합선)은 어떤 의미일까? 다음 그래프를 가지고 알아보자.

관련 이미지

회귀선은 독립변수 가 주어졌을 때  의 기대값에 해당한다. 확률식으로 표현하면 아래와 같다.

독립변수 각 수준(값)에서는 종속변수 값의 분포가 존재한다. 예컨대 위 그래프의 일 때 값들의 분포가 정규분포(파란색 종모양의 곡선)가 존재한다. 회귀선은 를 통과하고 있으며, 는 그 분포의 중심, 즉, 모평균에 다름 아니다. 마찬가지로 에서도 값들의 분포가 존재하며, 회귀선의 그 분포의 중심, 즉, 모평균인 을 통과한다. 에서도 마찬가지로 회귀선은 거기에서 값들의 모평균인 를 통과한다. 결국 회귀선, 즉, 최적합선은 독립변수 의 각 값(수준)에서 존재하는 종속변수 값들의 모평균을 이어놓은 직선인 것이다.

아래 사례를 보자. 종속변수 의 모표준편차()가 2.5라고 알고 있다고 가정한다. 회귀선이   라는 회귀계수를 갖고 있다.

관련 이미지

위 그림에서 (a)를 보면, 표본의 관찰값은 이며, 회귀함수에 의한 예측값은 이다. 가 20일 때 의 분포가 정규분포로 표시되어 있고 그 중심은 10.0이며, 관찰값 (5)은 분포의 중심에서 상당히 떨어져 있음을 볼 수 있다. (b)를 보면, 관찰값은 이고, 회귀함수에 의한 예측값은 이다. 거기에도 가 55일 때  의 분포가 종 모양의 곡선으로 표시되어 있고, 이번에 그 중심은 27.5이다. 관찰값 (12)는 중심에서 한참 멀리 떨어져 있음을 볼 수 있다. (c)에는또다른 값인 의 사례가 제시되어 있다. 관찰값은 이며, 회귀함수에 의한 예측값은 이다. 거기에도 가 30일 때 의 분포가 정규분포로 표시되어 있고, 이번에 그중심은 15이다. 관찰값 (10)은 중심에서 상당히 떨어져 있다.

아랫부분의 그래프는 그 세 가지를 하나로 합쳐 놓은 것이다. 회귀선이 세 점 (20, 10), (30, 15), (55, 27.5)을 통과하고 있다. 즉, 회귀선은 각 값에서의 의 기댓값()을 지나는 직선이다. 그리고 그 기대값은 각 값에 존재하는 의 분포의 중심이다. 각 값에서 표본의 실제 관찰값들 는 모두 기대값(중심)에서 떨어져 있다. 이제 최소자승 회귀모형의 회귀선 혹은 회귀함수가 무엇을 의미하는 지가 좀 더 분명해 졌기를 바란다.

수학을 잘 하는 독자들에게는 최소자승의 조건으로부터 회귀계수를 도출하는 과정이 어렵지 않겠지만 그렇지 않은 독자들은 머리가 아플 것이다. 사실 그렇게 ‘고통’을 겪으며 그 과정을 꼭 전부 알아야 회귀분석을 이해하는 것은 아니니 이렇게 부록처럼 별도로 처리했다. (2019-11-27)

표와 그래프(3): 단순회귀분석

두 변수 사이의 관계를 보는 데 피어슨 상관계수는 무척 유용하다. 그러나 그 계수는 선형 관계(linear relationship)의 두 가지 측면만 보여준다. 즉, 그것은 두 변수가 같은 방향으로 움직이는가 아니면 서로 다른 방향으로 움직이는가, 그리고 함께 움직이는 정도가 강한가 약한가를 보여준다. 상관계수가 변수의 상관관계에 대해 유용한 정보임에 틀림없다.

그러나, 피어슨 상관계수는 손쉽게 얻을 수 있기는 하지만 몇 가지 한계를 지니고 있다. 첫째, 특별한 조치를 하지 않는 이상 그것은 상관관계에 영향을 줄 수 있는 다른 변수(들)를 통제하지 못한다. 소위 피어슨 상관계수는 기본적으로 영차 상관관계(zero-order correlations)만 보여준다. 두 변수 사이에서 보이는 상관관계가 제3의 다른 변수에 의해 발생된 결과일 수도 있는데, 피어슨 상관계수로는 그러한 관계를 밝힐 수도 배제할 수도 없다는 것이다. 둘째, 한 변수(독립변수)가 변화할 때 다른 변수(종속변수)가 얼마나 변화하는 지를 알려주지 못한다. 따라서 예측 도구 혹은 제어 도구로서는 크게 쓸모가 없다. 셋째, 범주적 변수들의 상관관계를 보는 데는 적용이 매우 제한된다. 특히 두 변수 중 하나만 다범주 명목 변수(multi-class nominal variable)여도 피어슨 상관계수가 적용될 수 없다. 그것이 불가능한 것은 아니지만 편법을 좀 써야한다. 다른 도구들이 있는 데 굳이 그렇게까지 무리해서 그것을 사용할 필요는 없을 것이다.

그래서 그래프 접근에서 피어슨 상관계수는 분석의 출발점은 되어주지만 분석의 종점이 되기는 어렵다. 그것은 유용하지만 충분하지는 않다는 말이다.

피어슨 상관계수가 지닌 약점을 극복하면서 그래프 접근을 완성시켜주는 도구는 회귀분석(regression analysis)이다. 그래프 학파가 회귀분석 학파라고 불릴 정도로 회귀분석은 그래프 접근의 대표 선수이다. 더구나 회귀분석을 하면 피어슨 상관계수가 덤으로 얻어지기도 한다.

회귀분석은 피어슨 상관계수와 마찬가지로 선형적합(linear fitting)–데이터의 분포에 모형을 적합하는 것을 모형적합, model fitting이라고 부른다–이다. 그것은 그래프에 모든 데이터를 좌표로 표시하고 그 분포를 통과하는 직선 중 예측오차가 가장 작은 직선–최적합선(the line of best fit)–을 찾아내는 게임이다.  아래 그래프에서 한 눈에 봐도 세 직선 중 빨간색 선이 데이터를 가장 잘 대표하는 것으로 판단된다.

best fitted line에 대한 이미지 검색결과

물론 최적합선을 찾는 작업이 현실에서는 그렇게 쉽지 않다. 데이터의 분포를 관통하는 수없이 많은 직선이 존재할 수 있기 때문이다. 그렇다면 어떻게 최적합선을 찾을 수 있는가?

통계학에서 최적합선을 찾기 위해 가장 널리 사용되는 방법은 최소자승법 혹은 최소제곱법(Ordinary Least Squares, OLS 혹은 Least Squares Method, LSM)이다. 한 마디로 그것은 종속변수의 예측값과 관찰값의 차이, 즉, 예측 오차(prediction errors)를 제곱하여 모두 더한 값이 가장 작은( )직선을 찾는 방법이다. 최소자승법 접근의 회귀분석에 대해 알아보자.

그래프 접근에서 핵심은 평균이다. 사실 통계학은 평균을 가지고 노는 게임이라고 해도 과언이 아니다. 특히 그래프 접근에서 그러하다.

사례를 가지고 회귀분석을 차근차근 분해해 보자. 미국의 레스토랑에서 웨이터나 웨이트리스의 수입원은 손님들의 팁이다. 여러분이 어떤 레스토랑에 웨이터나 웨이트리스로 취업했다고 한다면, 여러분의 최고 관심사는 손님들이 팁을 얼마나 줄 것인가일 것이다. 어떤 손님이 식사를 했을 때 팁을 얼마나 줄 것인가를 예측해 보자. 만약 아래 표가 여러분이 가진 데이터의 전부라고 하자.

이 때 한 손님으로부터 받게 될 팁을 어떻게 예측하면 좋을까? 아마도 여섯 번 받은 팁의 평균으로 예측하면 될 것이다. 그것은 10달러이다. 평균은 아주 거친 예측 도구이지만 다른 정보가 없으면 그것이라도 예측에 도움이 된다. 만약 우리에게 예측에 유용한 정보가 추가로 주어지면 그것(10달러)보다 더 잘 예측할 수 있을 것이다. “더 잘 예측한다”는 말은 예측 팁(예측값)과 실제로 받은 팁(관찰값)의 액수가 차이–그것을 예측 오차라고 부른다–가 평균적으로 더 작음을 의미한다.

예측오차의 크기를 말할 때는 예측오차의 제곱합을 사용한다. 예측오차가 평균과 관찰값의 차이기 때문에 그냥 합하면 0이 되어버려 쓸모가 없다. 또한 예측오차를 제곱을 하면, 오차값이 큰 사례일수록 예측오차의 크기에 더 많이 반영된다. 평균의 예측오차의 제곱합은 다음과 같은 공식으로 구할 수 있다.

공식 (1)은 평균의 예측오차 제곱합은 SSE(Sum of Squared Errors)라고 표시하며, 각 관찰값()에서 평균()을 뺀 값을 제곱한 다음 모두 더해서 얻는 것임을 보여준다.

위 표는 엑셀을 이용해서 계산한 결과이다. SSE가 120이다. 120이라는 숫자가 지닌 의미를 정확히 해석할 수는 없지만 예측오차가 상당히 커서 평균만 가지고 팁 액수를 정확히 예측할 수 없음은 짐작할 수 있다. 여기서 예측값()은 일률적으로 식사비의 평균()이다. 이를 그래프로 표현하면 아래와 같다.

이 그래프를 보면, 팁액수 10달러에 평균(예측)선(붉은 선)이 그려져 있고, 각 식사별 실제 팁값으로부터 (예측)오차가 표시되어 있다(파란색 반화살표 선). 평균으로 예측하면, 세 번째와 네 번째 식사의 팁값은 비교적 잘 예측했지만 나머지 식사들에 대해서는 예측이 크게 빗나갔다.

만약 우리가 각 식사에 관해 팁 액수 이외의 다른 유용한 정보를 구할 수 있다면 팁을 보다 정확히 예측할 수 있을 것이다. 예측에 “유용하다”는 말은 적어도 단순히 평균으로 예측한 경우보다 예측오차제곱, 즉, 예측오차가 상당히 작다는 의미이다.

연구자가 가게를 열심히 뒤졌더니 다행히 식사들의 전표가 발견되었다. 거기에는 아래와 같이 위 식사들의 식사비에 대한 데이터가 있었다. 현실에서 식사비는 기대 팁에 대한 가장 유용한(혹은 확실한) 예측 변수(predictor)이다.

선형 적합을 해서 최적합선(the line of best fit)을 구하려면, 먼저 독립변수(예측변수)를 x축에, 종속변수를 y축에 놓고 좌표를 그래프에 표시해서 데이터들이 선형으로 분포하고 있는지를 확인해 보아야 한다. 엑셀에서 데이터를 가지고 위 그래프를 얻었다. 이 그래프는 식사비가 증가하면 팁 액수도 함께 증가함을 보여준다. 즉, 이 그래프는 양의 기울기를 지닌 직선 중 어떤 것이 이 데이터에 대한 최적합선이 될 수 있음을 시사한다. 그것은 선형적합을 해볼만하다는 말이다.

그래프에서 직선은 일차함수로 표현된다. 종속변수 y 값을 예측하는 일차함수는 다음과 같이 나타낼 수 있다.

식 (2)는 각 y의 예측값()이 절편이 이고, 기울기가 인 x의 함수임을 나타낸다. 만약 우리가 데이터로부터 절편과 기울기를 구하면 예측 함수가 완성될 것이고, 그 함수에 x값()을 넣으면 y의 예측값()이 구해질 것이다.  그렇다면 위 일차함수의 절편과 기울기를 구하는 것이 관건이다. 이 일차함수를 단순회귀모형(simple regression model)–독립변수가 하나인 회귀모형–이라고 부르며, 기울기는 회귀계수(regression coefficient)라고 부른다. 최소자승법을 적용하면 그 값들은 아래 식과 같다.

공식 (3)의 분모는 독립변수 x의 오차제곱합이고, 분자는 x편차와 y편차의 곱을 모두 더한 값이다. 여러분에게 분자에 들어간 식이 익숙할 것이다. 그것은 다름아닌 공분산을 구하는 식에서 분모가 없어진 것이다. 마찬가지로 분모는 x의 분산을 구하는 공식에서 분모가 없어진 것이다. 사실 x와 y의 공분산을 x의 분산으로 나누면 식 (3)을 얻는다.  공분산과 분산을 구하는 식의 분모가 모두 자유도 ()이기 때문에 나누는 과정에서 상쇄되어 없어진 것으로 생각하면 된다. 다시 말해,  최소자승법의 회귀모형에서 회귀계수 은 독립변수와 종속변수의 공분산을 독립변수의 분산으로 나눈 값이다.

기울기가 식 (3)이면, 절편은 아래 공식이 된다.

엑셀을 이용해서 위 사례의 두 변수의 편차곱의 합, 편차제곱합을 구하고, 공식 (3)과 (4)를 적용해서 기울기와 절편을 구했다. 그렇게 구해서 만든 일차함수와 최적합선 그래프가 아래 그림에 제시되어 있다.

기울기 0.15는 식사비가 1달러 증가하면 팁이 약 15센트 증가한다는 의미이다.

이 모형은 얼마나 팁을 얼마나 정확히 예측하고 있을까? 회귀모형의 예측력을 회귀모형의 결정력(power of determination)이라고 부르는데, 그 결정력을 나타내는 도구는 결정계수(coefficient of determnation)라고 부르며 통상 라고 표기한다. 그렇다면 결정계수는 어떻게 구할 수 있을까?

단순회귀모형을 이용해서 종속변수 y(여기서는 팁 액수)의 예측값()을 구하면, 예측오차를 구할 수 있다. 각 관찰값에서 예측값을 빼면 될 것이다. 예측오차제곱합은 아래와 같이 구해진다.

예측값은 각 x값에서 회귀선 위의 y 값이다. 각 y값의 예측오차는 각 x값에서의 관찰값()으로부터 회귀선 위의 y 값()까지의 직선 거리이다.

위 그래프에 빨간색 선은 회귀선(regression line)이고, 파란색 반 화살표 선이 각 x 값에서의 예측오차이다. 식(5)는 그 예측오차를 제곱해서 모두 합한 것이 예측오차제곱합(SSE)임을 나타낸다.

평균만 알고 있을 때 SSE는 관찰값에서 평균을 뺀 오차를 제곱해서 합한 값이었다. 평균 자체가 y의 각 관찰값에 대한 예측값이었기 때문에 당연히 그랬다.

그러나, 독립변수가 추가된 회귀모형에서는 독립변수가 조금이라도 예측에 기여하는 한 회귀모형에 의한 예측값과 평균은 다르다. 회귀분석에서 SSE은 관찰값과 회귀모형에 의한 예측값의 차이를 제곱하여 모두 합한 값이다. 그것을 잔차제곱합(Sum of Squared Residuals)이라고도 부른다. 그리고 관찰값과 평균의 차이를 제곱하여 모두 합한 값은 SST(Sum of Squares Total, 총제곱합)이라고 부른다. 이점은 다소 혼동을 일으킬 수 있기 때문에 잘 기억해 두기 바란다.

평균만을 가지고 예측할 때는 SST = SSE이다. 하지만 회귀모형에 추가된 독립변수가 종속변수의 예측에 도움이 되는 한 SST는 SSE보다 클 것이다. 독립변수가 존재하는 어떤 회귀모형의 예측력도 평균만 가지고 하는 예측보다 더 빗나갈 수는 없다, 즉, 더 큰 예측 오차를 가질 수는 없다. 예측오차가 조금이라도 줄었을 것이다. 만약 그렇지 않다면 그런 결과를 낸 회귀모형은 통계적으로 유의미할 수 없다. 그것은 독립변수가 없는 것이나 마찬가지라는 말이 된다.

따라서 SST와 SSE의 차이는 종속변수에 대한 예측에 있어 회귀모형에 의해 개선된 부분이다. 그 차이를 SSR(Sum of Squares due to Regression, 회귀제곱합)이라고 부른다. SST, SSE, SSR 사이에는 다음과 같은 관계가 성립한다.

식 (6)을 말로 풀면, 총제곱합은 잔차제곱합과 회귀제곱합을 더한 값이다. 이미 분산분석(ANOVA)을 공부한 사람은 이것이 분산분석에서 나온 전체제곱합(SST)은 처리제곱합(SSC)과 잔차제곱합(SSE)을 더한 값이라는 식과 동일한 구조임을 금방 느낄 것이다.

위 그림은 엑셀에서 앞에서 설명한 모든 내용을 레스토랑 사례를 가지고 구현한 것이다(엑셀에서 직접 구동하고 싶은 독자는 그림을 클릭하면 엑셀 파일에 접근하여 다운로드 받을 수 있다).

엑셀 자체가 제공하는 애드인인 데이터 분석을 이용하면 손쉽게 회귀분석을 수행할 수 있으며, 위 그림의 아랫부분과 같은 결과를 얻을 것이다. 회귀분석 결과의 중간 부분(초록색 부분)을 보면 제목이 ‘분산분석’이고 실제로 전형적인 분산분석표(ANOVA table)이다. 거기에 있는 제곱합 열을 보면, 첫 번째 행의 89.9251은 회귀제곱합이고, 두 번째 행의 30.0749는 잔차제곱합이며, 세 번째 행의 120은 총제곱합이다. 그림의 윗 부분에 파란색으로 된 부분은 엑셀에서 위에 제시된 공식들을 이용해 차근차근 계산해서 얻은 결과이다. 거기에 제시된 값들이 초록색 부분에 제시된 제곱합들과 동일하다.

위에서 회귀모형의 결정력을 보여주는 결정계수 는 다음과 같은 식으로 구할 수 있다.

위 사례의 결정계수 값은 0.7494이다. 이는 총제곱합의 74.94%가, 사용된 회귀모형에 의해 설명되었다고 해석된다. 회귀모형(회귀선)이 데이터에 잘 적합하고 있는 것이다.

흥미있게도 이 결정계수의 양의 제곱근은 바로 피어슨 상관계수이다.

위 레스토랑 사례의 결정계수는 0.7494이고, 그것의 양의 제곱근은 0.8657이며, 그것이 식사비와 팁 액수의 피어슨 상관계수가 된다. 엑셀에서 CORREL 함수를 사용하여 계산한 피어슨 상관계수 값도 정확히 0.8657이다.

회귀모형의 효과는 분산분석에서처럼 F비를 사용하여 검증할 수 있다.

그리고 MSR과 MSE는 SSR과 SSE를 각각 해당 자유도로 나누어 주면 구해진다. 단순회귀모형에서  MSR을 구하는데 필요한 자유도는 1(독립변수의 갯수)이고, MSE를 구하는데 필요한 자유도는 (표본의 사례수에서 회귀계수의 갯수를 뺀 값)이다. 

위의 레스토랑 사례에서는 자유도가 1과 4이므로, MSR은 89.9251, MSE는 (30.0749/4=)7.5187이다. 그러면 F값은,

엑셀의 F.DIST.RT 함수를 이용해서 이 F 비의 p값을 구하면, 0.0259이다. 엑셀의 데이터분석 추가기능을 이용하면 위에 제시된 값들을 모두 손쉽게 구할 수 있다(위 그림 참조).

유의수준을 0.05으로 둔다면, 회귀모형의 효과가 없다는 영가설을 기각할 수 있다. 즉, 식사비로 구성된 회귀모형은 팁 액수를 예측하는 데 도움이 된다고 말할 수 있다.

그런데, 만약 이 자료를 표본데이터로 삼는다면, 그 표본에서 얻은 기울기가 유사한 레스토랑의 모집단에서 식사비와 팁에도 적용될 수 있을까? 다시 말해 회귀계수의 유의성 검정은 어떻게 할 수 있을까?

회귀계수는 그 자체 표집분포를 가지고 있다. 회귀계수 의 표집분포는 모평균()과 표준오차()를 지닌 정규분포를 갖는다. 회귀계수의 통계적 유의성은 통상 t 검정을 사용해서 검증한다. 회귀계수()은 아래 공식으로 검정통계량 t로 변환된다.

영가설 아래에서 식 (11)의 분자에 있는 은 0이다. (11)의 분모는 회귀계수 의 표준오차인데, 그것은 아래 식으로 구해진다.

식 (12)에서 분자는 예측값의 표준오차(standard error of the estimate)이며 다음과 같이 구해진다.

예측값의 표준오차는 위에서 식 (9)에서 구한 바로 그 MSE의 양의 제곱근이다. SSE는 (추정)회귀선과 y의 관찰값의 차이–즉, 잔차–의 제곱합이다. 그것은 추정회귀선 주변의 실제 관측값의 변동성을 보여주는 척도가 된다.  MSE(평균제곱오차)는 의 추정값()인데, SSE를 자유도로 나누어 구했다. MSE의 양의 제곱근을 구하면 예측값의 표준오차 가 되는 것이다.

이렇게 해서 t값을 구할 수 있으며, 단순회귀모형에서 이 검정통계량의 자유도는 이므로 그 두 가지 정보를 이용해서 t분포의 양측검정을 하면 p값을 구할 수 있다.

위 레스토랑 예에서는  의 p값이 0.0259이다. 따라서 유의수준 0.05에서 =0이라는 영가설이 기각된다. 따라서 식사비를 알면 팁액수를 예측할 수 있으며,식사비가 1달러 올라갈 때마다 팁은 약 15센트가 늘어나는 것으로 예측된다고 결론을 낼 수 있다.

사실 독립변수가 하나뿐인 단순회귀분석에서는 모형의 결정계수의 유의성을 검증하는 F검정의 결과와 독립변수의 회귀계수의 유의성을 검증하는 t 검정의 결과가 같다. 위 그림에 제시된 회귀분석 결과에서 분산분석 부분에 있는 회귀의 유의한 F 값과 그 아래 표에 있는 식사비의 p값이 동일하다.

그래서 회귀분석은 분산분석과 피어슨 상관계수를 학습하고 나서 배워야 한다. 회귀분석에는 분산분석과 상관계수의 지식이 크게 활용되기 때문이다. 사실 분산분석으로 수행하는 작업은 모두 회귀분석으로 처리할 수 있다. 집단의 구분을 수치적 변수로 변환하면, 분산분석 대신 회귀분석을 적용할 수 있다.

앞에서 회귀함수의 절편과 기울기를 구하는 식 (3)과 (4)을 도출과정 없이 그냥 제시했다. 최소자승법을 언급만 하고 적용 과정을 생략한 것이다. 글이 너무 길어져서 다음 글에서 최소자승법과 다중회귀분석을 함께 설명하겠다. (2019-11-24)

표와 그래프(2): 피어슨 상관계수

그래프에서 데이터를 표시하는 데는 좌표(coordinates)가 사용되고 변수 사이의 관계는 기본적으로 직선(a straight line)으로 묘사된다. 다시 말해 각 사례는 그것이 지닌 두 변수의 값으로 구성된 좌표로 그래프에 표시되고 연구자는 사례들의 분포에 직선을 적합(fitting)해서 그 데이터들의 분포를 가장 잘 대표하는 직선을 찾아내면, 연구자는 그 직선이 두 변수들의 관계를 가장 잘 나타내주는 것으로 간주한다.

예컨대 아래 표는 미국 샌프란시스코에 소재한 어떤 음향기기 판매점이 시행한 TV광고횟수와 매출액에 관한 데이터이다.

TV광고횟수와 매출액의 추이

이 데이터를 아래와 같이 그래프에 표시할 수 있다. x축에 TV광고횟수를, y축에 매출액을 둔다면, 그래프에서 각 주의 좌표는 (2, 50), (5, 57), (1, 41) 등이 될 것이다(아래 그래프 참조).

엑셀을 이용해서 이 데이터의 분포를 가장 잘 보여주는 직선을 적합하면 아래와 같다. 붉은 색의 점선이 엑셀이 적합해준 추세선이다. 이 직선은 두 변수 사이의 선형 관계를 “가장 잘 나타낸다”.

교차표 학파의 학자들이 교차표의 각 칸의 빈도를 예측하는 데 관심이 있다면, 그래프 학파의 학자들은 각 사례의 값을 예측하는 데 관심이 있다. 그들은 직선을 가지고 각 점의 좌표를 예측한다. 위 그래프에서 붉은 선(엑셀의 추세선)은 10개의 데이터 값(좌표)을 “가장 잘 대표(예측)하는” 직선이다. “가장 잘 나타낸다”, “가장 잘 대표한다”, “가장 잘 예측한다”는 말이 무슨 의미인지는 조금 후에 설명하겠다.

그래프 접근의 대표적인 도구는 상관계수(correlation coefficients)와 회귀분석(regression analysis)이다. 상관계수는 두 변수 사이에 존재하는 관계의 방향과 정도를 표시한다. 상관계수는 데이터가 예측선(직선)의 주위에 얼마나 모여 있는가를 나타낸다. 비록 그것이 예측선을 구체적으로 특정하지는 못하지만 말이다. 즉, 상관계수는 선형적 관계가 존재하는지를 보여준다.

관련 이미지

위 그림을 보면, 맨 좌측 그래프는 한 변수가 증가하면 다른 변수도 증가하는 모습이다. 양의 기울기를 가진 직선 주위에 데이터들이 모여 있어 그 직선이 데이터의 분포를 잘 대변하고 있다. 가운데 그래프는 한 변수가 증가하면 다른 변수는 감소하는 모습이다. 직선은 음의 기울기를 가지고 있고, 데이터는 직선 주위에 잘 모여 있어 이 경우도 직선이 데이터의 분포를 잘 나타내 준다. 맨 우측의 그래프는 어디로 선을 그어야 할 지가 막막하게 데이터가 분포하고 있다. 이 경우 어떤 직선을 그리더라도 그 직선 주위에 데이터가 몰려 있지 않을 것이다.

피어슨 상관계수(Pearson correlation coefficient, )는 이러한 관계를 하나의 숫자로 표현해 준다. 상관계수는 아래의 공식으로 구할 수 있다.

식 (1)에서 분모는 변수 x의 표준편차와 변수 y의 표준편차를 곱한 값이고, 분자는 x와 y의 공분산이다. 공분산은 아래 식으로 구해진다.

식 (2)에서 분모는 자유도이고, 분자는 x편차와 y편차의 곱을 모두 더한 값이다. 위 사례에서 공분산은 11이며, TV광고횟수의 표준편차는 1.4907이고, 매출액의 표준편차는 7.9303이다. 엑셀 함수 COVARIANCE.S를 적용하면 공분산이 구해지고, STDEV.S를 적용하면 각 변수의 표준편차가 구해진다. 식 (1)에 이 값들을 대입하면, TV광고횟수와 매출액의 상관계수는 0.93이다. 이 과정이 복잡하면, 연구자는 엑셀의 CORREL 함수를 적용하여 데이터에서 상관계수를 바로 계산할 수도 있다.  상관계수 0.93은 TV광고횟수와 매출액이라는 두 변수 사이에 높은 양의 상관관계가 있음을 보여준다.

그런데, 표본의 크기(10)가 아주 작다. 모집단에서는 음향기기 판매에 있어 TV광고횟수와 매출액 사이에 상관관계가 부재할 수도 있다. 이를 확인하려면 유의성 검정(significance test)를 해야한다.

피어슨 상관계수의 유의성 검정은 상관계수 값을 검정통계량   값으로 전환한 다음 검정을 수행하여 이루어진다. 아래 공식을 적용하면 상관계수 값으로부터 검정통계량 값을 구할 수 있다.

여기에 적용되는 자유도는 이다. 공식 (3)에 을 집어 넣으면,

자유도가 8이므로, 양측 검정의 p값은 9.38553e-05이다. 이 값은 엑셀의 T.DIST.2T 함수를 적용하면 얻어진다. 이 값은 유의수준 0.05보다 훨씬 작기 때문에, 모집단에서 TV광고횟수와 매출액 사이에 관계가 없다는  영가설()은 기각된다. 즉, 만약 이 표본 데이터가 무작위 표본(혹은 그에 근접하는 좋은 표본)이라면, 음향기기 판매 업체들이라는 모집단에서도 TV광고횟수는 매출액과 높은 양의 상관관계를 갖는다고 추정될 수 있을 것이다.  다음 글에서는 그래프 접근의 다른 도구인 회귀분석에 관해 알아보자. (2019-11-23)

표와 그래프(1): 통계학에서 ‘세상’을 보는 두 가지 방식

‘세상’은 관계로 구성된다. 인간 세상은 개인들, 집단들, 국가들 사이의 관계로 이루어져 있고, 자연계도 온갖 존재들 혹은 현상들 사이의 관계로 이루어져 있다.

과학은 그 관계에 내재하는 법칙이나 원리(그냥 간단히 법칙이라고 하자)를 밝힌다. 사회과학은 인간계를 연구하고, 자연과학은 자연계를 연구하지만 관계의 법칙을 탐구한다는 점에서 서로 다르지 않다.

그런데 현실에 존재하는 객체들 사이의 관계를 하나 하나 들여다 보아서는 아무리 오랜 시간 연구를 한다고 해도 법칙을 드러내기는 거의 불가능하다. 관계의 법칙은 개별적인 객체들 사이의 관계를 관통하는, 즉, 그 관계들 모두 혹은 대부분에 해당되는 것이기 때문이다. 자연인 A와 B, 기업체 가와 나, 인간 A와 늑대 등 같이 특수한 개체들 사이의 관계는 반드시 오만 가지의 법칙에다 우연적 요소까지 함께 작동하여 나타난다.

과학자들은 개체(entities) 대신 변수(variables)를 가지고 세상을 인식한다. 변수는 개체들이 지닌 속성(properties)이다. 다시 말해 개체들의 관계를 직접 보는 대신 개체들을 구성하는 속성들의 관계를 파악해서 개체들의 관계를 이해하려고 한다.

예컨대 사회과학자들은 인간을 구성하고 있는 성별, 나이, 학력, 인종, 종교, 출신지, 질병, 성향, 직업, 소득, 재산 등이라는 속성들, 즉, 변수들 사이의 관계에 주목한다. 그리고 그들은 그 변수들 사이의 관계에 존재하는 법칙적 현상을 밝히고자 한다. 그렇게 함으로써 궁극적으로 사람들 사이의 관계를 해명할 수 있으리라 기대한다.

통계학은 변수들 사이의 관계를 표(table) 혹은 그래프(graph)로 표시한다. 초등 수학 때부터 배운 표와 그래프가 바로 그것이다. 초등학교에서는 한 변수를 표나 그래프로 나타내는 방법을 배웠을 것이고, 중고등학교 혹은 대학에서는 두 변수 혹은 그 이상의 변수들의 관계를 표나 그래프로 나타내는 방법을 배웠을 것이다.

표는 칸(cell)으로 구성된다. 각 칸에는 변수의 범주들에 속하는 사례들의 숫자가 기재된다.

예컨대 어떤 중학교의 학생들이 총 300명인데, 그 중 남학생이 170명이고, 여학생이 130명이라고 하자. 그 학교 학생들을 성별이라는 변수로 표시한다면, 아래와 같은 표를 만들 수 있을 것이다.

성별빈도
남학생170
여학생130
합계300

이 표는 이 중학교에는 여학생보다 남학생의 수가 많음을 보여준다.

남학생과 여학생이 방과 후 활동 중 체육을 선택한 비율을 비교한다면, 그것은 성별방과 후 체육활동 참여라는 두 변수의 관계를 보는 것이 된다. 두 변수 이상의 관계를 나타내는 표는 교차표(cross-table)라고 한다. 만약 위 중학교에서 방과 후 체육활동에 130명의 남학생과 30명의 여학생이 참여한다면 다음과 같은 교차표가 만들어진다.

 방과 후 체육활동 참여합계
성별참여비참여
남학생130(76.47)40(23.53)170(56.67)
여학생30(23.08)100(76.92)130(43.33)
합계160(53.33)140(46.67)300(100.00)

행비율을 계산해 보면, 방과 후 체육활동에 전체 학생 중에는 53.33%가 참여하고 있는데, 남학생 중에는 76.47%가, 여학생 중에는 23.08%가 참여하고 있는 것으로 나타났다. 여학생보다 남학생이 훨씬 높은 비율로 방과 후 체육활동에 참여하고 있는 것이다. 이 학교에서는 방과 후 체육활동이 성별에 따라 다름을 알 수 있다. 통계학적으로 표현하면, 이 학교에서는 방과 후 체육활동 (참여)라는 변수가 성별이라는 변수에 의존적이다, 방과 후 체육활동이라는 변수와 성별이라는 변수가 서로 관계를 갖고 있다 혹은 방과 후 체육활동과 성별은 상호독립적이 아니다가 된다.

만약 연구자의 관심이 이 학교를 넘어서 우리나라 전체 중학교라는 모집단에 있다고 한다면, 이 교차표는 표본 데이터가 되고, 그 표본 데이터를 가지고 모집단의 관계(모수)를 추정하거나 “우리나라의 (전체) 중학교에서 방과 후 체육활동 참여 여부는 성별에 의해 영향을 받는다’ 혹은 “우리나라 중학교에서 방과 후 체육활동에는 남학생이 여학생보다 월등하게 높은 비율로 참여하고 있다”라는 가설을 검증할 수도 있다.

표 혹은 교차표에서 모수 추정이나 가설 검정은 이론으로부터 각 칸의 빈도를 예측(추정)하고, 그 예측값과 실제 관찰값을 비교하는 방식으로 수행될 수 있다. 카이자승을 이용한 독립성 검정이나 로그 선형 모형(Log-linear model)이 그러한 방식을 구체적으로 수행 가능하게 해주는 통계 기법이다. 표 접근법을 선호하는 학자들(교차표 학파라고 부르자)은 교차표의 각 칸에 들어갈 빈도를 예측하는 데 관심이 있다. 교차표 학파의 학자들은 만약 간단한 이론으로 각 칸의 관찰값과 거의 유사한 예측값을 얻을 수 있다면 그것은 멋진 이론이라고 생각한다.

원래 표(혹은 교차표)는 변수들이 명목 수준(nominal level)이거나 순서 수준(ordinal level), 즉, 범주적 변수(categorical variable)일 때 사용된다. 반면에 그래프는 변수들이 구간 수준(interval level)이나 비율 수준(ratio level), 즉, 수치적 변수(numerical variable)일 때 사용되도록 개발되었다.

그러나 현실에서 표와 그래프는 단순한 도구의 차이를 넘어서 세상에 대한 서로 다른 접근법이 되었다. 표를 좋아하는 학자들은 표를 가지고 세상(즉, 변수들의 관계)을 분석하려 들고,  그래프를 좋아하는 학자들은 그래프를 가지고 세상을 분석하려 든다. 그들은 변수의 측정 수준에 따른 구분을 별로 존중하지 않는다. 특히 양쪽의 방법이 발전하면서 그러한 구분 허물기가 더욱 심해졌다.

자신들의 방법을 적용하기 위해 교차표 학파의 학자들은 수치적 변수를 범주적 변수로 변환하고, 그래프 학파의 학자들은 범주적 변수를 수치적 변수로 변환한다. 그들은 그 과정에서 데이터의 정보를 잃거나 데이터를 왜곡할 수도 있지만 그렇게 함으로써 얻어지는 효과가 그 상실을 보상하고도 남는다고 생각한다.

학자들의 고집은 못말린다. 그들은 자신들의 생각을 구현할 능력이 있기(혹은 그렇다고 착각하고 있기) 때문에 학문의 영역에 양보란 없다. 거기에는 오직 승리와 패배만 있을 뿐이다. 다음 글에서는 그래프 학파에 대해서 살펴보자. (2019-11-23)

카이자승과 독립성 검정(개정판)

[예제 1] 미국 동부 주요 대도시에 근무하는 경찰관 남녀의 승진 사례이다. 경찰관 1,200명 중 960명은 남자, 240명은 여자이다. 지난 2년 동안 324명이 승진하였다. 다음 표에 과거 2년간 경찰관의 승진 현황이 제시되어 있다. 승진 결과를 검토한 다음, 여경위원회는 240명의 여경 중 36명만이 승진하였다는 사실을 근거로 여성차별이 있다고 문제를 제기했다. 경찰인사관리위원회는 여성이 상대적으로 적게 승진한 것은 여성차별 때문이 아니라 여성 수가 상대적으로 적기 때문이라고 주장했다. 과연 누구의 주장이 옳을까? 통계학은 이 첨예한 갈등을 합리적으로 해결하는 데 기여할 수 있을까?

이 교차표를 접근하는데는 두 가지 방법이 있다. 이 교차표가 모집단의 수치를 보여주는 경우 조건부 확률(conditional probability)을 사용하면 되고, 이 교차표가 하나의 표본에 관한 정보로 간주된다면 카이자승() 을 가지고 독립성 검정을 하면 된다.

어느 데이터가 모집단(population)에 관한 것인가 혹은 표본(sample)에 관한 것인가는 근본적으로 연구자가 어떤 대상에 대해 주장을 제시하고 싶은가에 달려 있다. 예컨대 이 사례에서 연구자가 해당 경찰청의 과거 2년 동안에 발생한 승진 케이스들에 대해서만 성차별이 존재하는지를 따지겠다면, 이 데이터는 전수 데이터로 모집단에 관한 것이라고 간주될 수 있다. 반면에 연구자가 해당 경찰청의 데이터를 가지고 미국의 전체 경찰이나 미국 사회 전체에 존재하는 성차별에 관해 따지겠다면 이 데이터는 표본에 관한 것이라고 간주되어야 한다.

이 교차표를 가지고 그 두 접근을 모두 검토해 보자. 먼저 조건부 확률부터 논의하겠다.

최근 조건부 확률은 그 어느 때보다도 중요한 지식이 되었다. 현업에서 가설 검증보다는 예측이 훨씬 더 많이 요청되고 있으며, 예측에 널리 사용되는 베이즈 추론(Bayesian inference)의 논리적 토대가 조건부 확률이다. 현업에서 스스로 예측을 하거나, 최소한 남이 하는 예측을 이해하고 싶다면, 조건부 확률에 관련된 개념들을 꼼꼼하게 익혀둘 필요가 있다.

확률을 다룰 때는 먼저 사건을 정의해야 한다.

M = 경찰관이 남성; W = 경찰관이 여성; A = 경찰관이 승진;  =  경찰관이 승진하지 못함

= 무작위로 뽑힌 경찰관이 남성이고 승진;  = 무작위로 뽑힌 경찰관이 남성이고 승진하지 못함; = 무작위로 뽑힌 경찰관이 여성이고 승진; = 무작위로 뽑힌 경찰관이 여성이고 승진하지 못함

위의 표는 아래 확률들을 가지고 승진에 관한 결합확률표(joint probability table)로 전환될 수 있다. 

이러한 확률들은 두 사건의 곱사건의 확률로서 결합확률(joint probability)라고 부른다.

결합확률 주변에 있는 값들은 각 사건의 확률이다. 즉, P(M) = 0.80; P(A) = 0.20; P(A) = 0.27; P() = 0.73이다. 이러한 값들을 주변확률(marginal probability)이라고 부른다. 결합확률표에서 관련된 행이나 열의 결합확률을 합하면 주변확률을 구할 수 있다. 예컨대 이다. 이점을 잘 기억해두면 베이즈 추론에 도움이 될 것이다.

결합확률과 주변확률을 가지면 조건부 확률(conditional probability)을 구할 수 있다.  예컨대 어떤 경찰관이 남성일 경우 그가 승진할 확률, 을 구해보자.

도수를 사용해서 구하면, 288/960=0.3이 될 것이다. 확률을 이용해서 구해도 0.24/0.80=0.3으로 동일한 값이다. 확률을 이용한 조건부 확률의 계산을 일반화하면 다음과 같다.

조건부 확률은 결합확률을 주변확률로 나눈 값, 다른 말로 주변확률에 대한 결합확률의 비율이다.

경찰관이 여성인 경우 승진할 확률은 아래와 같다.

즉, 남성경찰관의 승진확률은 0.3으로 여성경찰관의 승진확률 0.15의 두 배이다. 이 결과는 경찰인사관리위원회의 주장보다 여경위원회의 주장을 지지한다.

만약 이 데이터가 표본이라면 조금 다른 방식으로 접근할 수 있다. 교차표에 나타난 차이가 우연적 결과이다 혹은 승진에 관해서 성차별이 없다(통계학적으로 표현하면, 경찰관의 성별과 승진이 독립 사건이다) 라는 가설을 검증하는 방법이다. 이를 영가설(null hypothesis)이라고 하는데, 만약 영가설이 기각되면 대립가설(alternative hypothesis)을 수용하게 된다. 이것이 바로 독립성 검정(test of independence)이다.

만약 경찰관의 성별과 승진이 독립 사건이라면 결합확률표는 어떤 모습일까? 남자 경찰관 중 승진자 비율, 여성 경찰관 중 승진자 비율, 그리고 전체 경찰관 중의 승진자 비율이 같을 것이다(아래 결합확률표 참조).

이를 일반화하여 표현하면 다음과 같다.

이를 빈도의 교차표로 나타내려면 각 결합확률이나 주변확률에 총사례수인 1200을 곱하면 된다.

빈도 교차표에서는 아래 공식을 이용해서 바로 예측값을 구할 수 있다.

여기서 는 기대 빈도(expected frequency), 는 주변 열 빈도(marginal column frequency), 은 주변 행 빈도(marginal row frequency), 은 총 표본 크기(total sample size)이다.

이는 영가설 아래서 얻은 예측값이다. 이 예측값과 실제 관찰값의 차이가 영가설을 기각할 수 있을 만큼 충분히 큰가? 이것을 검증하는 기법이 카이자승 검정( test)이다.

여기서 는 각 칸의 관찰값(빈도)이고, 은 각 칸의 예측값(빈도)이다.

각 셀의 카이자승 값은 그 셀의 관찰값에서 예측값(영가설 아래)을 뺀 값을 제곱한 수를 그 셀의 예측값으로 나누면 된다. 각 셀의 카이자승 값들을 모두 합한 수가 전체 카이자승 값이다.  카이자승 분포()은 아래 그림에서처럼 자유도()의 크기에 따라 모양이 변한다. (아래 그림은 위키피디아에서 가져왔음.)

Chi-square pdf.svg

교차표에서 자유도를 구하는 공식은 다음과 같다.

위의 사례에서는 자유도는, (2 – 1)(2 – 1)=1이다.

엑셀에서는 바로 카이자승 값을 구할 수 없다. 위 공식들을 이용해서 구해야 한다. 다만 예측값의 교차표를 구하면, CHISQ.TEST 함수를 이용해서 바로 카이자승 값의 p- 값을 구할 수 있다. 아래는 그 두 가지 방법을 모두 이용해 구한 값들이다.

이 교차표의 카이자승 값의 p-값은 영가설을 충분히 기각할 수 있을 정도로 작다. 위에서 조건부 확률을 가지고 얻은 결과를 카이자승 검정을 통해서 다시 확인한 셈이다.

독립성 검정에 관한 예제 하나를 더 보자.

[예제 2]  맥주취향에 있어 남녀간의 차이가 있을까? 맥주 취향에 가벼운, 보통, 흑 세 가지 종류가 있다고 하자. 독립성 검정의 가설은 다음과 같다.

:맥주취향은 성별과 독립적이다.  : 맥주취향은 성별과 독립적이지 않다.

아래 데이터를 가지고 카이자승 검정을 해보자. 유의수준은 0.05로 하자.

(풀이)

  1. 원데이터를 엑셀에 입력하여 피벗테이블 기능을 사용해서 교차표를 만들었다.
  2. 공식 (1)을 이용하여 영가설 하의 기대빈도(도수)를 구한다(아래 그림에서 연노랑색칸에 있는 값들). 엑셀로 행렬을 계산할 수 있는 사람은 MMULT함수를 이용해서 계산을 빨리 할 수 있을 것이다(주황색칸에 있는 값들).

3. 공식 (2)를 이용해서 카이자승 값을 구한다. 각 칸의 기대값에서 관찰값을 뺀 차이를 구하고, 그 값을 제곱한다. 그리고 그 값을 기대값으로 나눈다. 그러면 각 칸의 카이자승 값을 구할 수 있다. 위 그림에서 연초록칸, 진초록칸, 하늘색칸 순서로 그 값이 계산되어 있다. 하늘색칸에 있는 값들이 각 칸의 카이자승이다. 그 값들을 모두 합하면 6.4468이고, 그것이 우리가 구하려고 하는 교차표의 검정통계량인 카이자승 값이다. 자유도를 계산하면, (2-1)*(3-1)=2이다. 엑셀의 CHISQ.DIST.RT 함수에 카이자승 값(6.4468)과 자유도(2)를 넣으면, p-값 0.03982가 구해진다.

영가설 하의 기대빈도를 구하면, CHISQ.TEST 함수를 이용하여 바로 p-값을 구할 수도 있다. CHISQ.TEST에는 관찰빈도 범위와 예측빈도 범위를 넣어주면 된다.

아니면, 스마트폰 어플을 이용할 수도 있다. 예컨대 어플 Probability Distributions에서 Chi-Square 분포를 선택한 후 자유도와 카이자승값을 입력하여 p-값을 구할 수도 있다. 어떤 방법을 선택하나 동일한 p-값을 구할 수 있다.

4. 검정통계량의 p-값이 유의수준 0.05보다 작기 때문에 영가설(즉, 독립성 가설)이 기각되며, 따라서 맥주에 관한 취향이 성별에 따라 다르다고 추정된다.

참고로 카이자승 검정은 비록 차이가 있다 없다는 점을 검증하지만 항상 단측 검정이다. F-검정 때처럼 분포가 비대칭적일 뿐 아니라 음수가 될 수 없기 때문에 오른쪽 단측 검정이 적합하다.  (2019-11-10)

가을 단상

앞뜰 단풍

커피를 마시며 바라보는 앞뜰이 붉고 노랗다. 길건너 서원 뜰의 단풍도 붉은 빛, 우리 집 울타리 남천도 붉은 빛이다. 거기에 잔디가 금빛으로 바뀌어 가며 가을 분위기를 더하고 있다.

늦가을 정원에서는 크게 할 일이 없다. 겨울을 맞이하기 위해 화분들을 따뜻한 실내로 옮기고 수전들이 얼지 않도록 중간 밸브를 잠그고 용처가 사라진 물 호스들을 잘 말아서 창고에 보관하는 정도의 소소한 일이 있을 뿐이다.

실내에서도 청소와 같은 일상적 일이 있을 뿐이다. 지난 겨울에 창호를 삼중창으로 대폭 교체해 단열을 강화했고, 거실에 냉난방기를 들여오고 늘어난 전기 수요에 대비해 태양광 발전기를 추가로 설치했다. 태양광 발전이 시간당 6kw가 되었으니 아마도 난방을 대부분 전기로 해도 되지 않을까 생각된다. 그렇게 되면 기름 보일러나 벽난로를 거의 쓰지 않아도 될 것이다. 기름 보일러는 비용이 많이 들고 벽난로는 관리에 손이 많이 간다.

집의 외양도 중요하고 정원의 풍경도 중요하지만 집이란 무엇보다 여름에 시원하고 겨울에 따뜻해야 한다. 물론 폭풍우에 안전해야 함은 말할 것도 없지만.

그런데 관리에 노력을 기울이지 않고 그러한 기본이 보장되는 집은 없다. 아무리 많은 돈을 들여서 지은 집이라도 몇 년 지나지 않아 틈이 생기고 낡은 구석이 생기기 마련이다. 그것이 집이 그 일부인 자연의 이치이다.

때문에 집짓기 못지 않게 보수와 유지가 중요하다. 내가 홀연히 떠나더라도 집이 잘 유지되도록 시스템을 만들어 놓겠다는 계획을 내년에는 모두 실행해 놓아야겠다. 궁극적으로는 모든 것이 하늘에 뜻과 후손들의 선택에 의해 좌우되겠지만 나는 내가 할 수 있는 역할을 다하고 가야할 것이다. 작은 집과 집안의 역사도 그렇게 이루어지는 것이이라.

계절도 가을이지만 내 삶도 가을이다. 계절이 바뀜이 슬퍼할 대상이 아니듯이 인생의 흐름도 슬퍼할 대상이 아니다. 모두 잠시 왔다가는 여행일 뿐이다. 아쉽지 않은 순간이 어디 있겠는가만 그렇다고 여행이 슬프기까지는 않은 것처럼. (2019-11-07)