E7 · 주성분과 요인: 많은 지표에서 어떤 방향을 남길 것인가#

1. 두 생산지표를 하나로 요약하기#

같은 단위로 중심화한 두 산업의 생산지표를 생각해 봅시다. 한 시점의 두 지표를 행으로, 네 시점을 쌓은 행렬을

\[\begin{split}X=\begin{pmatrix}\sqrt3&\sqrt3\\-\sqrt3&-\sqrt3\\1&-1\\-1&1\end{pmatrix}\end{split}\]

로 정합니다. 각 열의 합은 0입니다. 이 장에서는 공분산의 분모를 시점 수 \(T=4\)로 고정합니다. 따라서

\[\begin{split}S=X^TX/4=\begin{pmatrix}2&1\\1&2\end{pmatrix}.\end{split}\]

첫 대각은 \((3+3+1+1)/4=2\), 비대각은 \((3+3-1-1)/4=1\)입니다. 두 지표가 함께 움직이는 단위 방향 \(v_+=(1,1)^T/\sqrt2\)와 반대로 움직이는 \(v_-=(1,-1)^T/\sqrt2\)\(Sv_+=3v_+\), \(Sv_-=v_-\)입니다.

어떤 하나의 지수 \(Xv\)를 남길까? \(v=av_++bv_-\), \(a^2+b^2=1\)이면 지수의 표본 분산은

\[v^TSv=3a^2+b^2=1+2a^2\le3.\]

따라서 공동 움직임 방향을 선택합니다. 점수는 \(Xv_+=(\sqrt6,-\sqrt6,0,0)^T\)입니다. 이를 원래 두 산업으로 복원하면

\[\begin{split}X_1=Xv_+v_+^T=\begin{pmatrix}\sqrt3&\sqrt3\\-\sqrt3&-\sqrt3\\0&0\\0&0\end{pmatrix}.\end{split}\]

마지막 두 시점의 차이 방향을 버렸으므로 제곱오차는 \(1+1+1+1=4\)입니다. 총제곱길이는 \(16\)이고 남긴 부분은 \(12\)입니다. 설명분산비 \(3/(3+1)=3/4\)와 같은 계산입니다.

네 개의 중심화 관측을 공동 움직임 직선에 투영한 그림과 두 고윳값

그림 149 위 패널의 두 축은 동일 생산 단위와 동일 눈금이다. 파란 원은 관측, 붉은 사각형은 재구성이며 점선은 버리는 오차 방향이다. 아래의 분산 3과 1은 분모 4를 사용한다.#

2. 분산 최대화, 재구성, 저계수 근사는 같은 문제인가#

\(V^TV=I_r\)\(p\times r\) 행렬로 지수 \(XV\)를 만들고 복원 \(XVV^T\)를 하자. \(VV^T\)는 변수공간의 직교사영입니다. 피타고라스 분해로

\[\|X-XVV^T\|_F^2=\|X\|_F^2-\operatorname{tr}(V^TX^TXV).\]

따라서 재구성오차 최소화는 지수들의 분산 합 최대화입니다. 상위 \(r\)개 고유벡터를 고르면 최댓값은 \(T\sum_{j\le r}\lambda_j(S)\)입니다. 순서대로 하나씩 선택해도 서로 직교하는 다음 최대 방향을 선택하므로 같은 값을 얻습니다.

사영형으로 제한하지 않은 임의의 \(\operatorname{rank}Y\le r\)에 대해서도 최적 재구성은 SVD 절단 \(X_r\)입니다. 마지막 절에서 그 이유를 행공간 사영으로 증명합니다. 다만 ‘해가 같다’는 말의 대상에 주의하자. 한 문제의 해는 부분공간 \(\operatorname{col}V\), 다른 문제의 해는 행렬 \(X_r\)입니다. 개별 고유벡터의 부호는 바꾸어도 재구성이 같습니다. 경계 고윳값이 중복되면 최적 부분공간도 유일하지 않습니다.

3. 중심화와 단위 변경은 서로 다른 선택이다#

원자료 \(Y\)\(C=I-\mathbf1\mathbf1^T/T\)를 곱하면 \(X=CY\)입니다. \(\bar y=Y^T\mathbf1/T\)

\[Y^TY/T=X^TX/T+\bar y\bar y^T.\]

따라서 중심화하지 않은 PCA는 평균 수준의 크기도 설명하려 합니다. 변동의 요인을 찾을 때와 목적이 다릅니다.

두 번째 산업의 단위를 10배 바꾸면 \(D=\operatorname{diag}(1,10)\)이고 공분산은

\[\begin{split}DSD=\begin{pmatrix}2&10\\10&200\end{pmatrix}.\end{split}\]

특성식은 \(\lambda^2-202\lambda+300=0\), 근은 \(101\pm\sqrt{9901}\)입니다. 상위 방향은 \((10,\lambda_+-2)^T\)에 비례하므로 거의 두 번째 축입니다. 같은 경제 자료라도 단위가 주성분을 바꿉니다. 표준편차로 나누면 상관행렬 \(\begin{pmatrix}1&1/2\\1/2&1\end{pmatrix}\)을 분석하게 되고 상위 방향은 다시 \((1,1)\)입니다. 표준화는 항상 옳은 처방이 아니라 변수별 변동 크기를 동일하게 취급하겠다는 선택입니다.

원래 공분산과 두 번째 변수를 10배 바꾼 공분산의 첫 주성분 로딩 비교

그림 150 로딩의 크기는 단위벡터로 정규화했다. 두 번째 열의 단위만 바꾸어도 원자료 PCA가 무엇을 크게 보는지 달라진다. 음의 부호 모호성은 둘째 로딩을 양수로 고정했다.#

4. 요인은 이름이 아니라 부분공간으로 먼저 식별된다#

거시 패널을 \(X=F\Lambda^T+U\)로 쓰겠습니다. \(F\)\(T\times r\) 요인 시계열, \(\Lambda\)\(p\times r\) 산업별 노출입니다. 가역 \(r\times r\) 행렬 \(H\)

\[F\Lambda^T=(FH^{-1})(\Lambda H^T)^T.\]

자료가 정하는 공통성분이 같아도 요인의 좌표는 바뀝니다. 잡음이 없는 계수 \(r\)의 공통행렬이라면 열공간은 \(\operatorname{col}F\), 행공간은 \(\operatorname{col}\Lambda\)로 식별됩니다. 잡음을 임의로 허용하면 공통성분 자체도 유일하지 않으므로, 실제 요인 추정에는 오차의 크기·의존성 제한이 필요합니다.

\(F^TF/T=I\)라는 정규화는 허용 변환을 직교변환으로 줄입니다. 추가로 \(\Lambda^T\Lambda\)를 내림차순 대각으로 만들면 서로 다른 양의 대각값에서는 부호만 남습니다. 반복 대각값에서는 해당 블록의 직교회전이 여전히 가능합니다. 따라서 정규화·부호·순서만으로 항상 유일해진다는 주장은 틀립니다.

예제의 한 요인은 \(F=(\sqrt2,-\sqrt2,0,0)^T\), \(\Lambda=(\sqrt{3/2},\sqrt{3/2})^T\)로 택할 수 있습니다. \(F^TF/4=1\)이고 \(F\Lambda^T=X_1\)입니다. \(F\)\(\Lambda\)의 부호를 함께 뒤집어도 산업별 적합값은 같습니다. ‘경기 요인’이라는 경제적 명명은 추가 해석과 자료 선택에서 옵니다.

5. 몇 개를 남길지: 대수 계산과 통계적 보장은 다르다#

\(V(r)=\|X-X_r\|_F^2/(Tp)\)라 합시다. 위 자료에서 \(V(0)=2\), \(V(1)=1/2\), \(V(2)=0\)입니다. 잔차만 최소화하면 언제나 최대 계수를 선택하므로 복잡도 벌점이 필요합니다.

Bai–Ng 형태는 \(IC(r)=\log V(r)+r g(T,p)\)입니다. 대표 벌점은

\[g_1=\frac{T+p}{Tp}\log\frac{Tp}{T+p},\quad g_2=\frac{T+p}{Tp}\log\min(T,p),\quad g_3=\frac{\log\min(T,p)}{\min(T,p)}.\]

참 요인 수 일치성은 큰 \(T,p\)에서 강한 요인·오차 의존 제한과 벌점 조건을 필요로 합니다. 두 열을 완전히 적합해 \(V=0\)인 이 작은 예에서는 \(\log V\)가 정의되지 않으므로 후보 상한을 1로 둡니다. 이때 \(IC(1)-IC(0)=\log(1/4)+g\)여서 \(g<\log4\)이면 하나를 선택합니다. 이 계산은 Bai–Ng의 요인 수 추정 논문의 점근정리를 이 네 관측에서 입증하지 않습니다.

고윳값비 기준은 후보 \(k\)에서 \(\lambda_k/\lambda_{k+1}\)가 큰 곳을 찾습니다. 전체 자료에 \(c\ne0\)을 곱하면 모든 고윳값에 \(c^2\)가 붙어 비가 보존됩니다. 그러나 \((10,9,0.01)\)에서는 가장 큰 비가 두 번째입니다. 어떤 요인 수가 참인지 알려면 잡음의 마지막 고윳값이 왜 작은지 판단해야 합니다. ‘상위 요인은 발산, 잡음은 유계’만으로는 후보 범위 안의 모든 잡음 고윳값비가 유계라는 결론이 나오지 않습니다. 분모가 0으로 가는 경우를 막는 조건이 더 필요합니다.

Onatski 계열은 잡음 스펙트럼 가장자리의 간극을 기준으로 큰 간극을 찾습니다. 임의의 최대 간극을 Onatski 검정이라고 이름 붙이지 않습니다. 그 문턱값과 점근 분포에는 별도 확률 이론이 필요합니다. 이 장의 계산 랩은 관측 고윳값과 후보별 목적함수를 보이며, 문턱값 추정 전체를 구현했다고 주장하지 않습니다.

조망 — 고차원 잡음. 독립 분산 1 잡음의 표본 공분산에서 \(p/T\to\gamma>0\)이면 고윳값이 1에 모두 모이지 않습니다. 적절한 적률 조건 아래 Marchenko–Pastur 연속 스펙트럼의 가장자리는 \((1\pm\sqrt\gamma)^2\)이고 \(\gamma>1\)에는 0의 질량도 있습니다. 단순 등방성 spiked 공분산 모형에서 모집단 스파이크 \(\ell>1+\sqrt\gamma\)일 때에만 상단 분리 현상이 나타납니다.

이 확률정리들은 여기서 증명하지 않으며 I4의 무한·고차원 극한에서 다룹니다. 네 관측의 PCA 계산이나 아래 섭동정리는 이 결과를 전제로 하지 않습니다. 모형과 극한의 정확한 범위는 Baik–Silverstein의 원논문을 참고합니다.

6. 표본오차가 방향을 얼마나 움직이는가#

\(S_0\)\(r\)번째와 다음 고윳값 사이를 \(\delta>0\)라 하고 \(\widehat S=S_0+E\)라 합시다. \(\varepsilon=\|E\|_2<\delta/2\)이면 정리 5. 한쪽으로 분리된 공간의 잔차 상한의 상위 부분공간 판본에서

\[\|\sin\Theta(\widehat U_r,U_r)\|_2\le\frac{\varepsilon}{\delta-\varepsilon}\le\frac{2\varepsilon}{\delta}.\]

조건의 역할은 명확합니다. Weyl 부등식으로 표본 상위 고윳값과 모집단 하위 고윳값 사이가 적어도 \(\delta-\varepsilon\)만큼 벌어집니다. 이 한쪽 분리가 있어 H6의 스펙트럼노름 상수를 적용합니다.

예제의 \(S_0\)는 간극 2입니다. \(E=\operatorname{diag}(\eta,-\eta)\)를 더하면 \(\|E\|=|\eta|\)이고 고유기저 \((v_+,v_-)\)에서 행렬은 \(\begin{pmatrix}3&\eta\\\eta&1\end{pmatrix}\)입니다. 상위 방향이 \(v_+\)에서 회전한 각 \(\phi\)\(\tan(2\phi)=\eta\)입니다. 작은 \(\eta\)에서 \(|\sin\phi|\)는 약 \(|\eta|/2\)입니다. 중복 고윳값 \(S_0=I\)에는 양의 간극이 없어, 아무리 작은 섭동도 방향을 임의로 선택할 수 있습니다.

대각 섭동 크기에 따른 실제 주성분 회전과 Davis Kahan 상한 비교

그림 151 가로축은 \(|\eta|<1\), 세로축은 두 직선 사이 각의 사인이다. 실제 회전은 \(\sin(\tfrac12\arctan\eta)\)이며 상한은 \(|\eta|/(2-|\eta|)\)다.#

확률적으로 \(\|E\|/\delta\to_p0\)를 보이면 부분공간 일치성이 따라옵니다. 그 공분산 오차 상계는 자료의 꼬리와 시계열 의존성에 달린 별도 확률 문제입니다. \(T\)가 커진다는 말만으로 모든 고차원 공분산의 작용소노름 오차가 0이 되는 것은 아닙니다.

7. 축소 공분산과 일반화 고윳값#

\(S\succeq0\)가 특이하면 \(S_\alpha=(1-\alpha)S+\alpha\tau I\), \(0<\alpha\le1\), \(\tau>0\)는 고윳값 \((1-\alpha)\lambda_j+\alpha\tau>0\)를 갖습니다. Ledoit–Wolf 계열은 이 축소 강도를 위험 기준으로 추정합니다. 모든 자료에서 한 고정 \(\alpha\)가 최적이라는 뜻은 아닙니다.

요인과 희소 오차를 함께 가정하면 상위 저계수 부분을 뺀 공분산 잔여를 임계화하는 POET 구조를 생각할 수 있습니다. 오차의 희소성·요인 강도 없이 그 추정오차가 작다는 보장은 없습니다. 성분별 임계화 자체가 PSD를 보존하지도 않습니다. 예를 들어 대각 1, 모든 비대각 \(.8\)인 PD 행렬에서 한 비대각 쌍만 0으로 만들면 행렬식 \(1-.8^2-.8^2=-.28\)이 됩니다.

희소한 정밀도를 가정하면 graphical lasso의 목적은 \(\operatorname{tr}(S\Theta)-\log\det\Theta+\lambda\sum_{i\ne j}|\Theta_{ij}|\), \(\Theta\succ0\)입니다. 정리 5. 로그 행렬식과 역행렬 자취의 이차 미분은 비영 대칭 방향 \(E\)\(\operatorname{tr}(\Theta^{-1}E\Theta^{-1}E)=\|\Theta^{-1/2}E\Theta^{-1/2}\|_F^2>0\)입니다. 따라서 \(-\log\det\)은 엄격 볼록하고 나머지 항은 볼록하므로 해가 존재하면 유일합니다. Gaussian에서 정밀도의 0이 조건부 독립에 대응하는 구조와 공분산 잔여의 희소성은 다른 가정입니다.

두 중심화 블록의 공분산을 \(S_{xx}\succ0,S_{yy}\succ0,S_{xy}\)라 합시다. 분산 1인 지수 \(a^Tx,b^Ty\)의 공분산을 최대화하는 CCA는 백색화 \(u=S_{xx}^{1/2}a\), \(v=S_{yy}^{1/2}b\)

\[\max_{\|u\|=\|v\|=1}u^TCv,\quad C=S_{xx}^{-1/2}S_{xy}S_{yy}^{-1/2}\]

가 됩니다. 답은 \(C\)의 특이값입니다. 제곱하면

\[S_{xy}S_{yy}^{-1}S_{yx}a=\rho^2S_{xx}a.\]

입력 두 블록의 QR을 먼저 계산하면 불필요한 Gram 조건수 제곱을 피할 수 있습니다. 모든 CCA를 임의로 ‘행렬쌍의 GSVD’라고 부르기보다는 이 백색화 SVD 또는 QR-SVD의 정확한 정의를 쓰겠습니다.

LDA는 집단간 산포 \(S_b\)와 집단내 \(S_w\succ0\)의 몫 \(a^TS_ba/(a^TS_wa)\)이므로 \(S_ba=\lambda S_wa\)입니다. 비음 대칭 그래프의 Laplacian \(L=D-A\)에서는 \(v^TLv=\tfrac12\sum a_{ij}(v_i-v_j)^2\). \(v^TDv=1\) 제약은 \(Lv=\lambda Dv\)를 줍니다. 고립 정점에서는 \(D\)가 특이하므로 제거하거나 별도로 다룹니다. 완화해를 군집으로 반올림한 뒤의 최적성은 이 고유문제만으로 보장되지 않습니다.

8. 예측과 결측 자료에 쓸 때#

확산지수 예측은 \(\widehat F_t\)를 미래 목표변수 회귀에 넣습니다. FAVAR는 추정 요인과 관측 변수를 함께 동적 모형으로 쌓습니다. 요인은 종속변수를 보지 않고 분산을 설명하므로 가장 큰 주성분이 가장 좋은 예측변수라는 보장은 없습니다. 훈련 구간에서만 평균·척도·로딩을 추정한 뒤 검증 구간에 적용해야 미래 정보를 사용하지 않습니다.

결측 행렬완성은 관측 위치 \(\mathcal O\)에 대해 \(\tfrac12\|P_{\mathcal O}(X-M)\|_F^2+\lambda\|M\|_*\)를 최소화하는 식으로 쓸 수 있습니다. 모든 칸을 볼 때는 SVD의 특이값 연성 문턱화와 연결되지만, 결측에서는 관측 연산자가 회전불변성을 깨므로 한 번의 SVD가 일반해가 아닙니다. 관측이 없는 열은 추가 구조 없이 식별되지 않습니다. 합성통제는 공여 단위의 가중치를 비음·합 1로 제한하는 경우가 많아, 무제약 저계수 근사와도 구별합니다.

9. 계산으로 확인하기#

import numpy as np
import scipy.linalg as la
X=np.array([[np.sqrt(3),np.sqrt(3)],[-np.sqrt(3),-np.sqrt(3)],[1.,-1.],[-1.,1.]])
S=X.T@X/4
U,s,Vt=la.svd(X,full_matrices=False)
X1=(U[:,:1]*s[:1])@Vt[:1]
assert np.allclose(s*s/4,[3.,1.])
assert np.isclose(la.norm(X-X1,'fro')**2,4)
D=np.diag([1.,10.]); ev=la.eigvalsh(D@S@D)
assert np.allclose(ev,[101-np.sqrt(9901),101+np.sqrt(9901)])
for eta in [.01,.1,.5]:
    _,V=la.eigh(S+np.diag([eta,-eta]))
    angle=la.subspace_angles(V[:,-1:],np.ones((2,1)))[0]
    assert np.sin(angle)<=eta/(2-eta)+1e-12
print('eigenvalues, reconstruction SSE:',s*s/4,la.norm(X-X1,'fro')**2)
T,p=X.shape
g=np.array([(T+p)/(T*p)*np.log(T*p/(T+p)),
            (T+p)/(T*p)*np.log(min(T,p)),np.log(min(T,p))/min(T,p)])
Vres=np.array([la.norm(X,'fro')**2,la.norm(X-X1,'fro')**2])/(T*p)
criteria=np.log(Vres)[:,None]+np.arange(2)[:,None]*g
assert np.all(np.argmin(criteria,axis=0)==1)
print('candidate r=0,1; IC1, IC2, IC3:',criteria)
eigenvalues, reconstruction SSE: [3. 1.] 4.0
candidate r=0,1; IC1, IC2, IC3: [[ 0.69314718  0.69314718  0.69314718]
 [-0.47738563 -0.1732868  -0.34657359]]
Sxx=np.diag([4.,1.]); Syy=np.diag([1.,9.]); Sxy=np.diag([1.6,.9])
Lx=la.cholesky(Sxx,lower=True); Ly=la.cholesky(Syy,lower=True)
C=la.solve_triangular(Lx,Sxy,lower=True)
C=la.solve_triangular(Ly,C.T,lower=True).T
rho=la.svdvals(C)
gev=la.eigvalsh(Sxy@la.solve(Syy,Sxy.T),Sxx)
assert np.allclose(rho,[.8,.3])
assert np.allclose(gev,rho[::-1]**2)
F=np.array([[1.,0.],[0.,1.],[1.,1.]])
Lam=np.array([[1.,2.],[3.,1.],[0.,2.]])
H=np.array([[2.,1.],[0.,1.]])
assert np.allclose(la.solve(H.T,F.T).T@(Lam@H.T).T,F@Lam.T)
print('canonical correlations:',rho)
canonical correlations: [0.8 0.3]

10. 연습과 전체 풀이#

문제 1 — 계산. 예제에서 두 번째 주성분을 남길 때의 제곱오차는?

풀이. 두 번째 점수는 \((0,0,\sqrt2,-\sqrt2)^T\)로 제곱길이 4입니다. 총길이 16에서 이를 빼면 12입니다. 첫 방향을 남긴 오차 4보다 크므로 첫 방향이 최적입니다.

문제 2 — 중심화. 모든 행에 \(m^T\)를 더하면 어떻게 되는가?

풀이. 원래 열 평균이 0이므로 새 비중심 이차적률은 \(S+mm^T\)입니다. 중심화하면 \(C(X+\mathbf1m^T)=CX=X\)이어서 원래 PCA를 얻습니다. 단위 변경 \(XD\)와 평균 이동을 혼동하면 안 됩니다.

문제 3 — 중복. \(S=I_2\)일 때 정규화와 부호 고정만으로 첫 방향이 정해지는가?

풀이. 모든 단위 \(v\)\(v^TSv=1\)입니다. \((1,0)\)\((1,1)/\sqrt2\)는 모두 첫 비영 성분이 양수지만 다른 최적 방향입니다. 반복 고윳값 내부의 회전 자유도는 남습니다.

문제 4 — 비율. \(X\mapsto cX\)와 변수별 스케일링의 차이를 설명하라.

풀이. 공통 스케일은 \(S\mapsto c^2S\)라 고윳값비가 같습니다. 변수별 스케일은 \(S\mapsto DSD\)라는 합동변환이며 일반적으로 고윳값비와 방향이 모두 달라집니다. 3절의 \(101\pm\sqrt{9901}\)이 반례입니다.

문제 5 — CCA. 코드의 정준상관을 손으로 확인하라.

풀이. \(S_{xx}^{-1/2}=\operatorname{diag}(1/2,1)\), \(S_{yy}^{-1/2}=\operatorname{diag}(1,1/3)\)입니다. 따라서 \(C=\operatorname{diag}(.8,.3)\), 특이값은 \(.8,.3\). 백색화된 결합 공분산의 각 \(2\times2\) 블록 고윳값은 \(1\pm.8\), \(1\pm.3\)으로 양수여서 유효한 공분산 예제입니다.

문제 6 — PSD 반례. 7절에서 임계화한 행렬이 왜 부정치인가?

풀이. 원래 행렬은 \(.2I+.8J\)라 고윳값 \(2.6,.2,.2\)입니다. 한 비대각 쌍을 지운 뒤 행렬식은 \(-.28\). 대칭행렬의 고윳값 곱이 음수이므로 적어도 하나가 음수입니다. 임계화 알고리즘에는 별도 PSD 처리와 그 영향 평가가 필요합니다.

11. 지금까지의 내용을 수학의 언어로 정리해 봅시다#

두 산업의 공동 움직임을 남기는 계산은 일반 행렬의 최적 저계수 근사 문제입니다. 앞에서 구한 분산, 재구성오차, 회전 자유도와 정준상관을 차례로 정의에 맞추어 증명합니다. 확률적인 요인 수 선택 정리는 이 유한차원 최적성 증명과 구별합니다.

정리 1. PCA의 세 정식화#

\(X^TX\)의 고윳값을 \(\mu_1\ge\cdots\ge\mu_p\ge0\)이라 합시다. \(V^TV=I_r\)에서 최대 \(\operatorname{tr}(V^TX^TXV)=\sum_{j\le r}\mu_j\)이며 최소 재구성오차는 \(\sum_{j>r}\mu_j\)입니다. 임의 계수 \(r\) 이하 행렬 근사도 같은 최소를 갖습니다.

증명. \(X^TX=Q\operatorname{diag}(\mu)Q^T\)로 쓰고 \(A=Q^TV\)라 두겠습니다. \(d_i=\sum_{j\le r}a_{ij}^2\)\(0\le d_i\le1\), \(\sum_i d_i=r\)입니다. 따라서

\[\sum_i\mu_id_i\le\sum_{i\le r}\mu_id_i+\mu_r\sum_{i>r}d_i =\sum_{i\le r}[\mu_id_i+\mu_r(1-d_i)]\le\sum_{i\le r}\mu_i.\]

상위 고유벡터를 고르면 등호입니다. \(X=XVV^T+X(I-VV^T)\)의 두 항은 Frobenius 내적에서 직교하므로 재구성 식이 따릅니다.

임의 \(Y\)의 행공간으로의 사영을 \(P_R\)라 합시다. \(Y=YP_R\)이고

\[X-Y=X(I-P_R)+(XP_R-Y).\]

두 항의 행방향이 직교하므로 \(\|X-Y\|_F^2\ge\|X(I-P_R)\|_F^2\). \(\dim R\le r\)이므로 앞서 얻은 최대 분산 상계에 의해 이 값은 \(\sum_{j>r}\mu_j\) 이상입니다. SVD 절단은 그 값을 달성합니다. 경계 간극 \(\mu_r>\mu_{r+1}\)이면 위 두 부등식의 등호가 상위 공간을 강제하며, 반복 경계에서는 일부 선택이 자유롭습니다. ∎

정리 2. 요인 좌표와 정규화#

계수 \(r\) 공통행렬의 두 완전 열계수 분해 \(F\Lambda^T=\widetilde F\widetilde\Lambda^T\)는 가역 좌표변환으로 연결됩니다. 두 \(F\)\(F^TF/T=I\)를 만족하면 변환은 직교입니다.

증명. 완전 열계수 \(\Lambda\)의 전치는 전사이므로 곱의 상은 \(\operatorname{col}F\)입니다. 두 분해의 상이 같아 \(\widetilde F=FH^{-1}\)인 가역 \(H\)가 존재합니다. \(F\)의 왼쪽 역을 곱하면 \(\widetilde\Lambda=\Lambda H^T\). 두 Gram 정규화를 넣으면 \(H^{-T}H^{-1}=I\), 즉 \(HH^T=I\)입니다. 로딩 Gram의 정렬된 서로 다른 고윳값까지 고정하면 각 1차원 고유공간에는 부호만 남습니다. 반복 고윳값 블록에는 그 블록을 보존하는 모든 직교회전이 남습니다. ∎

정리 3. 오차/간극 비와 요인공간#

\(S_0\)의 상위 \(r\) 간극이 \(\delta>0\), \(\|E\|=\varepsilon<\delta/2\)이면 6절의 각도 상한이 성립합니다.

증명. 정리 1. Weyl과 절대조건수로 표본 \(r\)번째 고윳값은 \(\lambda_r(S_0)-\varepsilon\) 이상입니다. 모집단 아래쪽 스펙트럼은 \(\lambda_{r+1}(S_0)\) 이합니다. 둘의 한쪽 분리는 \(\delta-\varepsilon>0\)입니다. 표본 상위 고유벡터 식을 모집단 하위 공간에 곱하면 Sylvester 잔차식의 우변 노름이 \(\varepsilon\) 이하입니다. 이 조건은 정리 5. 한쪽으로 분리된 공간의 잔차 상한에서 증명한 한쪽 분리 판본의 조건과 정확히 같으므로 각도는 \(\varepsilon/(\delta-\varepsilon)\) 이하입니다. \(\varepsilon<\delta/2\)를 분모에 적용하면 두 번째 상한이 나옵니다.

따라서 확률적 오차/간극 비가 0으로 가면 임의 고정 양의 문턱을 넘는 각도 확률도 0으로 갑니다. ∎

정리 4. 정준상관과 일반화 고유문제#

\(S_{xx},S_{yy}\succ0\)이면 정준상관은 백색화 교차공분산 \(C\)의 특이값입니다. 유효한 결합 공분산에서는 모두 1 이하입니다.

증명. 분산 제약 \(a^TS_{xx}a=b^TS_{yy}b=1\)\(u=S_{xx}^{1/2}a\), \(v=S_{yy}^{1/2}b\)로 치환하면 단위구의 \(u^TCv\) 최대화입니다. \(C=U\Sigma V^T\)에 회전좌표를 쓰고 Cauchy–Schwarz를 적용하면 최댓값은 \(\sigma_1\)이며 대응 특이벡터가 달성합니다. 이미 고른 방향에 직교라는 제약을 추가하면 나머지 특이값을 순서대로 얻습니다. \(CC^Tu=\rho^2u\)를 원좌표로 돌리면 제시한 일반화 고유식입니다. 결합 공분산의 Schur 보원은 \(S_{xx}-S_{xy}S_{yy}^{-1}S_{yx}\succeq0\)이므로 \(I-CC^T\succeq0\). 따라서 \(\rho^2\le1\)입니다. ∎

주성분과 요인은 공통 변동의 부분공간을 추정하지만 그 안의 좌표는 추가 정규화에 의존합니다. 다음 장에서는 시간에 따라 상태가 변하는 모형으로 옮겨 안정성과 예측오차의 누적을 계산합니다. E8로 이어 읽기.