본문 바로가기
Machine&Statistical Learning/GAM

다항 회귀와 계단 함수

by be-favorite 2020. 6. 8.

 

❗️블로그 옮김:  https://www.taemobang.com

 

방태모

안녕하세요, 제 블로그에 오신 것을 환영합니다. 통계학을 전공으로 학부, 석사를 졸업했습니다. 현재는 가천대 길병원 G-ABC에서 Data Science를 하고있습니다. 통계학, 시계열, 통계적학습과 기계

www.taemobang.com

다항회귀(Polynomial regressions)

$X$(predictors)와 $y$(response) 사이에 비선형 관계가 있을 때, 이에 대해 선형회귀를 확장하는 일반적인 방법은 다음과 같은 일반적인 선형 회귀모형(The standard linear regression model)에 다항 함수(polynomial function)를 씌워주는 것이다.

 

$y_i = \beta_0 + \beta_1x_i + \epsilon_i,$  where $\epsilon_i$  is error term.

 

즉, 이 모형에 다항 함수를 씌워주면:

 

$y_i = \beta_0 + \beta_1x_i + \beta_2x_i^2 + \cdots + \beta_dx_i^d + \epsilon_i$

 

이러한 접근 방식을 다항 회귀(Polynomial regression)라고 한다. 다항 회귀모형의 차수 $d$가 커질수록 더 non-linear한 곡선(curve)이 만들어진다. 다항 회귀의 계수 추정도 일반적인 선형 회귀모형과 같이 LSE(Least squares estimation)를 통해 쉽게 이루어진다. 그 이유는, 다항 회귀모형의 꼴은 결국 예측 변수로 $x_i, x_i^2, \cdots, x_i^d$를 갖는 일반적인 선형 회귀모형과 동일하기 때문이다. 이때, 차수 $d$가 너무 크면 다항 곡선이 지나치게 flexible하여 다소 이상한 형태를 띨 수 있으므로, 일반적으로 3 또는 4 이상의 차수는 고려하지 않는다.

 

Figure 1. 4차 다항 함수 출처 - ISLR(2013)

 

Figure 1 - 왼쪽 그림의 파란색 실선은 급여($Y$, 단위 : 1000달러)를 나이($X$)의 4차 다항 함수로 고려한 결과이며, 점선은 95% 신뢰구간을 추정한 것이다. 즉, 추정된 곡선의 $\pm 2SE$ 에 해당한다(오차항을 정규분포로 가정했기 때문). Figure 1 - 오른쪽 그림의 경우 급여가 250 이상인 경우 $y$를 1로 코딩하는 방식으로 $y$를 이진 변수로 고려하여 로지스틱 회귀모형을 적합한 결과이다. 즉, 나이($X$)가 주어졌을 때, 급여가 250(단위 : 1000달러)보다 클 사후 확률을 모델링 하는 것이며, 파란색 실선이 바로 그 사후 확률을 나타낸다. 고려한 로지스틱 회귀모형을 식으로 써보면 다음과 같다.

 

$Pr(y_i > 250 | x_i) = \frac{exp(\beta_0 + \beta_1x_i + \beta_2x_i^2 + \beta_3x_i^3 + \beta_4x_i^4)}{1 + exp(\beta_0 + \beta_1x_i + \beta_2x_i^2 + \beta_3x_i^3 + \beta_4x_i^4)}$

 

실선도 마찬가지로 추정된 95% 신뢰구간을 나타낸다. 이때 로지스틱 회귀모형이 추정한 사후확률의 신뢰구간이 넓게 추정된 이유는, 해당 데이터의 표본 수는 $n = 3,000$인데 급여가 250이 넘는 사람들의 수는 $n = 79$에 불과하여 추정된 회귀계수의 분산이 크게 추정되기 때문이다(표준오차의 식을 떠올려보면 됨).

 

계단 함수(Step functions)

다항 회귀에서는 features들의 다항 함수(polynomial functions)를 선형 모형(A linear model)의 예측 변수로 사용함으로써 $X$의 비선형 함수를 전역적 구조(A global structure)로 강요한다. 이를 피하기위해서 계단 함수(Step functions)를 사용하여 $X$의 범위를 bins으로 나누고, 각 bin마다 다른 상수를 적합시킬 수 있다. 즉, 연속형 변수를 순서화된 범주형 변수로 바꾸는 것과 같다.

 

예를 들어, $X$의 범위를 k개의 cutpoints $c_1, \cdots, c_k$로 나누면 $K+1$개의 새로운 변수들이 만들어진다.

 

$C_0(X) = I(X<c_1),\\ C_1(X) = I(c_1 \leq X < c_2), \\ C_2(X) = I(c_2 \leq X c_3), \\ \vdots \\ C_{K-1}(X) = I(c_{K-1} \leq X < c_K), \\ C_K(X) = I(c_k \leq X)$

 

$I(\cdot)$는 지시함수로 조건이 참이면 1, 아니면 0을 반환한다. 위 식처럼 나타낸 지시함수를 더미변수(dummy variables)라고 부르기도 한다. 이때 알아둘 점은 $X$는 $K+1$개의 구간 중 하나에만 정확하게 속해야하기 때문에, 모든 $X$ 값에 대해 항상 $C_0(X) + C_1(X) + \cdots + C_K(X) = 1$이 성립한다. 위와 같이 $X$의 범위를 나누었다면, 우리는 LSE(Least squares estimation : 최소제곱추정)를 사용하여 다음과 같이 $C_1(X), C_2(X), \cdots, C_K(X)$를 예측변수(predictors)로 사용하는 선형 모형을 적합한다.

 

$y_i = \beta_0 + \beta_1C_1(x_i) + \beta_2C_2(x_i) + \cdots + \beta_KC_K(x_i) + \epsilon_i$  $\cdots$  (식 1)

 

이때 $C_0(X)$를 예측변수에서 제외하는 이유는 모형에 절편(intercept)이 포함되어 $C_0(X)$는 불필요하기 때문이다. 이는 모형에 절편이 포함되면 세 개의 수준을 가지는 범주형 변수를 코딩할 때 두 개의 더미변수만 필요로 되는 것과 동일한 개념이다. 물론, 모형에 절편을 제외하고 $C_0(X), C_1(X), \cdots, C_K(X)$를 포함시킬 수도 있다. (식1)에서 만약 $X<c_1$이면 모형의 모든 예측변수들은 0이되고 결국 $\beta_0$만 남게된다. 그래서 $\beta_0$는 $X < c_1$일 때 $Y$의 평균으로 해석이 가능해진다. 이와 비교하여, $c_j \leq X < c_{j+1}$이면 $\beta_0 + \beta_j$가 되며, 즉 $\beta_j$는 $X < c_1$ 대비 $c_j \leq X < c_{j+1}$일 경우 $Y$의 평균 변화량이 된다.

 

Figure 2. Piecewise-constant regression 출처 - ISLR(2013)

다항 회귀에서 이용한 데이터와 똑같은 것으로, Figure2 - 왼쪽 그림은 초록색 실선은 급여($Y$, 단위 : 1000달러)를 나이($X$)의 계단 함수로 고려한 결과이며, 마찬가지로 점선은 추정된 95% 신뢰구간을 나타낸다. Figure2 - 오른쪽 그림의 경우 급여가 250 이상인 경우 $y$를 1로 코딩하는 방식으로 $y$를 이진 변수로 고려하여 로지스틱 회귀모형을 적합한 결과이다. 즉, 나이($X$)가 주어졌을때, 급여가 250(단위 : 1000달러)보다 클 사후확률을 모델링 하는 것이며, 파란색 실선이 바로 그 사후 확률을 나타낸다. 고려한 로지스틱 회귀모형을 써보면 다음과 같다.

 

$Pr(y_i > 250 | x_i) = \frac{exp(\beta_0 + \beta_1C_1(x_i) + \beta_2C_2(x_i) + \beta_3C_3(x_i))}{1 + exp(\beta_0 + \beta_1C_1(x_i) + \beta_2C_2(x_i) + \beta_3C_3(x_i))}$

 

이런 식으로 $X$의 함수로 계단 함수를 이용하여 회귀 모형을 적합하는 것을 통틀어서 Piecewise-constant regression이라고 한다.

 

Piecewise-constant regression의 단점은 $X$에 breakpoints가 본질적으로 존재하지않는다면 데이터의 패턴을 놓칠 수도 있다는 점이다. 이는 Figure 2 - 왼쪽 그림의 첫 번째 빈에서 잘 드러나는데, 나이가 증가함에 따라 급여가 증가하는 추세가 있음에도 이를 명백하게 놓치고 있다. 그럼에도 불구하고, 계단 함수는 다른 학문들 중에서도 생물통계학(biostatistics)과 전염병학(epidemiology)에서 인기있는 접근법에 해당한다. 예를 들어, 이러한 학문에서는 어떤 $y_i$의 추정에 종종 5살 단위로 그룹을 나누어서 bins을 정의한다.

 

기저 함수(Basis functions)

사실 앞서 살펴본 다항 회귀와 Piecewise-constant regression 모형은 기저 함수 접근(A basis function approach)의 특별한 경우들에 해당한다. 기저 함수 접근의 아이디어는 간단하다. 어떤 함수(functions) 또는 변환(transformations)의 family를 $X$에 적용하는 것이다: $b_1(X), b_2(X), \cdots, b_K(X)$. 즉, $X$에 선형 모형을 적합하는 것이 아닌, 다음과 같은 모형을 적합한다.

 

$y_i = \beta_0 + \beta_1b_1(x_i) + \beta_2b_2(x_i) + \cdots + \beta_Kb_K(x_i) + \epsilon_i$  $\cdots$ 식(2)

 

이때 기저 함수 $b_1(\cdot), b_2(\cdot), \cdots, b_K(\cdot)$은 고정된 알려진 함수다. 즉, 우리는 모형 적합 전 사전에 기저 함수들을 선택한다. 예를 들어, 다항 회귀의 경우 기저 함수는 $b_j(x_i) = x_i^j$와 같이 정의되고, piecewise constant functions의 경우 $b_j(x_i) = I(c_j \leq x_i < c_{j+1})$로 정의될 것이다.

 

식(2)는 $b_1(x_i), b_2(x_i), \cdots, b_K(x_i)$를 예측변수로 가지는 일반적인 선형 회귀모형으로 생각할 수 있다. 이러한 이유에서, 우리는 회귀계수를 추정에 LSE를 사용할 수 있게된다. 즉, 이러한 setting의 회귀모형에서도 일반적인 선형회귀의 추론에서 배웠던 회귀계수 추정량에 대한 표준오차, 모형의 전반적은 유의성에 대한 F-통계량등을 그대로 사용할 수 있다는 말이다. 기저 함수로 사용되는 것은 다항 함수, piecewise constant functions외에도 많은 것들이 존재한다. 예를 들어, 기저 함수로 wavelets 또는 Fourier series를 사용할 수도 있다. 다음 포스팅에서 소개할 Regression splines도 기저 함수의 아주 일반적인 선택 중 하나에 해당한다.

 

 

참고 문헌
James, Gareth, et al. An Introduction to Statistical Learning. Springer. 2013

'Machine&Statistical Learning > GAM' 카테고리의 다른 글

GAMs: Generalized additive models  (3) 2020.06.22
Local regressions  (0) 2020.06.10
Smoothing splines  (0) 2020.06.09
Regression splines  (0) 2020.06.08
선형모형의 한계  (0) 2020.06.06

댓글