PCA를 통한 마할 라 노비스 거리


10

나는 행렬을 가지고 있는데, 여기서 는 유전자의 수이고 은 환자의 수입니다. 그러한 데이터로 작업 한 사람은 가 항상 보다 크다는 것을 알고 있습니다. 기능 선택을 사용하여 를 더 합리적인 수로 줄 였지만 는 여전히 보다 큽니다 .n×ppnpnppn

나는 그들의 유전자 프로필을 기반으로 환자의 유사성을 계산하고 싶습니다; 유클리드 거리를 사용할 수는 있지만 변수 간의 상관 관계를 설명하기 때문에 Mahalanobis가 더 적합 해 보입니다. 문제는 (이 게시물 에서 언급했듯이 ) 일 때 Mahalanobis 거리, 특히 공분산 행렬이 작동하지 않는다는 것 입니다. R에서 Mahalanobis 거리를 실행할 때 얻는 오류는 다음과 같습니다.n<p

 Error in solve.default(cov, ...) :    system is computationally
 singular: reciprocal condition number = 2.81408e-21

지금까지이 문제를 해결하기 위해 PCA를 사용했고 유전자를 사용하는 대신 구성 요소를 사용했는데 이것은 Mahalanobis 거리를 계산할 수있는 것으로 보입니다. 5 개의 성분은 분산의 약 80 %를 나타내므로 이제 입니다.n>p

내 질문은 : PCA를 사용하여 환자 사이의 마할 라 노비스 거리를 의미있게 얻을 수 있습니까, 아니면 부적절합니까? 일 때 작동하는 대체 거리 측정법이 있으며 변수 간에 많은 상관 관계가 있습니까?n<pn


PCA당신이 경사 회전 같은 것을 사용하지 않는 한, 변수의 상관 관계를 깰 수 있습니다. 또한 분산 배분 PCA이 유사한 환자들 사이의 마할 라 노비스 거리에 어떤 영향을 미치는지 잘 모르겠습니다 .
Michelle

PCA가 변수 상관 관계를 위반하는 경우 Mahalanobis 거리 대신 다른 거리 메트릭 (예 : Pearson의 거리)을 사용할 수 있습니까?
user4673

더 추천 할만한 것이 없습니다. 다른 사람이 대화에 뛰어 들기를 바랐습니다. :) PCA작동 방식과 같은 가변 감소 기법을 고려할 때 출력에 거리 측정법을 사용할 수 있는지 궁금합니다.
Michelle

나는 그 지역의 전문가가 아닙니다. 나는 단지 당신의 약간의 문제가 있음을 공유하고 싶습니다. 그리고 나는 corpcor package의 'cov.shrink'를 사용 했습니다 .
Bruno Sousa

답변:


8

모든 구성 요소를 PCA에서 유지하면 새로운 PCA 공간에서 환자 간의 유클리드 거리는 관찰 된 가변 공간에서의 마할 라 노비스 거리와 같습니다. 일부 구성 요소를 건너 뛰면 약간 변경되지만 어쨌든 변경됩니다. 여기서는 분산이 고유 값과 같은 종류가 아닌 단위 분산 PCA 구성 요소를 말합니다 (PCA 구현에 대해서는 잘 모르겠습니다).

환자 간 Mahalanobis 거리를 평가하려면 PCA를 적용하고 유클리드 거리를 평가할 수 있습니다. PCA를 적용한 후 Mahalanobis 거리를 평가하는 것은 나에게 의미가없는 것 같습니다.


Brereton, RG Mahalanobis 거리와 주요 구성 요소 점수와의 관계 Journal of Chemometrics, Wiley-Blackwell, 2015, 29, 143–145. dx.doi.org/10.1002/cem.2692 . 화학량 론의 PCA는 기본적으로 데이터의 순전 한 회전이므로 Dmitry가 참조하는 단위 분산 버전 이 아닙니다 .
SX에 불만족 cveleites

2

다음 논문을 살펴보십시오.

Zuber, V., Silva, APD, & Strimmer, K. (2012). 고차원의 게놈 전체 연관 연구에서 동시 SNP 선택을위한 새로운 알고리즘 . BMC 생물 정보학 , 13 (1), 284.

문제를 정확하게 처리합니다. 저자는 새로운 변수 중요도 측정을 사용한다고 가정하고, 이전에는 문제에 맞는 설명 변수의 상관 행렬에 대한 불이익 추정 방법을 도입했습니다. 그들은 또한 장식을 위해 Mahalanobis 거리를 사용합니다!

이 방법은 CRAN 에서 제공되는 R- 패키지 '케어'에 포함되어 있습니다.


0

PCA 스코어 (또는 PCA 결과)는 샘플과 샘플 분포 사이의 마할 라 노비스 거리를 계산하기 위해 문헌에서 사용된다. 예를 들어이 기사를 참조 하십시오 . "분석 방법"섹션에서 저자는 다음과 같이 말합니다.

형광 스펙트럼 (681)의 데이터 세트는 상관 매트릭스 (681 × 681)의 주성분 (PC)을 평가함으로써 더 낮은 차원 (11)으로 감소된다. PC 점수는 PC를 따라 원본 데이터를 투영하여 추정됩니다. 데이터 세트들 사이의 분류는 PC 점수에 대한 마할 라 노비스 거리를 계산함으로써 마할 라 노비스 거리 모델을 사용하여 수행되었다.

문헌 및 GRAMS IQ 화학 측정 소프트웨어의 도움말 메뉴에서 PCA / Mahalanobis 거리 기반 판별 분석의 다른 예를 보았습니다. 변수의 수가 사용 가능한 샘플 수보다 클 때 Mahalanobis 거리가 제대로 작동하지 않고 PCA가 변수 수를 줄이므로이 조합은 의미가 있습니다.

PCA / Mahalanobis 거리 기반 판별 분석의 대안으로 일류 분류 기계 학습 알고리즘 (예 : Isolation Forest, One-ClassSVM 등)이 있습니다. 실험실에서 데이터 전처리와 결합 된 Isolation Forest는 근적외선 스펙트럼 분류에서 좋은 결과를 얻었습니다.

약간 관련된 노트에서, 높은 차원의 데이터를 위해 PCA / Mahalanobis 거리를 사용한 특이 치 또는 참신 탐지에는 종종 Mahalanobis 거리 컷오프 계산이 필요합니다 . 이 기사 에서는 데이터가 정규 분포를 가정 할 때 컷오프를 카이 제곱 분포 임계 값의 제곱근 으로 계산할 수 있다고 제안합니다 . 이 임계 값에는 자유도 및 데이터와 관련된 확률 값이 필요합니다. 이 기사 는 저자가 계산을 위해 데이터 세트의 기능 수를 사용했기 때문에 유지되는 주성분 의 수가 임계 값을 계산하는 데 필요한 자유 도와 같다고 제안합니다 .


우리 사이트에 오신 것을 환영합니다. 답에 명시 적이 지 않기 때문에 어떻게 대답하는지 설명 할 수 있습니까?n<p질문에 상황이 제기 되었습니까?
whuber

n <p 인 경우 PCA를 사용하여 p를 줄입니다. PCA 분석 (nc)에서 유지되는 구성 요소의 수는 일반적으로 p보다 훨씬 작으며 n의 크기에 따라 n보다 작을 수도 있습니다. 따라서 PCA는 "n by p"문제를 "n by nc"문제로 변경합니다. NIR 스펙트럼을 분석하는 실험실에서 p는 일반적으로 2 천보다 큰 파장의 수를 나타냅니다. n은 훈련 샘플의 수를 나타냅니다 (~ 20 ~ 150). nc는 전형적으로 3 내지 11이다. n> nc 일 때, PCA / 마할 라 노비스 분석은 양호한 결과를 생성한다.
Cherif Diallo

1
이 문제는 PCA가하는 일이 아닙니다. 이 사이트의 다른 스레드에서 잘 다룹니다. 문제는이 경우 공분산 행렬의 특이성으로 인해 마할 라 노비스 거리를 계산할 수 없다는 것입니다. 이것이 문제에 설명 된 상황입니다.
whuber

당신의 친절한 의견에 감사드립니다. 사용자가 요청한 내용에 대해 다른 해석이있는 것으로 보입니다. 받아 들여진 대답은 "환자들 사이의 마할 라 노비스 거리를 평가하려면 PCA를 적용하고 유클리드 거리를 평가할 수 있습니다. PCA를 적용한 후 마할 라 노비스 거리를 평가하는 것은 의미가없는 것 같습니다 ..." 마지막 문장은 내가보고 인용 한 문헌과 상충된다고 생각합니다. 어떻게 생각해? 친애하는.
Cherif Diallo

1
알았다. 감사 :)!
Cherif Diallo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.