Polynomial Regression
linaer function : $f(x) = \beta_{0} + \beta_{1}x$
quadratic functon : $f(x) = \beta_{0} + \beta_{1}x + \beta_{2}x^{2}$
cubic function : $f(x) = \beta_{0} + \beta_{1}x + \beta_{2}x^{2} + \beta_{3}x^{3}$
$\vdots$
$f(x) = \beta_{0} + \beta_{1}x + \beta_{2}x^{2} + ... + \beta_{d}x^{d}$
기존 선형 모델
$f(x_{1}, ,,., x_{d}) = \beta_{0} + \beta_{1}x_{1} + \beta_{2}x_{2} + ... + \beta_{d}x_{d}$에서
$x_{1} = x, x_{2} = x^{2}, ..., x_{d} = x^{d}$
계수 $\beta_{0}, \beta_{1}, ..., \beta_{d}$는 최소 제곱법을 사용하여 쉽게 추정할 수 있습니다.
$\hat{\beta_{0}}, \hat{\beta_{1}}, ..., \hat{\beta_{0}}$ 계수를 추정하는 것보다
$\hat{f(x)} = \hat{\beta_{0}} + \hat{\beta_{1}}x + \hat{\beta_{2}}x^{2} + ... + \hat{\beta_{d}}x^{d}$ 예측치에 더 관심이 있습니다.
보통 $d$는 3 또는 4로 하거나 교차 검증을 사용하여 d를 정합니다.
왼쪽 그림에서 실선은 $\hat{f(x)} = \hat{\beta_{0}} + \hat{\beta_{1}}x + \hat{\beta_{2}}x^{2} + \hat{\beta_{3}}x^{3} + \hat{\beta_{4}}x^{4}$입니다.
점선은 추정된 95% 신뢰 구간 $\hat{f(x)} \pm 2 \cdot se{\hat{f(x)}}$을 의미합니다.
오른쪽 그림에서 실선은 $\hat{\pi(y > 250 | x)} = exp\left \{{\hat{f(x)}} \right \}/[1 + exp\left \{ \hat{f(x)} \right \}] = sigm\left \{ \hat{f(x)} \right \}$입니다.
점선은 추정된 95% 신뢰 구간 $sigm[\hat{f(x)} \pm 2 \cdot se{\hat{f(x)}}]$을 나타냅니다.
Piecewise Polynomials
A Step function은 고차항의 다항적합을 피하기 위해 사용됩니다.
x의 범위 안의 Cutpoints 또는 knot $c_{1}, c_{2}, ..., c_{K}$가 선택되고 K + 1개의 더미 변수를 만들기 위해 사용됩니다.
$C_{0}(x) = I(x < c_{1}) $
$C_{1}(x) = I(c_{1} \leq x < c_{2}) $
$\vdots $
$C_{K-1}(x) = I(c_{K-1} \leq x < c_{K}) $
$C_{K}(x) = I(x \geq c_{K})$
$f(x) = \beta_{0} + \beta_{1}C_{1}(x) + \beta_{2}C_{2}(x) + ... + \beta_{K}C_{K}(x)$ 적합을 위해 최소 자승법을 사용합니다.
$c_{1} = 35, c_{2} = 50, c_{3} = 65$
계단 함수 (step functions)는 쉽게 작동합니다.
Interactions를 쉽게 만들 수 있고 해석도 쉽습니다.
Knots의 선택이 문제가 될 수 있습니다.
선이 연결되지 않은 함수가 될 수 있습니다.
A piecewise polynomial의 자유도는
$\beta_{00} + \beta_{10}x + \beta_{20}x^{2} + ... + \beta_{d0}x^{d}$ if $x < c_{1}$
$\beta_{01} + \beta_{11}x + \beta_{21}x^{2} + ... + \beta_{d1}x^{d}$ if $c_{1} \leq x < c_{2}$
$\vdots$
$\beta_{0K} + \beta_{1K}x + \beta_{2K}x^{2} + ... + \beta_{dK}x^{d$} if $x \geq c_{K}$
Regression Splines
A degree-d spline은 각 knot에 자유도 d-1까지 미분가능한 연속성을 갖는 a piecewise degree-d polynomial입니다.
A piecewise polynomial보다 복잡성을 훨씬 줄여줍니다.
자유도 d인 piecewise polynomial의 파라미터의 개수는
$(K+1)(d+1) = Kd + K + d + 1$ (# intervals x # coefficients)
제약의 개수는 Kd (# knots x # constraints per knot) 입니다.
자유도 d spine의 파라미터 개수는 K + d + 1입니다.
결과적으로, degree-d spline에 더 작은 $var{\hat{f(x)}}$이 나타납니다.
A degree-d spline은 선형 모델로 나타낼 수 있습니다.
$f(x) = \beta_{0} + \beta_{1}b_{1}(x) + ... + \beta_{d}b_{d}(x) + \beta_{d+1}b_{d+1}(x) + ... + \beta_{d+K}b_{d+K}(x) $
$b_{1}(x) = x$
$b_{2}(x) = x^{2} $
$\vdots $
$b_{d}(x) = x^{d}$
$b_{d+k}(x)$ = $(x-c_{k})^{d}$ if $ x > c_{k} $ 다른 경우엔 0 입니다. (for k = 1, ..., K)
A linear spline
$f(x) = \beta_{0} + \beta_{1}b_{1}(x) + \beta_{2}b_{2}(x) + ... + \beta_{1+K}b_{1+K}(x)$
$b_{1}(x) = x $
$b_{1+k}(x) = x - c_{k} $ if $x > c_{k}$ 다른 경우엔 0 입니다. (for k = 1, ..., K)
A quadratic spline
$f(x) = \beta_{0} + \beta_{1}b_{1}(x) + \beta_{2}b_{2}(x) + ... + \beta_{2+K}b_{2+K}(x) $
$b_{1}(x) = x$
$b_{2}(x) = x^{2}$
$b_{2+k}(x) = (x-c_{k})^{2}$ if $ x > c_{k}$ 다른 경우엔 0입니다. (for k = 1, ..., K)
A cubic spline
$f(x) = \beta_{0} + \beta_{1}b_{1}(x) + \beta_{2}b_{2}(x) + ... + \beta_{3+K}b_{3+K}(x) $
$b_{1}(x) = x $
$b_{2}(x) = x^{2} $
$b_{3}(x) = x^{3} $
$b_{2+k}(x) = (x-c_{k})^{3}$ if $ x > c_{k} $ 다른 경우엔 0입니다. (for k = 1, ..., K)
안타깝게도, a spline은 x의 범위가 벗어난 곳에서는 높은 분산을 가질 수 있습니다.
A natural spline은 x의 극한 범위에서는 선형성을 강제합니다.
ㄱ
K knots를 어디에 놓아야 할까요?
f(x)가 더 빠르게 변할 것이라 기대되는 지역에 더 많은 knots를 f(x)가 더 안정적이라 기대되는 지역에 더 적은 knots를 놓습니다.
데이터의 균일 quantiles를 고려합니다.
Knots placement at the 25th, 50th, and 75th percentiles of x
어떻게 많은 knots를 사용해야 할까요?
최고로 보이는 커브를 생성하는 숫자를 시도합니다.
숫자가 다른 knots에 대해 교차 검증을 실행합니다.
-> 전체적으로 가장 작은 교차 검증된 RSS를 보이는 K 값을 선택합니다.
Smoothing Splines
$(x_{1}, y_{1}), ..., (x_{n}, y_{n})$은 관측된 샘플 데이터입니다.
A smoothing spline은 $\sum_{i=1}^{n}\left \{ y_{i} - f(x_{i}) \right \}^{2} + \lambda \int f''(x)^{2}dx$을 최소화하는 함수입니다.
$\lambda$는 고정된 nonnegative 튜닝 또는 smoothing 파라미터입니다.
첫 번째로 RSS를 구하기 위해 f(x)를 데이터에 맞게끔 만듭니다.
두 번째는 roughness penalty이며, f(x)의 변동을 제어합니다.
$\lambda$가 작을 수록, f(x)는 더 변동합니다. 결국 $\lambda = 0$일 떄 $y_{i}$는 보간합니다.
$\lambda -> \infty$이면 함수 f(x)는 선형이 됩니다.
Unique values of $x_{1}, ..., x_{n}$에서 knots를 가진 natural cubic spline이 smoothing spline입니다.
Smoothing splines은 $\lambda$를 선택함으로써 knot-selection issue를 피합니다.
$\lambda$ 대신에 the effective degrees of freedom이 구체화 될 수 있습니다.
교차 검증으로 RSS를 가장 작게 만드는 $\lambda$ 또는 $df_{\lambda}$의 값을 선택합니다.
Local Regression
$x_{0}$에서 local regression Algorithm
$x_{0}$과 제일 가까운 x 값의 케이스들 s = k/n을 모읍니다.
각 k 케이스들에 $w_{i}$의 가중치를 할당합니다.
가중된 제곱의 합을 최소화합니다. $\sum_{i=1}^{k}w_{i}\left \{ y_{i} - f(x_{i}) \right \}^{2}$
$x_{0}$에 적합된 값은 $\hat{f(x_{0})}$입니다.
선택해야 사항들
가중치 $w_{1}, ..., w_{k}$
$f(x)$의 형태
The span s
The span s는 smoothing spline의 $\lambda$ 역할을 합니다.
s가 작을 수록 변동이 커집니다.
교차 검증은 s를 고르기 위해 사용됩니다. s를 직접 고를 수도 있습니다.
Generalized Additive Models
$x_{1}, ..., x_{p}$로 부터 y를 예측하는 유연한 방법입니다.
기존의 다중 선형 회귀 모델을 확장시켜 비선형 관계를 위해 만든 방법입니다.
$f(x_{1}, ..., x_{p}) = \beta_{0} + \beta_{1}x_{1} + ... + \beta_{p}x_{p}$
$f(x_{1}, ..., x_{p}) = \beta_{0} + \beta_{1}f_{1}(x_{1}) + ... + \beta_{p}f_{p}(x_{p})$
$f_{1}(x_{1}), ..., f_{p}(x_{p})$는 (smooth) 비선형 함수입니다.
Prediction of y = wage from $x_{1}$ = year, $x_{2}$ = age, and $x_{3}$ = education
$f(x_{1}, x_{2}, x_{3}) = \beta_{0} + f_{1}(x_1) + f_{2}(x_{2}) + f_{3}(x_{3})$
$f_{1}(x_{1})$과 $f_{2}(x_{2})$는 natural splines입니다.
$f_{3}(x_{3})$는 piecewise linear function입니다.
Prediction of y = wage from $x_{1}$ = year, $x_{2}$ = age, and $x_{3}$ = education
$f(x_{1}, x_{2}, x_{3}) = \beta_{0} + f_{1}(x_1) + f_{2}(x_{2}) + f_{3}(x_{3})$
$f_{1}(x_{1})$과 $f_{2}(x_{2})$는 smoothing splines 입니다.
$f_{3}(x_{3})는 piecewise linear function입니다.
결론
비선형성을 위한 많은 접근들이 있습니다.
교차검증은 다른 선택지들을 만드는데 도움을 줄 수 있습니다.
댓글