brunch

You can make anything
by writing

C.S.Lewis

by gimmesilver Mar 23. 2020

회귀 분석의 이해 #1

회귀 분석은 조건부 평균을 구하는 기법이다

몇 년전 회사에서 강의했던 내용을 글로 정리한 자료입니다. 비전공자들에게 어떻게 하면 회귀 분석을 쉽게 설명할 수 있을까에 초점을 맞춰 만든 자료이다보니 이론적인 엄밀성이 다소 떨어질 수 있습니다만, 틀린 내용은 없도록 최선을 다했습니다. 


    '회귀 분석'이 무엇인가에 대해 인터넷을 검색했을 때 가장 먼저 등장하는 위키백과(https://ko.wikipedia.org/wiki/%ED%9A%8C%EA%B7%80_%EB%B6%84%EC%84%9D)에서는 회귀 분석을 '관찰된 연속형 변수들에 대해 두 변수 사이의 모형을 구한 뒤 적합도를 측정해 내는 분석 방법'이라고 정의하고 있습니다. 예전에는 그런가보다 하고 그냥 받아들였지만 가만히 곱씹어볼수록 저 설명은 별로 좋은 정의가 아니라는 생각이 듭니다. 일단 사용되는 변수의 갯수를 굳이 '두 개'로 한정한 것부터 마음에 안들뿐더러 '변수 사이의 모형을 구해 적합도를 측정'한다는 말은 (어떤 모형을 구하고 무슨 적합도를 측정한다는 것인지) 모호한 표현 같습니다.

    게다가 이 설명은 회귀 분석에서 언급하는 여러 가지 조건들(잔차의 정규성, 등분산성, 변수간의 독립성 등)이나 배경이 되는 이론들(회귀 계수의 통계적 유의성이나 최소제곱법 등)과 매끄럽게 연결되지 못한다는 문제도 있습니다. 이를테면, 두 변수 사이의 모형을 적합하는 것과 잔차가 정규 분포를 이뤄야 한다는 것은 직관적으로 생각해 볼 때 아무런 관련이 없어 보입니다. 


    제가 생각하는 좀 더 적절한 회귀 분석의 정의는 '어떤 자료에 대해서 그 값에 영향을 주는 조건들의 평균적인 영향력을 이용해서 조건부 평균 (혹은 좀 더 통계학스럽게 표현하자면 조건부 기대값) 을 구하는 방법'입니다. '평균'이라는 말이 두 번이 사용된 점에서 짐작하시겠지만, 여기서 중요한 것은 회귀 분석이 하는 일이 '평균'을 구한다는 점입니다. 회귀 분석에서 다루는 여러 가지 가정이나 이론들은 '회귀 분석은 다름아닌 평균을 구하는 것이다' 라는 점을 염두하고 생각해 보면 좀 더 이해하기 쉬울 것입니다.  


    이제 이 정의가 무엇을 의미하는지 이해를 돕기 위해 예시를 들어 보겠습니다. 


    어떤 사람이 현재 아파트의 시세가 얼마인지 조사를 한다고 생각해 보죠. 어떻게 해야 가장 평균 가격을 잘 구할 수 있을까요? 무작정 전국의 아파트 거래 내역을 수집해서 전체 거래 가격의 평균을 구하면 될까요? 뭐 그렇게 해도 되긴 하겠지만 막상 그렇게 계산한 정보는 그리 쓸모가 있지는 않을 겁니다. 

    왜냐하면 아파트 가격에 영향을 주는 다양한 요인들이 있고 그에 따라 아파트 가격이 매우 다르기 때문입니다. 그러니 '우리 나라 전체 아파트의 평균 가격은 1억이다' 라고 말하는 건 '우리 나라 1인당 GDP는 3만 달러이다!' 정도의…딱 그만큼의 의미만 가질 겁니다. 좀 더 유용한 정보가 되려면 다양한 조건에 따른 집계가 필요하겠죠. 

아파트 가격에 영향을 주는 다양한 조건들


    가장 먼저 생각해 볼 수 있는 건 아파트의 크기(면적)입니다. 75제곱미터 아파트와 214제곱미터 아파트의 거래 가격을 모두 합쳐서 평균 내는 건 그리 좋은 방법이 아닙니다. 그래서 현실에서도 보통 아파트 시세를 얘기할 때 3.3제곱미터 당 얼마라고 얘기하거나 전용면적 85제곱미터 아파트의 시세가 얼마이다 이런 식으로 표현하죠. 

    또한 지역에 따른 편차도 큽니다. 대부분 잘 아시겠지만 서울과 다른 지역의 아파트 가격 차이는 매우 큽니다. 심지어 서울 내에서도 강남이냐 강북이냐, 더 나아가 마용성, 노도강, 금관구 등등 어느 지역 아파트냐에 따라서도 가격 차가 큽니다. 

    심지어 해당 아파트가 언제 지어졌는지, 역세권인지 숲세권인지 슬세권인지, 한강 조망권은 있는지, 학군은 어떻게 되는지 등등 다양한 조건에 따라서도 가격 차이가 천차만별입니다.  


    따라서 좀 더 유용한 정보가 되려면 이런 가격에 영향을 주는 조건에 따라 가능한 모든 조합을 묶은 후 아래와 같이 각 조합별 평균 가격표를 만드는 것이 좀 더 좋을 겁니다. 하지만 이렇게 할 경우 자료를 취합하기도 어렵고 표현하기도 힘들며, 내가 원하는 조건의 아파트 가격을 조회하기도 어렵습니다. 아래 예시에 나온 조건들만 고려한다 하더라도 표 길이는 아마 수천 행을 쉽게 넘을 겁니다. 

아파트 평균 가격 표 예시


    대신 생각을 바꿔서 어떤 조건에 따른 가격의 변화를 구하면 어떨까요? 가령, 아파트 면적에 따른 거래 가격들을 취합한 후 면적당 거래 가격의 평균을 잇는 선을 아래 그래프처럼 그리는 겁니다. 그러면 이 직선의 기울기는 면적의 변화에 따른 아파트 가격의 평균적인 변화를 의미합니다 (즉, 우리가 흔히 말하는 '3.3제곱미터당 얼마' 라는 수치가 되는 것이죠). 이제 우리는 아파트 가격을 다음과 같은 수식으로 표현할 수 있습니다.  

면적당 아파트 평균 가격 그래프 예시

 

    이제 더 나아가 면적뿐만 아니라 층수까지 고려해 보죠. 동일 면적의 아파트들에 대해서 이번엔 층수에 따른 평균 가격들을 잇는 직선을 그린 후 그 직선들의 '평균적인 기울기'를 구하면 '면적이 동일할 경우 층 수의 변화에 따른 아파트 가격의 평균적인 변화량'을 구할 수 있습니다. 그러고 나면 역시 아래와 같이 수식을 확장할 수 있습니다.  

                                    평균가격 = 336만원 * 면적 + 373만원 * 층수 + 371만원 

면적과 층수를 모두 고려한 아파트 평균 가격 그래프 예시


    이런 식으로 아파트 가격에 영향을 주는 조건을 하나씩 추가해 나가면, 결국 각 요인이 아파트 가격에 미치는 평균적인 영향력에 대한 수식을 통해 아파트 평균 가격을 표현할 수 있습니다.  


평균가격 = 1047*면적 + 100*층 + 5000*역세권여부 + 1500*한강조망권여부 + 200*화장실갯수 + ... 


    이미 눈치채셨겠지만, 위와 같은 방식으로 평균을 구하는 것을 회귀 분석이라고 합니다. 그리고 그 결과물인 위 수식을 회귀식 혹은 회귀 모형이라고 하죠. 대개 수식은 보기만해도 두통을 유발하는 존재이기 때문에 이렇게 수식으로 평균을 표현하는 것이 오히려 복잡해 보이지만, 그럼에도 불구하고 이런 식으로 아파트 가격의 평균을 표현하면 모든 경우의 수를 따져서 평균 가격을 집계한 표를 만드는 것에 비해 다음과 같은 장점이 있습니다.


    첫째, 모든 조합을 나열할 필요가 없기 때문에 한번에 정보를 파악하기 쉽습니다. 아파트 평균 가격표를 만들 경우 조건이 하나 추가될 때마다 표의 길이는 배수로 증가합니다. 앞서 예시에서도 언급했듯이 4~5가지의 조건만 집계한다 하더라도 모든 조건에 대한 평균 가격을 다 표시하려면 수천 개의 행으로 이뤄진 표가 필요합니다. 이건 작성하기도 힘들뿐더러 전체 정보를 파악하기도 어렵습니다. 반면, 위 수식의 경우 내가 원하는 조건을 수식에 넣고 계산하기만 하면 특정 조건에서의 아파트 평균 가격을 바로 알 수 있습니다. 


    둘째, 각 요인이 아파트 가격에 미치는 영향력을 직관적이고 정량적으로 보여줄 수 있습니다. 따라서 화장실이 1개짜리 아파트와 2개짜리 아파트는 가격 차이가 얼마나 될까? 혹은 내가 갖고 있는 예산 하에서 역세권 아파트를 구매하려면 비역세권 아파트에 비해 면적을 얼마나 줄여야 할까? 같은 질문에 답하기에는 위와 같은 수식을 이용하는 것이 표를 이용하는 것보다 훨씬 편합니다. 


    셋째, 심지어 과거에 한번도 거래된 적이 없는 조건들의 조합에 대해서도 가격 추정이 가능합니다. 이게 무슨 말인가 하면, 만약 기존에 95제곱미터 면접의 아파트는 한번도 거래된 적이 없어서 정확한 가격을 알 수 없을지라도 면적에 따른 평균적인 가격의 변화를 알고 있기 때문에 아래 그림처럼 대략 XX 억원 정도 되겠구나 라고 추정할 수 있다는 뜻입니다 (이것을 수학에서는 '보간법' 혹은 '내삽(interploation)' 이라고 부습니다).


    정리하자면, 회귀 분석은 여러 가지 복잡한 조건 하에서 평균을 집계할 수 있는 효율적인 방법일 뿐만 아니라 이를 통해 기존에 관측하지 못한 조건에 대해서도 평균을 추정할 수 있는 유용한 기법입니다. 혹시 왜 이름이 '회귀' 분석인지에 대해 궁금하신 분은 제가 예전에 썼던 '회귀 모델에서 '회귀'란 무엇인가?' 라는 글을 참고하시기 바랍니다. 


(2편에서 계속)

매거진의 이전글 실전 이탈 예측 모델링을 위한 세 가지 고려 사항 #2
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari