2017, 28
(4)
,721–731
페널티 방법을 이용한 주성분분석 연구
ᄇ ᅡ ᆨ철용
1
1계명대학교 통계학전공
ᄌ ᅥ
ᆸᄉ ᅮ 2017ᄂ ᅧ ᆫ 6ᄋ ᅯ ᆯ 5ᄋ ᅵ ᆯ, ᄉ ᅮᄌ ᅥ ᆼ 2017ᄂ ᅧ ᆫ 7ᄋ ᅯ ᆯ 8ᄋ ᅵ ᆯ, ᄀ ᅦᄌ ᅢ ᄒ ᅪ ᆨᄌ ᅥ ᆼ 2017ᄂ ᅧ ᆫ 7ᄋ ᅯ ᆯ 11ᄋ ᅵ ᆯ
요 약
ᄋ
ᅵ ᄋ ᅧ ᆫᄀ ᅮᄋ ᅦᄉ ᅥᄂ ᅳ ᆫ Lasso ᄑ ᅦᄂ ᅥ ᆯᄐ ᅵ ᄇ ᅡ ᆼᄇ ᅥ ᆸᄋ ᅳ ᆯ ᄋ ᅵᄋ ᅭ ᆼ ᄒ ᅡ ᆫ ᄌ ᅮᄉ ᅥ ᆼᄇ ᅮ ᆫᄇ ᅮ ᆫᄉ ᅥ ᆨ ᄇ ᅡ ᆼᄇ ᅥ ᆸᄋ ᅳ ᆯ ᄉ ᅩᄀ ᅢᄒ ᅡ ᆫᄃ ᅡ. ᄌ ᅮᄉ ᅥ ᆼᄇ ᅮ ᆫᄇ ᅮ ᆫᄉ ᅥ ᆨᄋ ᅦ Lasso ᄑ ᅦ ᄂ ᅥ
ᆯᄐ ᅵᄅ ᅳ ᆯ ᄌ ᅥ ᆨᄋ ᅭ ᆼ ᄒ ᅡᄂ ᅳ ᆫ ᄇ ᅡ ᆼᄇ ᅥ ᆸᄋ ᅳᄅ ᅩ ᄒ ᅳ ᆫ ᄒ ᅵ ᄉ ᅡᄋ ᅭ ᆼ ᄃ ᅬᄂ ᅳ ᆫ ᄇ ᅡ ᆼᄇ ᅥ ᆸᄋ ᅳ ᆫ ᄏ ᅳᄀ ᅦ ᄃ ᅮ ᄀ ᅡᄌ ᅵᄀ ᅡ ᄋ ᅵ ᆻᄃ ᅡ. ᄎ ᅥ ᆺ ᄇ ᅥ ᆫᄍ ᅢ ᄇ ᅡ ᆼᄇ ᅥ ᆸᄋ ᅳ ᆫ ᄌ ᅮᄉ ᅥ ᆼᄇ ᅮ ᆫᄋ ᅳ ᆯ ᄇ ᅡ ᆫᄋ ᅳ ᆼ ᄇ
ᅧ ᆫᄉ ᅮᄅ ᅩ ᄂ ᅩ ᇂ ᄀ ᅩ ᄋ ᅯ ᆫ ᄌ ᅡᄅ ᅭᄒ ᅢ ᆼᄅ ᅧ ᆯᄋ ᅳ ᆯ ᄉ ᅥ ᆯᄆ ᅧ ᆼᄇ ᅧ ᆫᄉ ᅮᄅ ᅩ ᄒ ᅡᄂ ᅳ ᆫ ᄒ ᅬᄀ ᅱᄇ ᅮ ᆫᄉ ᅥ ᆨᄋ ᅴ ᄒ ᅬᄀ ᅱᄀ ᅨᄉ ᅮᄅ ᅳ ᆯ ᄋ ᅵᄋ ᅭ ᆼ ᄒ ᅡᄋ ᅧ ᄎ ᅬᄌ ᅥ ᆨᄋ ᅴ ᄉ ᅥ ᆫᄒ ᅧ ᆼᄀ ᅧ ᆯᄒ ᅡ ᆸ ᄇ ᅦ ᆨᄐ ᅥ ᄅ
ᅳ ᆯ ᄀ ᅮᄒ ᅡ ᆯ ᄄ ᅢ Lasso ᄑ ᅦᄂ ᅥ ᆯᄐ ᅵ (ᄋ ᅵ ᆯᄇ ᅡ ᆫᄌ ᅥ ᆨᄋ ᅳᄅ ᅩ elastic net ᄑ ᅦᄂ ᅥ ᆯᄐ ᅵ)ᄅ ᅳ ᆯ ᄇ ᅮᄀ ᅪᄒ ᅡᄂ ᅳ ᆫ ᄇ ᅡ ᆼᄇ ᅥ ᆸᄋ ᅵᄃ ᅡ. ᄃ ᅮ ᄇ ᅥ ᆫᄍ ᅢ ᄇ ᅡ ᆼᄇ ᅥ ᆸᄋ ᅳ ᆫ ᄋ ᅯ ᆫ ᄌ
ᅡᄅ ᅭᄒ ᅢ ᆼᄅ ᅧ ᆯᄋ ᅳ ᆯ ᄇ ᅵᄌ ᅥ ᆼᄎ ᅵ ᆨᄀ ᅡ ᆹ ᄇ ᅮ ᆫ ᄒ ᅢᄅ ᅩ ᄀ ᅳ ᆫ ᄉ ᅡᄒ ᅡᄀ ᅩ ᄂ ᅡ ᆷᄋ ᅳ ᆫ ᄌ ᅡ ᆫᄎ ᅡᄒ ᅢ ᆼᄅ ᅧ ᆯᄋ ᅦ Lasso ᄑ ᅦᄂ ᅥ ᆯᄐ ᅵᄅ ᅳ ᆯ ᄇ ᅮᄀ ᅪᄒ ᅡᄋ ᅧ ᄎ ᅬᄌ ᅥ ᆨᄋ ᅴ ᄉ ᅥ ᆫᄒ ᅧ ᆼᄀ ᅧ ᆯᄒ ᅡ ᆸ ᄇ ᅦ ᆨ ᄐ
ᅥᄅ ᅳ ᆯ ᄀ ᅮᄒ ᅡᄂ ᅳ ᆫ ᄇ ᅡ ᆼᄇ ᅥ ᆸᄋ ᅵᄃ ᅡ. ᄋ ᅵ ᄋ ᅧ ᆫᄀ ᅮᄋ ᅦᄉ ᅥᄂ ᅳ ᆫ ᄌ ᅮᄉ ᅥ ᆼᄇ ᅮ ᆫ ᄇ ᅮ ᆫᄉ ᅥ ᆨᄋ ᅦ Lasso ᄑ ᅦᄂ ᅥ ᆯᄐ ᅵᄅ ᅳ ᆯ ᄇ ᅮᄀ ᅪᄒ ᅡᄂ ᅳ ᆫ ᄋ ᅵ ᄃ ᅮ ᄀ ᅡᄌ ᅵ ᄇ ᅡ ᆼᄇ ᅥ ᆸᄃ ᅳ ᆯᄋ ᅳ ᆯ ᄌ
ᅡᄉ ᅦᄒ ᅡᄀ ᅦ ᄀ ᅢ ᄀ ᅪ ᆫ ᄒ ᅡᄂ ᅳ ᆫ ᄃ ᅦ, ᄋ ᅵ ᄇ ᅡ ᆼᄇ ᅥ ᆸᄃ ᅳ ᆯᄋ ᅳ ᆫ ᄇ ᅧ ᆫᄉ ᅮ ᄉ ᅮ ᆺ ᄌ ᅡᄀ ᅡ ᄑ ᅭᄇ ᅩ ᆫ ᄏ ᅳᄀ ᅵᄇ ᅩᄃ ᅡ ᄏ ᅳ ᆫ ᄀ ᅧ ᆼᄋ ᅮᄋ ᅦᄃ ᅩ ᄌ ᅥ ᆨᄋ ᅭ ᆼ ᄀ ᅡᄂ ᅳ ᆼ ᄒ ᅡ ᆫ ᄌ ᅡ ᆼᄌ ᅥ ᆷᄋ ᅵ ᄋ ᅵ ᆻᄃ ᅡ.
ᄄ
ᅩᄒ ᅡ ᆫ ᄉ ᅵ ᆯᄌ ᅦ ᄌ ᅡᄅ ᅭᄇ ᅮ ᆫᄉ ᅥ ᆨᄋ ᅦᄉ ᅥ R ᄑ ᅳᄅ ᅩᄀ ᅳᄅ ᅢ ᆷᄋ ᅳ ᆯ ᄐ ᅩ ᆼ ᄒ ᅢ ᄃ ᅮ ᄇ ᅡ ᆼᄇ ᅥ ᆸᄋ ᅳ ᆯ ᄌ ᅥ ᆨᄋ ᅭ ᆼ ᄒ ᅡᄀ ᅩ ᄀ ᅳ ᄀ ᅧ ᆯᄀ ᅪᄅ ᅳ ᆯ ᄇ ᅵᄀ ᅭᄒ ᅡ ᆫᄃ ᅡ. ᄀ ᅮᄎ ᅦᄌ ᅥ ᆨᄋ ᅳᄅ ᅩ ᄇ ᅧ ᆫ ᄉ
ᅮ ᄉ ᅮ ᆺ ᄌ ᅡᄀ ᅡ ᄑ ᅭᄇ ᅩ ᆫ ᄏ ᅳᄀ ᅵᄇ ᅩᄃ ᅡ ᄏ ᅳ ᆫ Ahamad (1967)ᄋ ᅴ crime ᄌ ᅡᄅ ᅭᄋ ᅦ ᄌ ᅥ ᆨᄋ ᅭ ᆼ ᄒ ᅡ ᆫᄃ ᅡ.
ᄌ
ᅮᄋ ᅭᄋ ᅭ ᆼ ᄋ ᅥ: ᄅ ᅡᄉ ᅩ, ᄇ ᅵᄌ ᅥ ᆼᄎ ᅵ ᆨᄀ ᅡ ᆹ ᄇ ᅮ ᆫ ᄒ ᅢ, ᄌ ᅮᄉ ᅥ ᆼᄇ ᅮ ᆫᄇ ᅮ ᆫᄉ ᅥ ᆨ, ᄑ ᅦᄂ ᅥ ᆯᄐ ᅵ, elastic net.
1. 머리말
Lasso (least absolute shrinkage and selection operator) 기법은 Tibshirani (1996)에 의해 회귀모 혀
ᆼ에서 L1 벌점 (penalty)을부과하여 회귀계수를구하는 방법으로 제안되었다. Tibshirani (1996)에 ᄋ
ᅴ하면 Lasso 회귀 (Lasso regression)는최소제곱회귀 (least squares regression)와는달리 회귀계수 ᄎ
ᅮ정값이 보다 쉽게 0이 되는 희박성 (sparsity)이 생기기 때문에 변수선택 (variable selection)의 효 ᄀ
ᅪ가 있으며, 동시에 능형 회귀 (ridge regression)의 장점인 예측정확도 (prediction accuracy)도 겸 ᄇ
ᅵ하고 있는 것으로 알려져 있다. 회귀모형에 Lasso 방법이 소개된이후 일반화선형모형 (generalized linear model; Friedman 등, 2008; Park과 Kye, 2013)과 선형판별분석 (linear discriminant analysis;
Witten과 Tibshirani, 2011) 등의 다양한 분야에 적용되었다. Lasso 방법에 대한 자세한 개관은 Kwon ᄃ
ᅳᆼ (2013)을참조하기 바란다.
Lasso 방법은주성분분석 (principal component analysis)에도 적용가능하다. 다시 말해 원변수의 ᄉ
ᅥᆫ형결합으로 주성분 (principal component)을 구할 때, 선형결합 계수에 L1 페널티를부과하면 변수 ᄉ
ᅥᆫ택의 해석력과 예측정확도가 동시에 만족되는새로운주성분을구할 수 있다. 이것을 직접 구현한 알 ᄀ
ᅩ리즘이 ScoTLass 방법 (Jolliffe 등, 2003)이다 (자세한 것은 2.1에 설명되어 있다). 이 ScoTLass 방 버
ᆸ은 R을 이용한 프로그램이 존재하지 않으며, 또한 아래에서 설명되는두 번째 방법으로 효율적으로 ScoTLass알고리즘이 구현될수 있는것으로 알려져 있어 (Witten 등, 2009)이 연구에서는더 이상 추 ᄀ
ᅮ하지 않는다.
1
(42601) ᄃ ᅢᄀ ᅮ ᄀ ᅪ ᆼᄋ ᅧ ᆨᄉ ᅵ ᄃ ᅡ ᆯᄉ ᅥᄀ ᅮ ᄃ ᅡ ᆯᄀ ᅮᄇ ᅥ ᆯᄃ ᅢᄅ ᅩ 1095, ᄀ ᅨᄆ ᅧ ᆼᄃ ᅢᄒ ᅡ ᆨᄀ ᅭ ᄐ ᅩ ᆼ ᄀ ᅨᄒ ᅡ ᆨᄌ ᅥ ᆫᄀ ᅩ ᆼ, ᄀ ᅭᄉ ᅮ. E-mail: [email protected]
ᄌ
ᅮ성분분석에서 Lasso 페널티를부과하는첫 번째 방법으로 고려되고 있는것은주성분에 elastic net (Zou와 Hastie, 2005) 회귀를적용하는 방법이다. 실제로 반응변수를 주성분으로 하고 설명변수를 원 ᄌ
ᅡ료행렬로 지정하면 회귀계수 추정량이 바로 해당 고유벡터 (eigenvector)가된다 (Park, 2013). 따라 ᄉ
ᅥ Lasso 회귀관점에서 보다 0이 많아지는희박성을가진 고유벡터를구할 수 있다. 그러나 이 방법은 ᄇ
ᅧᆫ수의 수가 개체수보다큰경우에는적용되지 못하는단점이 있다. 그런데 L2 페널티를부과한 상태에 ᄉ
ᅥ 반응변수를주성분으로 하고 설명변수를 원자료행렬로 한 회귀계수를구하면 해당 고유벡터에 비례 ᄒ
ᅡ게된다 (Zou 등, 2006). 따라서 Lasso에 해당되는 L1 페널티에 능형에 해당되는 L2 페널티를추가 ᄒ
ᅡ는 elastic net을 통해 변수의 수가 개체수보다큰경우에도 적용가능한 희박성을가진 고유벡터를구 ᄒ
ᅡᆯ 수 있다.
ᄌ
ᅮ성분분석에서 Lasso 페널티를부과하는두 번째 방법으로 고려되고 있는것은비정칙값 분해 (sin- gular value decomposition)에 의해 원자료 행렬을근사시킬 때 Lasso 벌점을부과하는페널티행렬분 ᄒ
ᅢ (penalized matrix decomposition) 방법이다 (Witten 등, 2009). 구체적으로 차수가 n × p인 원자 ᄅ
ᅭ 행렬 X를차수가 1인 비정칙값 분해 (u d vt; u, v는각각 n-벡터, p-벡터이며 d는 실수값)로근사시 키
ᆯ 때 고유벡터에 해당되는 v에 Lasso 페널티를 부과하며, 이 후에는이렇게 구한 잔차행렬 (residual matrix; X −Pk
i=1uidivti) (k = 1, 2, . . . , p − 1)에 대해 동일한 방식으로 희박성이 있는 고유벡터 vk를구하는방법이다. 이 방법은주성분분석에서 p > n인 경우에도 적용가능하며, 또한 정준상관분석 (canonical correlation analysis)에도 적용가능한 장점이 있다 (Witten 등, 2009).
ᄋ
ᅵ 연구에서는앞에서 간략히 설명한 주성분분석에 L1 페널티를부과하는두 가지 방법을자세히 살 ᄑ
ᅧ보고, R 프로그램을 통해 p > n 인 실제 자료에 적용하는예제를보여주고자 한다. 이를위해 이 논 무
ᆫ은 다음과 같이 구성하고자 한다. 2절에서는먼저 주성분분석과 ScoTLass 방법을간략히 설명하고, elastic net 회귀와 페널티행렬분해에 의해 L1 페널티를부과하는주성분분석 방법을자세히 설명한다.
3절에서는 R프로그램을 통해 이 두 가지 방법을 p > n인 실제 자료인 crime 자료 (Ahamad, 1967)에 ᄌ
ᅥ
ᆨ용하고 비교한다. 4절의 결론에서는이 연구의 결과들을정리한다.
2. Lasso 페널티에 기반한 주성분분석 방법
2.1. 주성분분석과 ScoTLass 방법 펴
ᆼ균이 0인 연속형 확률변수 X1, · · · , Xp의 차원축소 (dimension reduction) 방법 중 선형적인 방 버
ᆸ인 주성분분석 (principal component analysis)이 많이 사용되고 있다. 구체적으로 주성분분석 방법 ᄋ
ᅳᆫ X = (X1, · · · , Xp)T의 선형결합 lTX (상첨자 T 는전치)의 분산을최대화시키는선형결합 벡터를 ᄀ
ᅮ하여, 이 선형결합 벡터로 계산되는합성변수인 주성분 (principal component)을이용하여 차원축소 ᄒ
ᅡ는방법이다. 이 문제에 대한 수학적 해법은 X1, · · · , Xp의 표본공분산행렬 S의 고유값-고유벡터 쌍 (eigenvalue-eigenvector pairs) (δi, vi), i = 1, . . . , p에 의해 결정된다 (여기서 δ1≥ · · · ≥ δp로 정렬되 ᄋ
ᅥ 있다고 가정한다). 구체적인 수학적 해법은다음과 같이 주어진다 (Johnson과 Wichern, 1992).
max
l̸=0
lTSl
lTl = δ1이며 argmaxl̸=0
lTS‘l lTl = v1.
v1, . . . , vk(k = 1, . . . , p − 1)에 직교인 l에 대해 max
l̸=0
lTSl
lTl = δk+1이며 argmaxl̸=0
lTS‘l
lTl = vk+1.
ᄀ
ᅳ런데 l ̸= 0에 대해 v = l/p
lTl를새로운선형결합 벡터라고 놓으면 길이가 |v|2 ≡pvTv = 1이 되 ᄀ
ᅵ 때문에 선형결합 벡터 l은길이가 1이라고 가정해도 무방하다. 이렇게 선형결합 벡터를구할 때 L1 ᄑ
ᅦ널티를부과하게 되면 ScoTLass 방법 (Jolliffe 등, 2003)이된다. 구체적으로 L1 페널티를부과한 주 서
ᆼ분 Xvk (k = 1, . . . , p)의 선형결합 벡터 ˜vk는다음과 같이 구할 수 있다.
˜
v1= argmax|v|2=1
vTSv + λ1|v|1
. (2.1)
˜
v1, . . . , ˜vk(k = 1, . . . , p − 1)에 직교인 v에 대해
˜
vk+1= argmax|v|2=1
vTS‘v + λ1|v|1
. ᄋ
ᅧ기서 |v|1=Pp
i=1|vi|는 v = (v1, . . . , vp)T의 L1 노름 (norm)이다.
ScoTLass방법은 R을이용한 프로그램이 존재하지 않으며, 또한 다음절에서 설명될페널티행렬분해 (penalized matrix decomposition) 방법에 의한 주성분분석이 ScoTLass 방법을효과적으로 구현하는 ᄒ
ᅡ나의 알고리즘을제공하는 것으로 알려져 있어 (Witten 등, 2009)이 연구에서는이 방법을더 이상 ᄃ
ᅡ루지 않기로 한다.
2.2. elastic net 회귀를 이용한 주성분분석 방법
elastic net (Zou와 Hastie, 2005) 회귀를이용한 주성분분석 방법을요약하면 다음과 같다. 먼저 주 서
ᆼ분분석에 의해 p개 주성분에 해당되는 벡터 y1, . . . , y
p를구한다. 그 다음이 주성분벡터를반응변수 ᄅ
ᅩ 하고 (평균이 0인) X1, · · · , Xp를설명변수로 하는 elastic net회귀에 의해 회귀계수 추정량을구한 ᄃ
ᅡ. 이 회귀계수 추정량을길이가 1이 되도록치환한 후 이것을계수벡터로 이용한 주성분을구한다.
ᄉ
ᅡᆼ기 절차를사용할 수 있는핵심적인근거는다음과 같다.
정리 2.1 (Zou 등, 2006) 표본공분산행렬 S의 고유값-고유벡터 쌍을 (δi, vi), (i = 1, . . . , p)라고 하자.
ᄋ
ᅵ 때 S의 계수 (rank)를 r (r ≤ p)이라 가정하면 δ1≥ · · · ≥ δr > 0 = δr+1= · · · = δp이라고 둘수 있 ᄃ
ᅡ. n × p인 평균이 0인 자료행렬 X에 대해 yi= Xvi를 i-번째 주성분 벡터라고 하면 다음이 성립한다.
argminβn
|yi− Xβ|22+ λ2|β|22
o∝
( vi if i ≤ r, 0 otherwise.
증명: 이 정리는 공분산행렬 S 대신에 XTX에 대해 (i ≤ r인 경우에 한해) Zhou 등 (2006)에서 The- orem 1으로 주어져 있다. 그러나 이 연구에서 필요한 핵심근거 중의 하나이기 때문에 자체적인 증명을 ᄌ
ᅦ시하도록하겠다. 다중회귀모형 (multiple regression model) y
i = Xβ + ϵ의 회귀계수 β의 능형 추 저
ᆼ량 (ridge estimator)은다음과 같다.
β˜
i= (XTX + λ2I)−1XTy
i= (XTX + λ2I)−1XTXvi= (XTX + λ2I)−1δivi. ᄄ
ᅡ라서 i > r에 대해서는 δi= 0이기 때문에 ˜β
i= 0이된다.
i ≤ r에 대해서는 다음과 같이 ˜β
i를 직접 계산한다. S = XTX/(n − 1)이기 때문에 스펙트럼분해 (spectral decomposition)에 의해 XTX = (n − 1)V ∆VT가된다. 여기서 ∆ = diag(δ1, . . . , δr)이며 V = (v1, . . . , vr)이다. 따라서 다음이 성립한다.
(XTX + λ2I)−1=
V ((n − 1)∆ + λ2I)VT−1
= V ((n − 1)∆ + λ2I)−1VT.