<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />이 기사는 JMPer 케이블, 30 호, 2015 년 여름 .
John Sall 저 존슨 , SAS의 공동 창립자 겸 부사장
다 변수 메소드를 사용하면 넓은 (수천 열) 데이터가있을 때 다르게해야합니다.
병목 현상
넓은 데이터에 대한 전통적인 접근법에 대한 아킬레스 건은 공분산 또는 상관 행렬로 시작하는데, 이는 행 수의 제곱으로 증가합니다. 예를 들어, 유전체학 연구는 광범위한 데이터를 갖는 경향이 있습니다.
- 하나의 유전체학 연구에서는 10,787 개의 유전자 발현 컬럼이 있지만 230 개의 행만 존재합니다. 그 공분산 행렬은 5 천 8 백만 개 이상의 요소를 가지고 있으며 465MB의 메모리를 필요로합니다.
- 우리가 연구하는 또 다른 연구는 249 개체에 49,041 개의 유전자가 있으며, 결과적으로 9.6GB의 메모리를 사용하는 공분산 행렬이 생성됩니다.
- 또 다른 연구는 1,824,184 개의 유전자 칼럼을 가지고 13.3TB의 공분산 행렬을 산출했다. 컴퓨터는 그만큼의 메모리를 가지고 있지 않습니다. 사실 많은 디스크 공간이 없습니다.
이러한 넓은 문제에 대한 기억이 있더라도 공분산 행렬을 계산하는 데는 n * p의 순서로 매우 오랜 시간이 걸릴 것입니다 2 여기서 n은 행의 수이고, p는 열의 수입니다. 또한 공분산 행렬을 반전시켜야 할 때 더욱 악화됩니다. 공분산 행렬은 p 삼 . 또한 데이터의 열보다 행 수가 훨씬 적기 때문에 공분산 행렬은 매우 특이합니다.
따라서 이러한 상황에서는 다 변수 방법이 비현실적이거나 불가능하다고 생각할 수 있습니다. 다행스럽게도, 거대한 공분산 행렬을 사용할 때 얻을 수있는 것과 동일한 해답을 산출하는 동시에 실제 문제가 아니라 합리적으로 빠른 문제를 만드는 또 다른 방법이 있습니다.
SVD
고도로 다 변수적인 공간에서 유효한 차원의 수는 행 수의 순서에 따라 결정됩니다. 행의 수는 열 수보다 훨씬 적기 때문입니다. 넓은 행렬의 모든 변형은 주 구성 요소, 즉 양의 분산과 연관된 요소, 즉 0이 아닌 고유 값으로 나타낼 수 있습니다. (표준화 된) 데이터의 특이 값 분해를 사용하여 주요 구성 요소를 얻는 또 다른 방법이 있습니다. 이제 당신이 주 구성 요소 공간에 있으므로이 주 구성 요소의 차원은 작습니다. 사실, 모든 계산은 주성분의 공분산 행렬이 대각이기 때문에 단순화됩니다. 이것은 반전하기 쉽습니다.
X가 표준 데이터의 n x p 행렬이고, p가 n보다 훨씬 크기 때문에 공분산 행렬은 p 행렬 계산 x'X / n입니다.
SVD는 임의의 X를 회전, 크기 조정 및 또 다른 회전 인 변환으로 표현합니다.
X = U diag (M) V '
여기서 U는 직교 열의 m 행렬이고, M은 m 개의 양의 특이 값 벡터이고 V는 직교 열의 m 행렬입니다. 당신이 공분산 행렬의 고유 값 분해를 취한다면, 그것의 고유 값은 M이 될 것입니다. 2 고유 벡터는 V가 될 것이므로 주 구성 요소에 M과 V 만 필요하기 때문에 공분산 행렬의 고유 값 대신 데이터의 SVD를 수행 할 수 있습니다. p가 수천 개에 있고 n이 수백 개에 있다면 , 이것은 훨씬 빠릅니다. 주요 구성 요소는 X * V입니다.
예를 들어 10,787 열 230 행의 문제에서 상관 행렬의 주요 구성 요소는 81 분이 소요되지만 SVD는 7.5 초 밖에 걸리지 않으며 600 배 이상 빠릅니다. 나는 249 개의 행에 걸쳐 1,824,184 개의 열을 가진 유전체 데이터 세트에서 그것을 시도했다. 필자는 6 코어 Mac Pro에서 JMP 12를 사용하여 데이터의 주요 구성 요소를 단 94 분 만에 할 수있었습니다. 다른 방법으로하는 것은 분명히 불가능했을 것입니다.
판별 분석
판별 분석을 할 때 주 과제는 각 지점에서 각 그룹의 (다변량) 평균까지의 거리를 계산하는 것입니다. 그러나 그 거리는 단순한 유클리드 거리가 아니라 거리의 다변량 형태 인 역원 공분산 행렬을 사용하는 마할 라 노비스 거리입니다.
그러나 표준화 된 데이터에 대해 생각해보십시오. 주요 구성 요소는 동일한 데이터이지만 다양한 각도로 회전되었습니다. 차이점은 원래 데이터에는 10,000 개의 열이있을 수 있지만 주 구성 요소에는 와이드 데이터의 경우에만 수백 개 밖에 없다는 것입니다. 따라서 점 사이 또는 점과 다 변수 평균 사이의 거리를 측정하려면 중심 ), 우리는 훨씬 적은 차원에서 그것을 할 수 있습니다. 뿐만 아니라 주 좌표는 상관 관계가 없습니다. 즉, Mahalanobis 거리 계산의 중간에있는 행렬은 대각선이므로 거리는 개별 좌표 거리의 제곱의 합입니다.
우리는 평균 중심 데이터의 주요 구성 요소를 그룹별로 취합니다. 그런 다음이 새로운 축소 치수 데이터에 평균을 다시 추가합니다. 변환 된 평균은 원래 그룹 평균 변환의 주요 구성 요소입니다.
예
230 행과 10,787 유전자 발현으로 Microarray Quality Consortium에서 사용하는 벤치 마크 인 유방암 게놈 표현 데이터 세트가 있습니다. Wide Line 방식을 사용하는 판별 분석은 5.6 초 (Mac Pro의 경우)에 불과하며 가장 어려운 카테고리 인 ER_status (그림 1)에서 13.7 %의 교차 검증 오 분류 비율을 산출합니다. 이러한 오 분류 율은 다른 방법이 비싸다는 점을 고려하여이 문제에 대해 달성 된 최선의 결과에 가깝습니다.

그림 1 Principal Components 플랫폼에서의 판별 분석
지금까지 Discriminant, Principal Components, Hierarchical Cluster 및 누락 된 가치 전가 방식에서 SVD 기반의 다 변수 옵션을 구현했습니다. 우리는 그것을 더 많이 사용하고 고도로 다 변수 분석에 유용한 다른 유사한 방법을 탐구하는 데 실험하고 있습니다. "빅 데이터"를 둘러싼 과대 광고는 많은 수의 행에 관한 것이지만 많은 수의 열도 점점 중요 해지고 있습니다.