상관 행렬과 공분산 행렬에서 주성분 분석 (PCA)을 수행하는 것의 주요 차이점은 무엇입니까? 그들은 같은 결과를 제공합니까?
상관 행렬과 공분산 행렬에서 주성분 분석 (PCA)을 수행하는 것의 주요 차이점은 무엇입니까? 그들은 같은 결과를 제공합니까?
답변:
변수 척도가 유사하면 공분산 행렬을 사용하는 경향이 있고 변수가 다른 척도에있을 때는 상관 행렬을 사용하는 경향이 있습니다.
상관 행렬을 사용하는 것은 각 변수 를 표준화 하는 것과 같습니다 (0 및 표준 편차 1을 의미). 일반적으로 표준화 여부에 관계없이 PCA는 다른 결과를 제공합니다. 특히 비늘이 다른 경우.
예를 들어이 R heptathlon
데이터 세트를 살펴보십시오 . 일부 변수의 평균 값은 약 1.8 (높은 점프) 인 반면 다른 변수 (800m 실행)는 약 120입니다.
library(HSAUR)
heptathlon[,-8] # look at heptathlon data (excluding 'score' variable)
출력 :
hurdles highjump shot run200m longjump javelin run800m
Joyner-Kersee (USA) 12.69 1.86 15.80 22.56 7.27 45.66 128.51
John (GDR) 12.85 1.80 16.23 23.65 6.71 42.56 126.12
Behmer (GDR) 13.20 1.83 14.20 23.10 6.68 44.54 124.20
Sablovskaite (URS) 13.61 1.80 15.23 23.92 6.25 42.78 132.24
Choubenkova (URS) 13.51 1.74 14.76 23.93 6.32 47.46 127.90
...
이제 공분산과 상관에 대해 PCA를 수행해 보겠습니다.
# scale=T bases the PCA on the correlation matrix
hep.PC.cor = prcomp(heptathlon[,-8], scale=TRUE)
hep.PC.cov = prcomp(heptathlon[,-8], scale=FALSE)
biplot(hep.PC.cov)
biplot(hep.PC.cor)
공분산에 그 PCA에 의해 지배주의 run800m
와 javelin
: PC1이 거의 동일 run800m
(및 설명 분산의)을하고 PC2는 거의 동일하다 javelin
(그들은 함께 설명 ). 상관 관계에 대한 PCA는 훨씬 더 유익 하며 데이터의 일부 구조와 변수 사이의 관계를 나타냅니다 (설명 된 차이는 및 떨어짐 ).
공분산 또는 상관 행렬의 사용 여부에 관계없이 외부 개인 ( 이 데이터 세트의)은 특이 치입니다.
다변량 분석을 소개 한 그의 훌륭한 저서에서 Bernard Flury는 이것을 주성분의 반 재산으로 설명했습니다. 실제로 상관 또는 공분산 중에서 선택하는 것보다 나쁩니다. 단위를 변경 한 경우 (예 : 미국 스타일 갤런, 인치 등 및 EU 스타일 리터, 센티미터) 데이터의 실제 예상치가 다릅니다.
상관 행렬을 자동으로 사용하는 것에 대한 논쟁은 데이터를 표준화하는 데 매우 잔인한 방법이라는 것입니다. 헵타 탈론 데이터에서 매우 분명한 공분산 행렬을 자동으로 사용할 때의 문제는 가장 큰 분산을 갖는 변수가 첫 번째 주요 성분 (분산 최대화 특성)을 지배한다는 것입니다.
따라서 "최고의"사용 방법은 주관적인 선택, 신중한 사고 및 경험을 바탕으로합니다.
변형되지 않은 (RAW) 데이터 : 변형되지 않은 원시 데이터, 즉 일일 칼로리 섭취량, 유전자 발현, ELISA / Luminex, ug / dl, ng / dl 단위로 다양한 척도를 갖는 변수가 여러 순서에 따라 단백질 발현의 크기, 상관 관계를 PCA에 대한 입력으로 사용합니다. 그러나 모든 데이터가 범위와 규모가 비슷한 동일한 플랫폼의 유전자 발현을 기반으로하거나 로그 자산 자산 수익을 처리하는 경우 상관 관계를 사용하면 엄청난 양의 정보가 삭제됩니다.
VDW 점수 사용은 많은 변수가 VDW 점수로 변환 된 다음 분석에 입력되는 유전학에서 매우 인기가 있습니다. VDW 점수 사용의 이점은 데이터에서 왜도 및 특이 치 효과가 제거되고 정규성 제약 조건 하에서 분석을 수행하는 것이 목표 인 경우 사용할 수 있으며 모든 변수는 왜도없이 순수하게 표준 정규 분포이어야 함 또는 이상치.
일반적인 대답은 변수가 동일한 척도에있을 때 공분산이 사용되고 척도가 다른 경우 상관 관계가 사용됨을 제안하는 것입니다. 그러나 이것은 변수의 규모가 중요하지 않은 경우에만 해당됩니다. 그렇지 않으면 왜 누군가가 공분산 PCA를했을까요? 항상 상관 관계 PCA를 수행하는 것이 더 안전합니다.
변수에 미터 및 킬로그램과 같이 다른 측정 단위가 있다고 가정하십시오. 이 경우 미터 또는 센티미터를 사용하는지 여부는 중요하지 않으므로 상관 행렬을 사용해야한다고 주장 할 수 있습니다.
이제 다른 주에있는 사람들의 인구를 고려하십시오. 측정 단위는 동일합니다-사람들의 수 (수). 이제 규모가 다를 수 있습니다. DC의 인구는 600K이고 CA는 38M입니다. 여기서 상관 행렬을 사용해야합니까? 따라 다릅니다. 일부 응용 프로그램에서는 상태 크기에 맞게 조정하려고합니다. 공분산 행렬을 사용하는 것은 상태의 크기를 설명하는 요인을 만드는 한 가지 방법입니다.
따라서 내 대답은 원래 변수의 분산이 중요 할 때 공분산 행렬을 사용하고 그렇지 않은 경우 상관 관계를 사용하는 것입니다.
필자는 개인적으로 최대 가능성 주성분 분석 모델 (MLPCA) [1,2]에 비추어 이러한 옵션에 대해 논의하는 것이 매우 중요하다는 것을 알고 있습니다. MLPCA에서 측정 변수의 측정 오류가 표준 정규 분포에 따라 독립적이고 분포되도록 스케일링 (또는 회전)을 적용합니다. 이 스케일링은 최대 가능성 스케일링 (MALS)이라고도합니다 [3]. 어떤 경우에는 PCA 모델과 MALS 스케일링 / 회전을 정의하는 파라미터를 함께 추정 할 수 있습니다 [4].
상관 기반 및 공분산 기반 PCA를 해석하기 위해 다음과 같이 주장 할 수 있습니다.
위에서 강조한 것처럼, 궁극적 인 선택은 당신이 만들고있는 가정에 달려 있습니다. 또한 특정 모델의 유용성은 분석의 맥락과 목적에 따라 달라집니다. George EP Box를 인용하려면 : "모든 모델이 잘못되었지만 일부는 유용합니다."
Wentzell, PD, Andrews, DT, Hamilton, DC, Faber, K. 및 Kowalski, BR (1997). 최대 가능성 주성분 분석. 화학량 론 저널, 11 (4), 339-366.
[2] Wentzell, PD, & Lohnes, MT (1999). 상관 된 측정 오류를 통한 최대 가능성 주성분 분석 : 이론적 및 실제 고려 사항. 화학 측정 및 지능형 실험실 시스템, 45 (1-2), 65-85.
Hoefsloot, HC, Verouden, MP, Westerhuis, JA, & Smilde, AK (2006). 최대 가능성 스케일링 (MALS). 화학 저널, 20 (3-4), 120-127.
[4] Narasimhan, S., & Shah, SL (2008). PCA를 사용하여 잡음 데이터로부터 모델 식별 및 오류 공분산 행렬 추정. 제어 공학 실습, 16 (1), 146-155.
Tipping, ME, & Bishop, CM (1999). 확률 적 주성분 분석. 왕립 통계 학회지 : 시리즈 B (통계 방법론), 61 (3), 611-622.
척도에 근거한 주장 (같은 물리적 단위로 표현 된 변수에 대한)은 다소 약해 보입니다. 표준 편차가 0.001과 0.1 사이에서 변하는 (치수없는) 변수 세트를 상상해보십시오. 1의 표준화 된 값과 비교할 때,이 둘은 '작고'비슷한 수준의 변동으로 보입니다. 그러나 데시벨로 표현하면 각각 -10과 0dB에 대해 -60dB의 범위가됩니다. 그런 다음 이것은 아마도 '큰 범위'로 분류 될 것입니다. 특히 0에 가까운 표준 편차, 즉-무한 무한대 dB를 포함 할 경우 더욱 그렇습니다.
내 제안은 상관 및 공분산 기반 PCA를 수행하는 것입니다. 두 사람이 동일하거나 매우 유사한 PC를 제공한다면 의미있는 답을 얻을 수 있습니다. 서로 다른 PC를 제공하는 경우 한 가지 문제에 대한 두 가지 다른 답변이 질문을 해결하는 합리적인 방법이 아니므로 PCA를 사용하지 마십시오.