데이터를 계층 적으로 클러스터하고 싶지만 유클리드 거리를 사용하는 대신 상관 관계를 사용하고 싶습니다. 또한 상관 계수의 범위는 -1에서 1까지이며, 연구에서 -1과 1이 모두 “공-조절”을 나타내므로 -1과 1을 d = 0으로 취급합니다. 따라서 계산은
d=1−|r|나는 코사인 정리를 사용하여 r 을 진정한 유클리드 d 로 변환해야한다는 별도의 질문 (k- 평균 군집화에 관한)을 읽었습니다
d=2(1−r)계층 적 군집화를 위해 상관 관계를 거리로 변환하는 가장 정확한 방법은 무엇입니까?
답변
계층 적 클러스터링 요구 사항
계층 적 군집화는 임의의 유사성 및 비 유사성 측정과 함께 사용할 수 있습니다. (대부분의 도구는 비 유사성을 기대하지만 음수 값을 허용합니다. 작거나 큰 값을 선호하는지 여부는 사용자에게 달려 있습니다.).
중심 또는 분산 (예 : Ward의 방법)을 기반으로하는 방법 만 특별하며 제곱 유클리드와 함께 사용해야합니다. (이유를 이해하려면이 연결을주의해서 연구하십시오.)
단일 연계, 평균 연계, 완전 연계는 그다지 영향을받지 않으며, 여전히 쌍별 차이의 최소 / 평균 / 최대입니다.
거리 측정과의 상관
각 피처에 μ = 0 및 σ = 1 ( 일정한 피처 를 허용하지 않음 )을 갖도록 데이터를 전처리 (
n관측치,
p피처) 하면 상관 관계가 코사인으로 줄어 듭니다.
μ=0σ=1
Corr(X,Y)=Cov(X,Y)σXσY=E[(X−μX)(Y−μY)]σXσY=E[XY]=1n⟨X,Y⟩
같은 조건에서 제곱 유클리드 거리도 코사인으로 줄어 듭니다.
dEuclid2(X,Y)=∑(Xi−Yi)2=∑Xi2+∑Yi2−2∑XiYi=2n−2⟨X,Y⟩=2n[1−Corr(X,Y)]
따라서 데이터가 퇴화되지 않는 한 계층 적 클러스터링에 상관 관계를 사용하는 것이 좋습니다. 위에서 설명한대로 전처리 한 다음 제곱 유클리드 거리를 사용하십시오.