지난 시간에 피처의 스케일을 변환하는 방법을 알아봤다. 이번 시간은 회귀분석에 대해 간략하게 살펴본다. 회귀분석은 가장 쉽게 접근할 수 있는 데이터 분석 방법이지만 제대로 사용하려면 살펴볼 부분이 많은 분석 방법이다. 다음 시간에는 데이터 분류 문제를 해결하는 방법에 대해 살펴본다.
[글 싣는 순서]
⑦ 알고리즘 (1) - 회귀
⑧ 알고리즘 (2) - 분류
⑨ 알고리즘 (3) - 클러스터링
⑩ 성능평가 (1) - 회귀
⑪ 성능평가 (2) - 분류
⑫ 데이터사이언스 전문가 인터뷰
회귀분석
데이터 분석의 문제는 크게 회귀와 분류 두 가지로 나누어 볼 수 있으며 오늘은 회귀분석에 대해 살펴본다.
회귀분석(regression analysis)은 영국의 유전학자인 프랜시스 골턴(Francis Galton)이 부모와 자녀의 키가 어떠한 관계를 갖는지 분석하는 과정에서 고안한 방법이다. 회귀(回歸)라는 단어를 국어사전에서 찾아보면 본래의 자리로 돌아오거나 돌아감이라고 설명돼 있는데, 그럼 부모와 자녀의 키의 관계가 본래의 자리로 돌아오거나 돌아간다니 대체 무슨 뜻이란 말인가?
골턴은 부모와 자녀의 키가 어떤 관계를 갖는지 분석하던 중 “자녀의 키 = 2/3 * 부모의 키 + 상수”와 유사한 관계를 갖는 것을 발견하였다. 특이한 점은 부모의 키가 평균보다 커질수록 자녀의 평균 키가 크지만 부모만큼 극단적으로 크지 않으며, 반대로 부모의 키가 평균보다 작아질수록 자녀의 키가 작지만 극단적으로 작지 않고 자녀들 키의 평균으로 회귀하는 경향을 보인다. 이러한 이유로 회귀분석이라는 이름을 갖게 되었고 지금의 회귀분석과는 약간의 다른 의미를 갖는 것 같다.
회귀분석의 종류
회귀분석은 변수간의 관계가 선형인지 선형이 아닌지에 따라 선형 회귀와 비선형 회귀로 나눌 수 있다.
선형회귀의 경우 하나의 독립변수와 종속변수 사이의 관계를 분석하는 경우 단순 선형 회귀분석이라 하며, 여러 독립변수와 종속변수 사이의 관계를 분석하는 경우 다중 선형 회귀분석이라 한다. 그리고 종속변수가 0과 1의 바이너리한 결과로 출력되는 경우 로지스틱 회귀라 한다.
위의 데이터와 같이 부모의 키와 자녀의 키 사이의 관계를 분석하는 경우가 단순 선형 회귀분석의 예가 될 것이며, 부모의 키, 부모의 몸무게와 자녀의 키 사이의 관계를 분석한다면 다중 선형 회귀분석이 될 것이다.
선형 회귀의 경우 예측값과 실젯값의 차이를 최소화 하는 모델을 찾는 방식으로 해결하며, 비선형 회귀의 경우 요즘 널리 유행하는 딥 러닝과 같은 방법을 사용해 해결한다.
상관관계와 인과관계
회귀 분석을 다루면서 종종 언급되는 부분이 바로 상관관계와 인과관계이다. 상관관계는 두 변수 사이에 양의 상관관계나 음의 상관관계를 갖는지를 수학적으로 계산할 수 있다. 그러나, 상관관계가 존재한다고 해서 반드시 인과관계가 존재하는 것은 아니다. 콜턴이 분석한 부모와 자녀의 키 사이에 상관관계가 있다는 점은 그래프와 수학적 계산을 통해 확인할 수 있지만, 그렇다고 부모의 키와 자녀의 키 사이에 인과관계가 있다는 점은 추가적인 실험이나 분석이 필요할 것이다.
상관관계와 인과관계를 설명하는데 자주 사용하는 예화가 해수욕장 익사사고 건수와 아이스크림 판매량 사이의 관계이다. 데이터를 분석하던 중 아이스크림의 판매가 올라가면 해수욕장에서 익사사고가 증가한다는 관계를 발견했다고 해서 아이스크림의 판매량이 익사사고에 영향을 주었다고 해석하는 것은 옳지 않다. 실제는 아이스크림 판매와 익사사고에 공통적으로 영향을 미치는 변수인 날씨가 원인일 확률이 더 클 것이다. 그리고 실제로 날씨가 두 변수에 영향을 주는지를 검증하기 위해서는 추가적인 실험이나 관찰이 필요할 것이다.
이처럼 회귀분석을 통해 데이터를 분석할 때에는 상관관계와 인과관계에 대한 부분을 혼동하지 말아야 한다.
선형회귀분석의 조건
선형회귀분석을 적용하기 위해서는 몇 가지의 조건을 만족해야 한다. 가장 먼저는 독립변수(부모의 키)에 따른 종속변수(자녀의 키)는 정규분포를 이루어야 하며 분산이 동일해야 한다. 또한, 종속 변수의 값들은 통계적으로 독립이어야 하며, 다중회귀의 경우 독립 변수들 사이에 다중공선성이 없어야 한다.
이러한 조건을 만족하는지는 통계적 방법을 사용해 확인할 수 있으며 조건이 만족되지 않는 경우 적절하게 변수를 처리해주거나 데이터가 충분한 경우 딥 러닝과 같은 방법을 통해 해결할 수 있다.
박정현 칼럼니스트는 서울대 EPM연구원(공학전문대학원 엔지니어링 프로젝트 매니지먼트(EPM) 연구실)이며, 머신러닝 스타트업을 창업한 바 있다.
박정현 서울대학교 연구원 park.jeonghyun@snu.ac.kr
