주성분 분석“뒤로”: 주어진 선형 변수 조합에 의해 얼마나 많은 데이터 차이가 설명됩니까?


17

6 가지 변수 AA , BB , CC , DD , EEF에 대한 주성분 분석을 수행했습니다 F. 올바르게 이해하면 회전하지 않은 PC1은 이러한 변수의 선형 조합이 데이터에서 가장 큰 차이를 설명 / 설명하고 PC2는 이러한 변수의 선형 조합이 데이터에서 다음으로 가장 큰 차이를 설명하는 방식을 알려줍니다.

그냥 궁금 해서요-이 "뒤로"하는 방법이 있습니까? 이러한 변수의 선형 조합 (예 : A + 2 B + 5 CA+2B+5C )을 선택한다고 가정 해 봅시다 .


7
엄밀히 말하면, PC2는 PC1직교 하는 선형 조합 으로, 데이터에서 다음으로 가장 큰 차이를 나타냅니다.
Henry

1
V a r ( A + 2 B + 5 C ) 을 추정하려고 Var(A+2B+5C)합니까?
vqv

모든 좋은 답변 (3 +1). 하나 이상의 잠재 변수를 "변수의 선형 조합"이라고 생각 하면 공식화 된 문제가 잠재 변수 접근법 (SEM / LVM)을 통해 해결할 수 있는지에 대한 사람들의 의견이 궁금합니다 .
Aleksandr Blekh

1
@ Aleksandr, 내 대답은 실제로 다른 두 가지와 직접 충돌합니다. 나는 불일치를 명확히하기 위해 답을 편집했습니다 (그리고 수학을 철자하기 위해 더 편집 할 계획입니다). 두 개의 표준화 된 동일한 변수 X = Y 로 데이터 세트를 상상해보십시오 X=Y. X에 의해 얼마나 많은 분산이 기술 X됩니까? 다른 두 가지 솔루션은 50 %를 제공50% 합니다. 나는 정답이 100 % 라고 주장한다 100%.
amoeba는 Reinstate Monica

1
@amoeba : 자료를 완전히 이해하는 데 여전히 어려움을 겪고 있지만 귀하의 답변이 다르다는 것을 이해합니다. 내가 "모두 좋은 대답"이라고 말했을 때, 나는 그 답이 정확 하지 않고 대답 자체 의 수준 을 좋아한다는 것을 암시했다 . 나는 그것이 거친 지형 국가에서 통계 :-) 라는 자체 교육 탐구에있는 나와 같은 사람들에게 교육적 가치 가 있음을 발견했습니다 . 이해가 되길 바랍니다.
Aleksandr Blekh

답변:


11

모든 변수가 중심에 있다는 가정 (PCA의 표준 사례)으로 시작하면 데이터의 총 분산은 제곱의 합입니다.

T = i ( A 2 i + B 2 i + C 2 i + D 2 i + E 2 i + F 2 i )

T=i(A2i+B2i+C2i+D2i+E2i+F2i)

이것은 변수의 공분산 행렬의 트레이스와 동일하며, 이는 공분산 행렬의 고유 값의 합과 같습니다. 이것은 "데이터 설명"과 관련하여 PCA가 말하는 것과 같은 양입니다. 즉 PC가 공분산 행렬의 대각선 요소의 가장 큰 비율을 설명하기를 원합니다. 이제 이것을 예측 값 집합에 대한 목적 함수로 만들면 다음과 같습니다.

S = Σ I ( [ I - I ] 2 + + [ F I - F I ] 2 )

S=i([AiA^i]2++[FiF^i]2)

이어서 제 주성분이 최소화 SS 모두 랭크 1 개 피팅 값 사이 ( I , ... , F I )(A^i,,F^i) . 따라서 당신이 따르는 적절한 양처럼 보일 것입니다 P = 1 ST

P=1ST
예제A+2B+5C를 사용하려면A+2B+5C이 방정식을 순위 1 예측으로 바꿔야합니다. 먼저 가중치를 정규화하여 제곱합 1을 갖도록해야합니다. 따라서(1,2,5,0,0,0)(1,2,5,0,0,0)(제곱합3030)을(130 ,230 ,530 ,0,0,0)(130,230,530,0,0,0). 다음으로 정규화 된 가중치에 따라 각 관측치를 "점수"합니다.

Z i = 130I+(2)30 B는+530 C의

Zi=130Ai+230Bi+530Ci

그런 다음 점수에 가중치 벡터를 곱하여 순위 1 예측을 얻습니다.

( A는 나는 BCDE I F I ) = Z I × ( 130 230 530 000)

A^iB^iC^iD^iE^iF^i=Zi×130230530000

그런 다음 이러한 추정치를 SS 계산 P에 연결P 합니다. 이것을 매트릭스 규범 표기법에 넣을 수도 있는데, 이는 다른 일반화를 암시 할 수 있습니다. 우리 가 변수의 관측 값의 N × q 행렬 로 OO 를 설정하면 ( 귀하의 경우 q = 6 ), 대응하는 예측 행렬로 E 를 설정합니다. 분산 비율을 다음과 같이 정의 할 수 있습니다.N×qq=6E

| | | | 2 2| | O E | | 2 2| | | | 2 2

||O||22||OE||22||O||22

어디 | | . | | 2Frobenius 행렬 표준 입니다. 따라서 이것을 다른 종류의 행렬 규범으로 "일반화"할 수 있으며, 제곱의 합이 아니라면 "변형"자체는 아니지만 "변형 설명"의 차이 측정 값을 얻게됩니다.||.||2


이것은 합리적인 접근 방법이지만 식을 크게 단순화하고 Z i 의 제곱합을 총 제곱합 T로 나눈 것과 같게 표시 할 수 있습니다 . 또한 이것이 질문을 해석하는 가장 좋은 방법은 아니라고 생각합니다. 내가 이해하는 다른 접근법에 대한 내 대답을 참조하십시오 (특히, 저의 예제 그림 참조). ZiT
amoeba는 Reinstate Monica

그렇게 생각하십시오. 두 개의 표준화 된 동일한 변수 X = Y 로 데이터 세트를 상상해보십시오 . X에 의해 얼마나 많은 분산이 기술 됩니까? 계산 결과는 50 % 입니다. 나는 정답이 100 % 라고 주장한다 . X=YX50%100%
amoeba는 Reinstate Monica

@amoeba- X = Y 이면 첫 번째 PC는 ( 1X=Y2 ,12 )-이것은zi=xi+yi의순위1점을만듭니다.(12,12)12 =xi2 (xi=yi가정). 이 순위를 제공예측 X I=XI를, 마찬가지로 Y=Y. 따라서O-E=0S=0이됩니다. 따라서 직관이 제안한대로 100 %를 얻습니다. zi=xi+yi2=xi2xi=yi1x^i=xiy^i=yiOE=0S=0
probabilityislogic

Hey, yes, sure, the 1st PC explains 100% variance, but that's not what I meant. What I meant is that X=YX=Y, but the question is how much variance is described by XX, i.e. by (1,0)(1,0) vector? What does your formula say then?
amoeba says Reinstate Monica

@amoeba -이 50 %라고하지만 참고는 ( 1 , 0 ) 의 벡터는 가장 순위 말한다 1 위한 예측기 ( X I , Y ) 로 주어진다 X I = X IY = 0 (주목 그 z i = 당신의 벡터의 선택에 따라 x i ). 이것은 최적의 예측이 아니기 때문에 100 %를 얻지 못합니다. 이 설정에서 XY 를 모두 예측해야 합니다. (1,0)1(xi,yi)x^i=xiy^i=0zi=xiXY
확률 론적

8

이러한 변수의 선형 조합 (예 : A + 2 B + 5 C )을 선택한다고 가정 해 봅시다 .A+2B+5C

이 질문은 두 가지 다른 방식으로 이해되어 두 가지 다른 답변으로 이어질 수 있습니다.

A linear combination corresponds to a vector, which in your example is [1,2,5,0,0,0][1,2,5,0,0,0]. This vector, in turn, defines an axis in the 6D space of the original variables. What you are asking is, how much variance does projection on this axis "describe"? The answer is given via the notion of "reconstruction" of original data from this projection, and measuring the reconstruction error (see Wikipedia on Fraction of variance unexplained). Turns out, this reconstruction can be reasonably done in two different ways, yielding two different answers.


Approach #1

하자 X는 센터링 된 데이터 세트 일 수 ( N 행은 샘플에 대응하는 D 열 변수에 대응)하도록 Σ는 그 공분산 행렬 및하자 로부터 단위 벡터 수 R에 D . 데이터 세트의 총 분산은 모든 d 분산 의 합 , 즉 공분산 행렬의 트레이스입니다. T = t r ( Σ ) . 질문 : 어떤 비율 T는 않습니다 w를 설명? @todddeluca와 @probabilityislogic의 두 가지 대답은 모두 다음과 같습니다. 계산 프로젝션 X wXndΣwRddT=tr(Σ)TwXw, compute its variance and divide by TT: R2first=Var(Xw)T=wΣwtr(Σ).

R2first=Var(Xw)T=wΣwtr(Σ).

This might not be immediately obvious, because e.g. @probabilityislogic suggests to consider the reconstruction XwwXww and then to compute X2XXww2X2,

X2XXww2X2,
but with a little algebra this can be shown to be an equivalent expression.

Approach #2

Okay. Now consider a following example: XX is a d=2d=2 dataset with covariance matrix Σ=(10.990.991)

Σ=(10.990.991)
and w=(10)w=(10) is simply an xx vector:

variance explained

The total variance is T=2T=2. The variance of the projection onto ww (shown in red dots) is equal to 11. So according to the above logic, the explained variance is equal to 1/21/2. And in some sense it is: red dots ("reconstruction") are far away from the corresponding blue dots, so a lot of the variance is "lost".

On the other hand, the two variables have 0.990.99 correlation and so are almost identical; saying that one of them describes only 50%50% of the total variance is weird, because each of them contains "almost all the information" about the second one. We can formalize it as follows: given projection XwXw, find a best possible reconstruction XwvXwv with vv not necessarily the same as ww, and then compute the reconstruction error and plug it into the expression for the proportion of explained variance: R2second=X2XXwv2X2,

R2second=X2XXwv2X2,
where vv is chosen such that XXwv2XXwv2 is minimal (i.e. R2R2 is maximal). This is exactly equivalent to computing R2R2 of multivariate regression predicting original dataset XX from the 11-dimensional projection XwXw.

It is a matter of straightforward algebra to use regression solution for vv to find that the whole expression simplifies to R2second=Σw2wΣwtr(Σ).

R2second=Σw2wΣwtr(Σ).
In the example above this is equal to 0.99010.9901, which seems reasonable.

Note that if (and only if) ww is one of the eigenvectors of ΣΣ, i.e. one of the principal axes, with eigenvalue λλ (so that Σw=λwΣw=λw), then both approaches to compute R2R2 coincide and reduce to the familiar PCA expression R2PCA=R2first=R2second=λ/tr(Σ)=λ/λi.

R2PCA=R2first=R2second=λ/tr(Σ)=λ/λi.

PS. See my answer here for an application of the derived formula to the special case of ww being one of the basis vectors: Variance of the data explained by a single variable.


Appendix. Derivation of the formula for R2secondR2second

Finding vv minimizing the reconstruction XXwv2XXwv2 is a regression problem (with XwXw as univariate predictor and XX as multivariate response). Its solution is given by v=((Xw)(Xw))1(Xw)X=(wΣw)1wΣ.

v=((Xw)(Xw))1(Xw)X=(wΣw)1wΣ.

Next, the R2R2 formula can be simplified as R2=X2XXwv2X2=Xwv2X2

R2=X2XXwv2X2=Xwv2X2
due to the Pythagoras theorem, because the hat matrix in regression is an orthogonal projection (but it is also easy to show directly).

Plugging now the equation for vv, we obtain for the numerator: Xwv2=tr(Xwv(Xwv))=tr(XwwΣΣwwX)/(wΣw)2=tr(wΣΣw)/(wΣw)=Σw2/(wΣw).

Xwv2=tr(Xwv(Xwv))=tr(XwwΣΣwwX)/(wΣw)2=tr(wΣΣw)/(wΣw)=Σw2/(wΣw).

The denominator is equal to X2=tr(Σ)X2=tr(Σ) resulting in the formula given above.


I think this is an answer to a different question. For example, it not the case that that optimising your R2R2 wrt ww will give the first PC as the unique answer (in those cases where it is unique). The fact that (1,0)(1,0) and 12(1,1)12(1,1) both give 100% when X=YX=Y is evidence enough. Your proposed method seems to assume that the "normalised" objective function for PCA will always understate the variance explained (yours isn't a normalised PCA objective function as it normalises by the quantity being optimised in PCA).
probabilityislogic

I agree that our answers are to different questions, but it's not clear to me which one OP had in mind. Also, note that my interpretation is not something very weird: it's a standard regression approach: when we say that xx explains so and so much variance in yy, we compute reconstruction error of yxbyxb with an optimal bb, not just yxyx. Here is another argument: if all nn variables are standardized, then in your approach each one explains 1/n1/n amount of variance. This is not very informative: some variables can be much more predictive than others! My approach reflects that.
amoeba says Reinstate Monica

@amoeba (+1) Great answer, it's really helpful! Would you know any reference that tackles this issue? Thanks!
PierreE

@PierreE Thanks. No, I don't think I have any reference for that.
amoeba says Reinstate Monica

4

Let the total variance, TT, in a data set of vectors be the sum of squared errors (SSE) between the vectors in the data set and the mean vector of the data set, T=i(xiˉx)(xiˉx)

T=i(xix¯)(xix¯)
where ˉxx¯ is the mean vector of the data set, xixi is the ith vector in the data set, and is the dot product of two vectors. Said another way, the total variance is the SSE between each xixi and its predicted value, f(xi)f(xi), when we set f(xi)=ˉxf(xi)=x¯.

Now let the predictor of xixi, f(xi)f(xi), be the projection of vector xixi onto a unit vector cc.

fc(xi)=(cxi)c

fc(xi)=(cxi)c

Then the SSESSE for a given cc is SSEc=i(xifc(xi))(xifc(xi))

SSEc=i(xifc(xi))(xifc(xi))

I think that if you choose cc to minimize SSEcSSEc, then c is the first principal component.

If instead you choose c to be the normalized version of the vector (1,2,5,...), then TSSEc is the variance in the data described by using c as a predictor.


This is a reasonable approach, but I think this is not the best way to interpret the question; see my answer for an alternative approach that I argue makes more sense (in particular, see my example figure there).
amoeba says Reinstate Monica

Think about it like that. Imagine a dataset with two standardized identical variables X=Y. How much variance is described by X? Your calculation gives 50%. I argue that the correct answer is 100%.
amoeba says Reinstate Monica
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.