❗️블로그 옮김: https://www.taemobang.com
※ prerequisite
$l_1$ norm을 penalty로 사용하는 Lasso regression은 회귀계수의 크기 축소뿐만이 아닌 변수 선택까지 수행할 수 있다. Ridge는 변수 선택(Selection)의 역할까지는 수행할 수 없다. 이는 고차원 데이터($n \rightarrow p$ 또는 $n<p$)를 다룰 때에 계산 비용을 크게 하며, 회귀분석에서 가장 중요한 모형의 해석력을 떨어뜨린다. Ridge regression을 이해하고 있는 사람이라면, Lasso에 대한 이해는 크게 어렵지 않을 것이다. 본론에 들어가기 전에 Ridge와 Lasso를 간략하게 비교해 보았다.
1. Lasso의 목적함수
Lasso의 목적함수는 다음과 같다.
$Q(\boldsymbol{\beta} | \boldsymbol{X}, \boldsymbol{y}) = \frac{1}{2}\left \| \boldsymbol{y} - \boldsymbol{X\beta}\right \|_2^2 + \lambda\left \| \boldsymbol{\beta}\right \|_1 $
이때 $\left \| \boldsymbol{\beta}\right \|_1$는 회귀계수 벡터의 $l_1$ norm을 의미한다. $l_1$ penalty를 통해 Lasso regression은 회귀계수의 크기를 축소해줄 뿐만 아니라, 일부 회귀계수 추정량은 정확히 0으로 추정함으로써 변수 선택까지 자동으로 해준다는 말이다. 그래서 Lasso는 sparse solution을 제공해준다고 표현한다. 이는 상당한 계산량이 요구되는 고차원 데이터에서, 계산 비용을 크게 절감하며 모형의 해석까지도 쉽게 해 준다.
2. Lasso의 목적함수 최적화
설명에 들어가기 전에 먼저 convex 함수에 대해 알아 둘 필요가 있다. convex 함수란, 2차 미분계수를 모아놓은 행렬 Hessian matrix가 positive semidefinite인 함수를 말한다. 이 함수는 모든 local minima(지역적 최솟값)들이 곧 global minimum(전역적 최솟값) 임을 보장받게 된다. 그래서 convex 함수는 다차원 함수의 최소화에서 매우 유용하다.
이제 Lasso의 목적함수 최적화는 어떻게 이루어지는지 알아보자. 먼저 Lasso의 목적함수에서는 penalty 항이 절댓값으로 주어져 일반적인 미분에 어려움을 겪는다. 자세히 말하면, Lasso의 목적함수는 미분 가능한(differentiable) 함수가 아닌, semi-differentiable 함수에 해당한다. 그래서 Subdifferential(Sub-미분)이 필요로 된다. Subdifferential이 가능한 함수를 semi-differentiable 함수라고 하며, 좌 미분계수 $d_{-}f(x)$와 우 미분계수 $d_{+}f(x)$가 실수로 존재하는 함수를 말한다. 미분 가능한 함수에서 미분계수(derivative)가 따라 나오듯, semi-differentiable 함수에서는 Subderivative(sub-미분계수)가 따라 나온다. $d \in [d_{-}f(x), d_{+}f(x)]$이면 점 $x$에서 함수 $f$의 Subderivative는 $d$가 된다. $[d_{-}f(x), d_{+}f(x)]$를 점 $x$에서 Subdifferential(sub-미분)이라고 하며, 기호로 $\partial f(x)$와 같이 표시한다. Subdifferential은 $y$가 $x$의 2개 이상에 대응할 수 있는 set-valued 함수로, 어떤 구간을 반환 값으로 가질 수 있다.
Subderivatives는 Lasso의 목적함수와 같이 절댓값이 포함되어 있는 함수의 최소화 문제에 매우 유용하다. 예를 들면 $|x|$에 대한 Subdifferential은 다음과 같이 주어 진다.
$\partial \left|x\right| = \left\{\begin{matrix}
-1 & \textrm{if}\;\; x<0\\
[-1, 1] & \textrm{if}\;\; x=0\\
1 & \textrm{if}\;\; x>0
\end{matrix}\right.$
semi-differentiable 함수에 관한 다음의 정리(Theorem)를 보면 Lasso 추정량을 구하기 위해 풀어야 하는 방정식을 구할 수 있는데, 이는 $f$가 semi-differentiable이고 $x_0$가 $f$의 지역적 최솟값이면, $0 \in \partial f(x_0)$가 된다는 사실이다. 이때 Lasso 목적함수는 convex 함수에 해당하고, local minima는 곧 global minima임을 보장받게 된다. 즉, 결론적으로 우리가 Lasso 추정량을 구하기 위해 풀어야 하는 방정식은 다음과 같다.
$0 \in \partial Q(\boldsymbol{\beta} | \boldsymbol{X}, \boldsymbol{y})$
위 식을 penalized likelihood equations 또는 penalized score equations라고 부른다.
3. OLS 추정량과 Lasso 추정량의 기하학적 비교
때로는 기하학적 접근이 직관적인 이해를 돕는다. 회귀계수 추정량의 변화에 따른 RSS(Residuals sum of squares) 값을 빨간색 등고선(contour)으로 나타냈으며, OLS 추정량이 그 최솟값에 해당한다(등고선 맨 안쪽의 점 $\hat{\beta}$). 이 점이 가장 작은 bias를 가지며, Training set에 과적합된 경우라고 할 수 있다. Lasso 추정 시 제약을 기하학적으로 나타내면 그림처럼 마름모의 형태를 띤다. 이는 $l_1$-norm을 penalty로 쓰기 때문이다.
$ \left \| \beta_1 \right \|+ \left \| \beta_2 \right \| \leq c $
Lasso 추정량은 제약($c$ 값)의 크기에 따라 마름모의 크기가 결정되며, 이 원과 맞닿는 등고선의 가장 바깥쪽의 선이 Lasso 추정량이 된다. $c$ 값을 크게 키우면 어느 순간 OLS 추정량을 포함하게 되는데, 이는 $\lambda = 0$으로 설정한 결과와 동일할 것이다. 또한 Lasso의 제약은 Ridge와 달리 원의 형태가 아닌, 축에 꼭짓점이 존재하는 형태를 띤다. 그래서 등고선과의 교차점은 종종 이 축 상에 존재하게 될 것이다. 이 얘기는 Lasso는 회귀계수를 축소시키며, 정확하게 0으로 수렴시킬 수도 있음을 뜻한다.
4. KKT conditions과 해의 유일성
Lasso 목적함수의 최적화는 KKT conditions로 설명할 수 있다. KKT conditions는 제약이 있는 상황에서 함수를 최적화하는 문제를 풀어내는(constrained optimazation problem) 라그랑주 승수법(lagrange multiplier method)에서 나오는 내용이다. 제약이 연립방정식 또는 연립 부등식으로 존재할 수 있는데, KKT conditions은 연립 부등식 형태로 제약이 존재할 때 만족해야 하는 조건을 말한다. Lasso의 penalty 항에서 $\lambda$를 조절하는 것을 제약으로 보면 된다. 다음의 KKT 조건을 만족하는 것이 lasso 목적함수를 최소화하는 $\hat{\boldsymbol{\beta}}$의 필요충분조건이다.
$\left\{\begin{matrix}
x_j^T(\boldsymbol{y} - X\boldsymbol{ \hat{\beta}}) = \lambda \textrm{sign}(\hat{\beta}_j)& \hat{\beta} \neq 0\\
\left | x_j^T(\boldsymbol{y} - X\boldsymbol{ \hat{\beta}} \right |) \leq \lambda & \hat{\beta} = 0
\end{matrix}\right.$
즉, 예측 변수가 포함되려면 해당 예측 변수와 잔차 간의 상관(correlation)이 특정한 최솟값(minimum) $\lambda$를 넘어서야 한다. 상관이 $\lambda$보다 작으면 해당 예측 변수의 Lasso 추정량은 0이 된다. 이때 우리가 $\lambda$를 다음과 같이 설정했다고 해보자.
$\lambda = \lambda_{max} \equiv \underset{1 \leq j \leq p}{max} \left| x_j^T\boldsymbol{y} \right| $
그럼 $\lambda$는 데이터가 가질 수 있는 $\lambda$의 최댓값이 된다($\lambda = \lambda_{max}$). 즉, 만약 $\lambda_{max}$보다 큰 값을 minimum으로 설정하게 되면, 항상 $\hat{\boldsymbol{\beta}}(\lambda) = 0$이 된다:
for any $\lambda \geq \lambda_{max}$, we have $\hat{\boldsymbol{\beta}}(\lambda) = 0$
반대로 우리가 $\lambda$를 0으로 설정하면, KKT conditions는 OLS의 정규 방정식(normal equations)이 된다:
$X^T(\boldsymbol{y} - X\hat{\boldsymbol{\beta}}) = 0$
이를 $\beta$의 추정량에 대해 정리하면 우리가 흔히 아는 OLS 추정의 식이 된다. 이를 바탕으로 Lasso 추정량의 path를 생각해보면, $\lambda_{max}$에서 출발해 $X$가 Full-rank라는 가정하에 $\lambda = 0$까지 이어질 것이다. 만약 Full-rank가 아니라면, $\lambda$를 데이터가 가지는 $\lambda_{min}$보다 작게 설정할 경우 유일한 해를 찾지 못하게 된다. 즉, $X$가 Full-rank가 아니면 엄밀하게(strictly) convex라고 할 수 없다. 그래서 이러한 경우 $\lambda$의 값에 따라 Lasso는 유일한 해를 가지지 못할 수도 있다.
5. Lasso penalty의 직접적인 효과
Ridge에서 처럼 $X^TX$를 직교 행렬로 가정하여, Lasso penalty의 효과를 알아볼 수 있다.
$\hat{\beta}_j(\lambda) = \left\{\begin{matrix}
z_j - \lambda, & \textrm{if}\;\;z_j > \lambda\\
0, & \textrm{if}\;\;|z_j| \leq \lambda\\
z_j + \lambda, & \textrm{if}\;\;z_j < -\lambda
\end{matrix}\right.$
(이때, $z_j$는 $\beta_j$의 OLS 추정량)
이 결과는 간단하게 $\hat{\beta}_j(\lambda) = S(z_j | \lambda)$로 쓸 수 있으며, $S(.|\lambda)$를 "soft thresholding 연산자"라고 한다. 반대로 hard thresholding 연산자 $H(z, \lambda) = zI\left \{|z| > \lambda\right \}$도 존재하는데, 이것은 $\boldsymbol{\beta}$에서 0아닌 요소의 개수를 세는 $l_0$ norm을 penalty로 쓴 경우와 같다. 잠깐 외람된 말로, 이 글을 쓸 때 참고한 강의 자료에서 $l_0$ norm이라는 표현을 쓰는데 이는 사실 잘못된 용어다. 그 이유는 Norm 글의 (2) $l_1$ norm에 대한 설명을 참고하면 된다. 다시 본론으로 들어와서, $l_0$ norm을 penalty로 하는 회귀분석은 subset selection(i.e. best subset selection, stepwise selection)으로 구해진 회귀계수 추정량과 같으며, $\lambda$값을 조절하는 것은 모형 선택 기준을 달리 한 경우를 의미한다. 이러한 회귀 분석을 $l_0$ penalization regression이라고도 표현한다. 이 회귀 분석의 목적함수는 $l_0$ norm을 penalty로 사용한다는 점만 다르므로 쉽게 쓸 수 있다:
$\frac{1}{2}\left \| \boldsymbol{y} - X\boldsymbol{\beta} \right \|_2^2 + \lambda\left \| \boldsymbol{\beta} \right \|_0, \; \textrm{where}\; \left \| \boldsymbol{\beta} \right \|_0 = \sum_j I(\beta_j \neq 0)$
그래서 궁극적으로 하고 싶은 말은, Lasso는 L0-pealization regression을 완화시킨 것(soft relaxation)으로 생각될 수 있다는 것이다. 이 완화는 회귀계수 추정량을 $\lambda$와 데이터에 대해 연속적이게 해 주며, 목적함수를 convex로 만들어준다. 또한, $p$가 큰 고차원 데이터를 다룰 경우 $l_0$-penalized regression은 계산적으로 실현이 불가능(infeasible) 할 수도 있으며, $l_1$-norm을 penalty로 하는 Lasso가 훨씬 더 효과적으로 작동한다.
6. Forward selection과의 비교
변수들의 모든 가능한 조합을 고려하는 best subset selection은 고차원 데이터에서는 어려울 수 있다. 이를 해결하기 위한 접근 중 하나를 forward selection이라고 할 수 있으며, 이는 변수를 하나씩 추가해가며 그 순간에 최적이라고 생각되는 모형을 선택해 나가는 탐욕적(greedy) 알고리즘이다. Lasso에서는 $\lambda_{max}$에서 시작하여 서서히 $\lambda$를 낮춰 감에 따라 더 많은 변수로 구성되는 모형을 설정할 수 있는데, 이는 forward selection의 과정과 유사하다. 그러나 Lasso가 가지는 특별한 장점은 $\lambda$의 조절로 변수 선택을 연속적인 형태로 할 수 있다는 것이다. 그래서 Lasso에서의 변수 선택은 Forward selection보다 덜 탐욕적(less greedy)으로 진행된다.
Lasso와 Forward selection을 기하학적으로 비교해보자. 이는 LARS(least angle regression) 알고리즘 개발에 큰 영감을 주었다.
Lasso의 path는 그림의 파란색 선과 같이 나아가는데, 잔차 $\boldsymbol{r}(\lambda) = \boldsymbol{y} - X\hat{\boldsymbol{\beta}}(\lambda)$와 동일하게 상관이 되어있는(equally correlated) 점(point, 이를 새로운 예측 변수 $x_k$라고 함)까지 계속된다. 즉, Lasso는 두 예측 변수 $x_1$, $x_2$ 모두를 해로 가질 것이고, 두 예측 변수와 동일한 각을 가지는 방향으로 나아갈 것이다. 사실 Lasso는 항상 모든 active 예측 변수가(active predictor : 실제 모형 설정에 사용된 예측 변수) 잔차와 동등하게 상관되는 방향으로 진행되는데, 이는 $\hat{\beta} \neq 0$인 경우의 KKT conditions에서도 보여지는 것이다(어떤 active 예측 변수인지에 상관없이 상관은 일정하다는 것). 그에 반면 forward selection은 $y$에서 $\bar{y}_1$으로 나아가는데, $x_2$가 $x_1$보다 잔차와 더 밀접하게 상관이 있을 때도 계속해서 $x_2$를 모형 설정에서 제외한다. 이는 forward selection의 탐욕성(greediness)을 명확하게 보여준다.
Lasso의 기하학적 접근에서 얻을 수 있는 insight는 LARS(least angle regression)의 아이디어가 되었고, LARS 알고리즘을 통해 Lasso 추정의 계산 비용을 크게 감소시킬 수 있었다. 그러나, 현재는 좌표 하강법(coordinate descent algorithms)이 Lasso의 추정에서 가장 인기 있는 접근 방법으로 이는 LARS보다 더 간단하고 유연다. 좌표 하강법은 다른 벌점 회귀에서도 쓰이는 알고리즘이며, Lasso regerssion처럼 다차원에서 닫힌 형태(closed form)의 해를 갖지 않는 경우에 특히 적절하다. 또한, 고차원 데이터에서 LARS보다 훨씬 더 빠르게 작동한다. Lasso의 해가 가지는 유일성에 대해 논했듯이, Lasso의 목적함수는 strictly convex가 아닐 수 있다(즉 많은 해가 존재할 수 있다). 이때 좌표 하강법은 이러한 많은 해 들 중 하나로 수렴되고, 본질적으로는 임의로 수렴된다(features들의 순서에 영향을 받음).
7. 실제 데이터에 대한 Lasso의 적용
Ridge에서 썼던 데이터를 다시 사용한다. 데이터에 대한 설명과 목적은 Ridge regression의 마지막 부분 "7. 실제 데이터에 대한 Ridge의 적용"을 참고하면 된다.
그래프의 왼쪽 끝은 큰 $\lambda$ 값으로 $\hat{\boldsymbol{\beta}} = 0$로 추정되었고, 오른쪽 끝은 $\lambda = 0$으로 $\hat{\boldsymbol{\beta}} = \hat{\boldsymbol{\beta}}_{OLS}$의 결과이다. Ridge에서 그랬던 것처럼, $\lambda$를 작게 주어 OLS의 추정과 밀접해지는 경우 NOX와 HC가 가지는 인구 10만 명당 사망률에 대한 추정된 효과는 신뢰할 수 없는 결과이다. Lasso의 해는 sparse 하게 주어지는데, $\lambda$를 감소시킬수록 모형 설정에 사용되는 변수들이 늘어남을 확인할 수 있다. 그래프의 회색 실선은 $\lambda = 1.84$일 때를 표시한 것이고, 이때 CV error가 최솟값을 가졌다. 이때 9개의 변수가 모형설정에 사용되었고 OLS 추정에서 $y$에 가장 큰 효과를 미쳤었던 HC와 NOX는 여기에 포함되지 않았다.
7. $\lambda$의 선택
Lasso 회귀에서 $\lambda$값을 선택하는 두 가지 방법을 소개한다. 첫 번째는 정보 기준(AIC, BIC)의 추정을 이용하는 방법, 두 번째는 교차검증(Cross validation)을 이용하는 방법이다.
(1) 정보 기준(Information Criterion)의 추정을 통한 값의 선택
정보 기준(AIC, BIC)은 모형 복잡도를 penalty로 사용하며, 이때 모형 복잡도 측도는 자유도로 계산할 수 있다(Ridge 회귀 참고). 그래서, 정보 기준의 추정에는 자유도의 추정이 필요로 된다.
$AIC = 2L(\hat{\theta}(\lambda) | X, \boldsymbol{y}) + 2df(\lambda) \\ BIC = 2L(\hat{\theta}(\lambda) | X, \boldsymbol{y}) + log(n)df(\lambda)$
위 식에서 두 번째 항이 모형 복잡도를 나타내는 항이다. 이때 데이터의 $n \geq 8$이면 $log(8) > 2$이므로, BIC 기준이 더 큰 penalty를 줌으로써 좀 더 단순한 모형을 선호하게 된다. 앞서 활용했던 대기 오염 데이터의 정보 기준들의 path를 보면 잘 드러난다:
① 자유도의 추정
$\rm{df} = \sum \frac{Cov(\hat{f}_i, y_i)}{\sigma^2} = \frac{tr\left \{Cov(\hat{\boldsymbol{f}}, \boldsymbol{y})\right \}}{\sigma^2}$
Lasso에는 $\hat{\boldsymbol{f}}$와 $\boldsymbol{y}$간의 공분산에 대해 정확하게 닫힌 형태(closed form)의 해가 존재하지 않기 때문에 Lasso의 자유도 계산은 추정된 회귀계수 벡터의 L0-norm으로 이루어진다. 자유도의 추정량으로 L0-norm을 사용하는 경우에 대해 크게 두 가지 관점이 존재한다. 첫 번째는 변수들이 미리 명시된 것이 아니기 때문에(not prespecified) 실제 자유도보다 과소추정할 수 있다는 것, 두 번째 시각은 기존의 자유도를 계산하는 식에서 는 자유도를 감소시키는 역할을 하므로, L0-norm을 자유도 추정에 사용하는 것은 과대추정을 일으킬 수 있다는 것이다:
$\rm{df}(\lambda) = tr(\boldsymbol{S}) = \sum_{i=1}^p \frac{d_j}{d_j + \lambda}$, where $\boldsymbol{S}$ : 임의의 선형회귀모형에 대한 Hat 행렬
이 두 관점은 서로 정확하게 상쇄되어(cancel) 회귀계수 벡터의 L0-norm은 lasso 자유도 추정량의 비편향 추정량이 된다. 즉, $\lambda$ 선택을 목적으로 AIC, BIC와 같은 정보 기준을 추정해야 할 때, 회귀계수 벡터의 L0-norm을 자유도의 추정량으로 쓸 수 있다.
② 정보 기준을 이용한 방법의 장단점
정보 기준으로 $\lambda$를 선택하는 방법은 계산비용이 적다는 장점이 있으나, 고차원 데이터에서는 정확성이 떨어질수 있다. 또한, 고차원 데이터($n \rightarrow p$ 또는 $n < p$ )에서 AIC는 과적합 문제를 피하지 못하며, BIC가 좀 더 합리적인 결과를 제공한다. 그러나 BIC도 고차원 데이터에서 $\lambda \rightarrow 0$에 따라 작아지게 되는 문제가 발생할 때가 있다. 이러한 이유로 고차원 데이터를 다룰 경우, 무작정 BIC를 최소화하는 $\lambda$를 선택하기보단 그래프를 그려 적당한 $\lambda$값을 선택하는 것이 매우 중요하다. 유방암 사례 연구(Case study) 데이터의 AIC와 BIC path를 보면 이 문제점이 잘 드러난다:
AIC는 과적합을 피하지 못하는 측도가 됐으며, BIC의 경우에 좀 더 합리적인 결과를 제공한다. 그러나 BIC 또한 $\lambda$가 0 근처로 갈수록 다시 떨어지는 형태를 취하고 있다. 고차원 데이터를 다룰 때는 이렇게 정보 기준의 path를 그려보는 것은 매우 중요하다고 할 수 있다.
(2) 교차검증(Cross validation)을 통한 $\lambda$의 선택
교차검증이란, test set에 대한 예측력 평가를 통해 더 직접적이고 경험적으로 $\lambda$를 선택하는 방법으로 일반적으로 더 신뢰할만한 결과를 제공해준다. 또한, 정보 기준(Information Criterion)을 이용했을 때 고차원 데이터에서 발생하는 추정의 정확성에 대한 문제를 보완할 수 있다. test set을 나누는 남겨두는 것이 필요한 이유는 모형 적합에 이미 쓰인 데이터로 예측력을 평가하게 되면, 과소추정으로 인해 지나치게 낙관적인(optimistic) 결과를 보여주기 때문이다.
그렇다면 교차검증 방법과 같이 데이터를 많은 조각으로 나누지 않고 training set, test set 두 종류로만 나누어 예측력을 평가하면 안 되는 것일까? 가능하다. 이 방법을 “Sample splitting”이라 부르는데, 사실 이 방법은 우리에게 주어진 데이터가 많을 때만 가능하다. 왜냐하면, 데이터가 적은 상황에서 이를 반으로 쪼개면 정작 모형을 훈련시킬 때 사용할 수 있는 데이터가 너무 적어져서 데이터의 패턴을 찾기 힘들어 오히려 과소적합(underfitting)이 발생할 수도 있기 때문이다. 이때 교차검증을 이용하면 계산량은 많아지지만, 이 문제를 해결할 수 있게 된다.
교차검증의 아이디어는 데이터를 K 조각으로 나누는 것이다. K 조각으로 나누는 경우를 K-fold 교차검증이라 한다.
흔히들 K로 5, 10, n(데이터 관측치 수)으로 선택하며, n-fold를 특히 Leave-one-out 교차검증(Loo-cv)이라고 한다. 이는 주어진 데이터의 수가 매우 적을 때 유용하다. 이제 K-fold 교차검증이 수행되는 과정을 간략하게 설명한다. 이때 예측력 평가 측도는 MSPE(Mean Squared Prediction Error)로 가정한다.
(a) 고려할 $\lambda$의 set을 정한다(이를 grid라고도 함).
(b) 데이터를 K 조각내어 (K-1) 조각으로 모형 적합, 나머지 한 조각에 대해 예측 수행.
(c) $\lambda$마다 K개의 MSPE를 얻을 수 있고, 이에 대해 평균을 취한다(기호로 $CV(\lambda)$라 표기).
(d) 가장 작은 $CV(\lambda)$를 보이는 것을 최적의 로 선택한다.
추정된 $CV(\lambda)$을 이용해 표본-표준편차(the sample standard deviation)를 계산할 수 있다. 또한, 다음과 같이 표준오차를 계산하여 신뢰구간도 추정할 수 있다.
$SE_{CV}(\lambda) = \frac{SD_{CV}(\lambda)}{\sqrt{n}}$
다음은 10-fold 교차검증의 $CV(\lambda)$ path를 신뢰구간($\pm\,1SE\,$)까지 추정하여 그래프로 나타낸 것이다.
$CV(\lambda)$를 최소화하는 값은 1.84(그래프의 두 번째 점선)로 9개의 변수가 선택되었다. 그러나 그래프의 신뢰구간을 보면 매우 넓게 추정되고 있음을 알 수 있다. 특히, $CV(\lambda)$의 추정으로 얻어지는 $\lambda = 1.84$의 신뢰구간은 $\lambda \in [0.12, 9.83]$으로 매우 넓다. 이는 모형 선택(model selection) 상황에서 흔히 발생하는 결과이다.
이 문제를 해결하는 방법은 두 가지인데, 첫 번째는 Repeated-교차검증을 사용하는 것이다. 말 그대로 교차검증을 반복하여 CV()의 평균을 통해 를 선택하는 것을 말한다. 또 다른 방법은 n-fold 교차검증 수행하는 것이다. 그러나 이 두 방법 모두 의 선택에 해당하는 실제 적인 불확실성(actual uncertainty)을 줄여주진 않는다.
8. $\sigma^2$의 추정
$\hat{\sigma^2}_{OLS} = \frac{RSS}{n-\rm{df}}$ $\hat{\sigma^2}_{p} = \frac{RSS(\lambda)}{n - \rm{df}(\lambda)}$
선형 회귀에서 $\sigma^2$의 추정은 위와 같이 이루어진다. 오른쪽이 Lasso에 대한 것이며. 이를 plug-in 추정량이라고 한다. plug-in 추정량은 $\sigma^2$을 과소추정하는 경향이 있는데, 이에 대안적인 접근으로 RSS를 Out-of-sample(모형 적합에 쓰이지 않은 데이터)을 이용해 계산하는 방법이 있다. 이렇게 계산된 추정량은 $CV(\lambda)$와 정확하게 일치한다:
$\hat{\sigma^2}_{CV} = CV(\lambda)$
우리가 $\sigma^2$의 추정에 관심이 있는 이유 중 하나는, 이 값을 통해 모형으로 설명되는 $y$의 분산의 비율을 알 수 있기 때문이다. 이 값을 결정계수(Coefficient of determination)라고 하며 다음과 같이 계산할 수 있다:
$R^2 = 1 - \frac{Var(Y | X)}{Var(Y)} = 1 - \frac{\sigma^2}{Var(Y)}$
앞서 사용했던 대기 오염 데이터의 $R^2$ path를 그래프로 나타내면 다음과 같다:
위 그래프에서 알 수 있는 흥미로운 점은 대기 오염 변수들로부터 설명되는 변동은 작다는 것이다. 그래프의 점선이 $R^2$기반 최적의 $\lambda$ 값을 나타내며, 대기 오염 변수 3개가 모두 선택된 경우로 $R^2 = 0.58$에 해당한다. 그러나 대기 오염 변수가 선택되지 않은 경우에도 결정계수의 값은 $R^2 = 0.56$에 달한다.
참고 자료 및 사이트
High-Dimensional Data Analysis (Patrick Breheny)
James, Gareth, et al. An Introduction to Statistical Learning. Springer. 2013
'고차원 자료분석' 카테고리의 다른 글
Variance reduction of Lasso estimator (0) | 2020.05.26 |
---|---|
Bias reduction of Lasso estimator (2) | 2020.05.26 |
Ridge regression (1) | 2020.04.10 |
고차원 자료에 대한 고전적인 회귀분석의 문제점 (0) | 2020.04.08 |
FDR (2) | 2020.04.04 |
댓글