❗️블로그 옮김: https://www.taemobang.com
우리가 알고있는 고전적인 회귀분석을 고차원 데이터에 적용할 경우 발생하는 문제점들에 대해 알아본다. 여기서 고전적인 회귀 분석이란, 흔히들 회귀분석을 처음 접할 때 배우는 오차항에 대한 분포를 정규분포로 가정하는 단순 선형회귀, 다중 선형회귀 등을 말한다. 어떻게 보면 Penalized regression(벌점회귀 i.e. Ridge, Lasso)의 모티베이션에 관한 글이라고도 할 수 있다.
그 첫 번째는 고차원 데이터를 일변량(Univariate)으로 다루는 경우다. 데이터를 저차원 문제로 나눠서 적합하는 경우이며, marginal regression 이라고도 표현한다.
$y_i = \alpha_i + \beta_j + x_{ij} + \epsilon_i\;,\; \epsilon_i \sim N(0, \sigma^2)$
$(i = 1, \cdots, n; \; j = 1, \cdots, p)$
간단하다는 장점이 있다. 하지만 $X$들 간의 correlation을 설명할 수 없으며, 나뉘어진 예측결과를 하나로 적절하게 결합시킬 좋은 방법이 없다. 또한, 다른 변수가 통제되었을 때 하나의 설명변수의 독립적인 효과를 추정할 수도 없다(Type III SS).
이러한 문제점들을 극복하기 위한 방법으로 Joint modeling이 제시된다. 생소한 용어일 수 있으나, 그냥 다중 선형회귀모형을 떠올리면 된다. 즉, $y$와 전체 feature들의 관계를 고려하여 모형을 설정하는 것을 말한다.
$y_i = \alpha_i + \sum_{j=1}^p\beta_jx_{ij} + \epsilon_i\;,\; \epsilon_i \sim N(0, \sigma^2)$
$(i = 1, \cdots, n; \; j = 1, \cdots, p)$
이때 회귀계수 $\beta$들의 추정은 MLE(Maximum likelihood estimation)를 통해 진행된다. MLE를 통한 $\beta$의 추정식은 결국 오차제곱합을 최소화하는 idea로 구해지는 $\beta$의 OLS(Ordinary least squares) 추정량과 같은 형태를 띠고, marginal regression에서 발생하는 문제로 언급했던 모든 것을 해결할 수 있다. ML로 회귀계수를 추정하는 것이 결국 OLS와 같은 목적함수(Objective function)를 최적화시키는 문제인 이유는, ML에서 분산을 상수취급하여 로그가능도함수를 전개하는 과정과 정규분포 $pdf$의 지수부 형태를 떠올려보면 된다($(y_i - \hat{y}_i)^2$). 이 게시판에서 우리는 고차원 데이터를 다루는 상황에 대해 이야기한다. Joint modeling이 marginal regression의 문제점들을 모두 해결해주긴 하지만, $p$가 큰 데이터를 다루는 경우의 ML 추정에는 새로운 문제가 발생한다. $p \geq n$이면, $X^TX$의 역행렬이 존재하지 않아 MLE가 unique 하지 않게 된다(즉, 무수히 많은 해).
그래서 결과적으로 $\beta$의 추정량의 분산이 매우 커진다. 다시 말하면 $p \rightarrow n$이면 ML 추정시 $\textrm{Var}(\hat{\beta})$가 상한(upper bound) 없이 매우 커지고, 극단적으로 $p \geq n$이면 거의 무한대의 분산을 가지게 된다. 정리하면 고차원 데이터에서 회귀계수에 대한 ML 추정 시, Identifiability(unique 문제), Inefficiency(큰 분산)와 같은 심각한 문제를 피할 수 없다.
하지만 사전에 우리가 회귀계수 벡터 $\boldsymbol{\beta}$의 어느 요소의 값이 0인지 알고 있다면, $\beta_j \neq 0$인 변수에만 ML 추정을 함으로써 상술한 문제점을 피할 수 있다. 이러한 모형을 Oracle model이라고 하는데, 사실 이는 현실적인 모형이 아니다. 그 이유는 분석자에게 각 변수와 $y$간의 연관 여부를 알려주는 Oracle은 현실 세계에 존재하지 않기 때문이다(왜 Oracle model이란 이름이 붙었는지는 Oracle의 사전적 의미를 검색하면 알 수 있다). 그래서 현실 세계에서는 주어진 데이터를 이용해, 어느 변수가 $y$와 연관이 있는지 없는지에 대한 경험적인 결정(empirical decisions)을 내려야만 하는데 이러한 과정을 Model selection이라 한다. 회귀분석의 변수선택에서 배우는 Forward selection, Step-wise selection 등을 떠올리면 된다. 그러나 이때도 발생하는 한 가지 문제점이 있다. 불행하게도 Model selection과 모수 추정에 동일한 데이터를 사용하는 방식의 post-selection OLS model(쉽게 말하면 한 데이터에 대해 변수선택법을 수행하고, OLS 모형도 적합시킨 것)의 경우 상당한 bias를 초래하고 MLE가 갖는 좋은 추론적 특성들을 잃게 된다는 것이다. 이를 simulation study를 통해 체크해보자. 먼저 우리가 가정한 True 모형은 Null 모형이다.
$x_{ij} \sim \textrm{Unif}(0, 1)$ for $j$ in $1, 2, \cdots, 100$
$y_i \sim N(0, 1)$ for $i$ in $1, 2, \cdots, 25$
$n=25, \;p=100$ 으로 하나의 데이터 셋이 구성되며, BIC를 기준으로 가장 중요한 변수 5개를 선택하도록 했다. 그 뒤에, OLS로 회귀계수를 추정했다. 이를 100번 반복했다. 즉, 총 500개의 $\hat{\beta}$가 만들어진다. 이를 히스토그램으로 찍어 과연 추정의 결과가 고려했던 True model에 가깝게 나왔는지를 알아보자.
0 근처에 모든 $\hat{\beta}$ 값들이 몰려있어야 하는데, 그 결과는 매우 참혹하다. 이렇게 Model selection과 추정, 추론에 같은 데이터를 이용하는 것은 $\hat{\beta}$의 표본 분포를 매우 왜곡 시킨다. 이 문제점은 많은 사람들이 인지하고 있음과 동시에, 무시되는 사실이기도 하다.
이렇게 고전적인 회귀분석 방법으로 고차원 데이터를 다룰 때에 발생하는 문제점들을 모두 살펴봤고, 이 문제점들을 해결하기 위한 방안으로 Penalized regression이 제시된다. 다음 포스팅에서 Ridge와 Lasso 모형에 대해 차례대로 살펴볼 것이다.
참고 자료
High-Dimensional Data Analysis (Patrick Breheny)
'고차원 자료분석' 카테고리의 다른 글
Bias reduction of Lasso estimator (2) | 2020.05.26 |
---|---|
Lasso regression (0) | 2020.04.28 |
Ridge regression (1) | 2020.04.10 |
FDR (2) | 2020.04.04 |
FWER (0) | 2020.04.04 |
댓글