회귀(Regression)란 무엇인가?
회귀(Regression)는 연속형 값을 가진 속성을 예측하는 데 사용되는 지도 학습(Supervised Learning) 기법의 한 유형입니다. 회귀 분석을 활용하면 목표 변수(target variable)와 예측 변수(predictor variable) 사이의 관계를 탐색할 수 있어, 기업이 데이터 기반 의사결정을 내리는 데 큰 도움이 됩니다.
특히 회귀는 재무 예측이나 시계열 모델링처럼 과거 데이터를 바탕으로 미래를 전망해야 하는 분석 업무에서 필수적인 도구로 꼽힙니다.
데이터 평활화와 선형 회귀의 기본 원리
데이터는 함수에 적합시키는 방식으로 평활화(smoothing)할 수 있으며, 대표적인 예가 바로 회귀입니다. 선형 회귀(linear regression)는 두 개의 속성(또는 변수)에 가장 잘 맞는 '최적의' 직선을 찾아내어, 하나의 속성 값으로 다른 속성 값을 예측할 수 있게 하는 방법입니다.
여기서 한 단계 더 나아간 것이 다중 선형 회귀(multiple linear regression)입니다. 다중 선형 회귀는 두 개 이상의 속성을 포함하고, 데이터를 다차원 공간에 적합시켜 보다 복잡한 관계까지 설명할 수 있습니다.
선형 회귀에서는 데이터가 하나의 직선에 맞도록 모델링됩니다. 예를 들어 확률변수 y(반응 변수, response variable)를 다른 확률변수 x(예측 변수, predictor variable)의 선형 함수로 표현하면 다음과 같은 방정식이 됩니다.
y = wx + b
이때 y의 분산은 일정하다고 가정합니다.
회귀를 활용한 분류 방법
회귀 문제는 입력값을 바탕으로 출력값을 계산하는 작업을 다룹니다. 분류(classification)에 사용될 경우, 입력값은 데이터베이스의 실제 값들이 되고 출력값은 해당 데이터가 속하는 클래스를 나타냅니다. 즉, 회귀는 분류 문제 해결에도 활용될 수 있지만, 예측(forecasting)을 비롯한 다양한 응용 분야에서 폭넓게 사용됩니다.
회귀의 가장 기본적인 구조는 단 하나의 예측 변수와 하나의 예측값만을 포함하는 단순 선형 회귀(simple linear regression)입니다.
회귀를 사용해 분류를 수행하는 방법은 크게 두 가지로 나눌 수 있습니다.
- 구획화(Division) — 데이터를 클래스에 따라 여러 영역으로 나누는 방식입니다.
- 예측(Prediction) — 출력 클래스의 값을 계산해 낼 수 있는 수식을 생성하는 방식입니다.
이 두 방법 모두 하나 이상의 예측(독립) 변수로부터 반응(종속) 변수의 값을 예측하는 데 활용됩니다.
다양한 회귀 기법
회귀는 형태에 따라 여러 종류로 나뉩니다. 대표적인 것으로는 선형 회귀, 다중 회귀, 가중 회귀, 다항 회귀, 비모수 회귀, 그리고 강건(robust) 회귀가 있습니다.
그중 강건 회귀(robust regression) 기법은 오차가 정규성 조건을 충족하지 못하거나, 데이터에 큰 이상치(outlier)가 포함되어 있을 때 특히 유용합니다.
회귀는 독립 변수로 표현된 종속 데이터 집합을 예측할 수 있으며, 일정 기간에 대한 추세(trend)도 파악할 수 있습니다. 다만 회귀가 변수 예측에 효과적인 방법인 것은 사실이지만, 변수들 간의 독립성이나 변수의 정규분포 가정처럼 반드시 지켜져야 할 제약 조건과 전제가 존재한다는 점을 유의해야 합니다.
회귀 트리와 모델 트리
회귀 트리(regression tree)의 각 리프(leaf) 노드에는 연속형 예측값이 저장되며, 이 값은 해당 리프에 속한 훈련 데이터 집합에 대한 예측 속성의 평균값입니다.
반면 모델 트리(model tree)에서는 각 리프가 하나의 회귀 모델과 예측 속성에 대한 다변량 연속 방정식을 담고 있다는 점이 차이입니다.
데이터가 단순한 선형 모델로 잘 표현되지 않는 경우에는 회귀 트리나 모델 트리가 선형 회귀보다 더 효과적인 성능을 보이는 경향이 있습니다.