물리학 자들이 중첩 마법을 가질 수 있다면, 통계학 자도 그렇게 할 수 있습니다. 세 그룹에서 세 변수에 걸쳐 많은 점을 가지고 있다고 가정합니다. 각 그룹의 점수를 계산해야합니다. 그러나 각 그룹의 출발점을 알 수는 없습니다. 그리고, 그런데, 각 그룹은 모든 변수에서 동일한 평균을가집니다. 이 블로그 항목의 나머지 부분을 읽기 전에이를 수행하는 방법을 고안해보십시오.
그룹화 포인트는 일반적으로 클러스터 분석의 일입니다. 컴퓨터 과학자들은 이것에 대한 더 다채로운 이름을 가지고 있습니다 : 감독되지 않은 학습. 그것은 간단합니다. 서로 가까운 지점이 클러스터가되도록 데이터를 클러스터링하면됩니다. 가장 가까운 클러스터에 각 포인트를 할당하고 각 클러스터의 포인트를 계산하면 완료됩니다.
그러나 이러한 클러스터링 방법은 클러스터가 겹치도록 허용하지 않으며 동일한 센터를 가질 확률이 훨씬 적습니다. 따라서 일반적인 클러스터링만으로는이 작업을 수행 할 수 없습니다.
문제를 해결하기 전에 먼저 데이터에 대해 좀 더 구체화하고 문제 데이터 세트를 생성해야합니다. 우리는 데이터에 다변량 정규 분포를 가질 것이고 각 클러스터는 같은 평균을 가질 것이지만 각 그룹마다 다른 공분산 구조를 가짐으로써 이들을 구별 할 것입니다. 간단히 말하자면, 우리는 상관없는 다 변수 일반 데이터를 생성 할 것입니다. 세 개의 클러스터 각각은 해당 클러스터에 고유 한 한 구성 요소 방향으로 더 큰 분산을가집니다.

데이터를 생성하는 JSL 스크립트
그래서 우리는 테이블을 생성합니다.이 경우에는 각 클러스터에 대해 각 변수에 대해 1의 분산을 사용합니다. 단, 각 클러스터에는 분산 대신 4가있는 하나의 구성 요소가 있습니다. 결과적으로 각 그룹은 동일한 센터를 갖더라도 각 그룹이 다른 방향으로 튀어 나옵니다. 다음은 일부 데이터를 작성하는 데 사용 된 JSL 코드입니다.

3 그룹에 대한 타원체 윤곽선
다음은이 작업을 통해 얻은 다 변수 일반 밀도 윤곽의 그림입니다.
큰 X 및 Y 분산을 갖는 그룹은 데이터의 35 %를 가지며, 큰 Z 분산을 갖는 그룹은 데이터의 30 % 만 갖는다는 것을 주목하십시오. 이 방법이 비율을 잘 예측하면 문제가 해결됩니다. 우리는 각 포인트를 식별 할 필요가 없습니다. 단지 비율 또는 각 그룹의 숫자를 계산할 필요가 있습니다.
비밀은 다음과 같습니다. 일반적인 계층 적 또는 k-means 클러스터를 수행하는 대신, 우리는 정상적인 혼합을 수행합니다. 데이터의 가능성을 극대화하기 위해 각 그룹의 평균, 분산, 공분산 및 상대 비율을 맞추는 것입니다. 이것은 JMP에서 Chris Gotwalt가 구현했습니다. 결과는 다음과 같습니다.

정상적인 혼합물 결과
우리가 얼마나 잘했는지 주목하십시오. 비율은 데이터를 생성하는 데 사용 된 비율 인 .35, .35, .30에 매우 근접한 세 그룹에 대해 .343, .351 및 .308입니다. 평균과 표준 편차 및 상관 관계도 비슷합니다. 문제 해결됨. 다음은 가장 가능성있는 그룹 멤버십으로 채색 된 점수가있는 데이터의 그림입니다.

가장 가능성이 높은 그룹의 색칠 된 포인트
이 마술은 유용합니까? HIV 케이스의 감염률을 측정 할 때 매우 중요한 카운팅 유형이 있다는 것이 밝혀졌습니다. CD4라는 단백질을 나타내는 특별한 종류의 백혈구 - 도우미 T 세포 -가 있습니다. HIV 감염은 다른 백혈구와 비교하여 얼마나 많은 세포가 혈액 샘플에 존재하는지에 의해 부분적으로 측정됩니다. 서로 다른 유형의 백혈구가 서로 다른 형광 염료를 사용하여 바인딩 사이트에 태그를 지정함으로써 스스로 식별 할 수 있음이 밝혀졌습니다. 그런 다음 세포를 포함하는 액체 방울의 작은 제트를 만드는 유동 세포 계측기라는 도구를 통해이를 보냅니다. 서로 다른 파장의 여러 레이저가 물방울을 통해 쏘이고, 각 물방울이 어떻게 형광을 나타내는지 측정됩니다. 결과는 거대한 데이터 세트입니다. 아마도 파장이 서로 다른 12 개의 강도 측정에서 50 만 개의 행이 될 수 있습니다. 데이터에는 각 셀에 대한 행이 있습니다. 서로 다른 셀은 겹치는 클러스터를 형성하며 각 클러스터의 셀을 계산해야합니다. 이를 수행하는 현재의 방법은 임의로 클러스터별로 다각형을 드래그하여 그룹을 눈으로 구분하는 것입니다. 계수를하기 위해 정상적인 혼합물을 사용하면 훨씬 객관적인 방법을 제공하고 데이터 재현성을 향상시킬 수 있습니다. 그러나 클러스터에 속하지 않는 많은 방해 지점이 있습니다. 문제 없어. Chris Gotwalt의 루틴에는 특이점을 처리하는 (Huber) 강력한 방법이 포함되어 있습니다. 50 만 포인트 12 차원에서이 작업을 수행하는 것은 현재 매우 비싸므로이 작업 속도를 높이는 방법에 대한 아이디어를 찾고 있습니다.
꽤 좋은 마술.
롭 호수 쓴 :
당신은 "50 만 포인트 12 차원에서 이것을하는 것은 현재 꽤 비쌉니다." "비싼 것은 무엇입니까? 데이터 수집 또는 데이터 분석?
나는 당신이 명확하게 할 때 공유 할 아이디어가 있습니다.
건배,
롭 호수