본문 바로가기

공부 : 금융공학, 금융, 통계, 공학, 경제 등

Hierarchical Risk Parity (HRP) 7. Euclidean Distance Matrix

 오랜만에 수식을 봐서 머리가 지끈할 수도 있으니, n차원 좌표계에서의 직선 거리(=Euclidean Distance)를 피타고라스 정리에서부터 유도해보자.

 우리가 아는 피타고라스 정리는 다음과 같다.
직각삼각형의 빗변 c와
나머지 두 변 a, b에 대해, 
c**2 = a**2 + b**2 … (1),
또한
c = (a**2 + b**2)**(1/2) …(2)
 도 자연스레 유도할 수 있을 것이다. ( ‘**’은 제곱 기호이다.) 


 또한 이를 응용한 좌표 상의 거리 공식인

두 점 A(x1,y1), B(x2,y2)에 대해
Distance(A,B) 
= ((x1-x2)^2 + (y1-y2)^2)^(1/2)…(3)
 
또한 유도할 수 있을 것이다. (x축, y축 그리고, 두 점 찍고, 두 점 사이에 직선을 긋고, 나머지 두 변이 각각 x/y축에 평행한 직각삼각형을 그려 보자. 이후 여기에 (2)를 대입해보자.)  

 혹시나 고등학교 수학이 기억나는 천재들이 이 글을 읽고 있다면,

 삼차원 공간 (x,y,z)에서
 두 점 A(x1,y1,z1), B(x2,y2,z2) 사이의 거리 D에 대해
D = ( (x1-x2)**2
+ (y1-y2)**2
+ (z1-z2)**2 ) ** (1/2) …(4)

 또한 기억 날 것이다. (마찬가지로 점 다 찍고 D를 빗변으로 삼되, 나머지 두 변을 z축과 (3)에서 구했던 직선으로 가정하자. 정 모르겠으면 구글에 ‘3차원 점 거리’라고 검색하자.)

 정말 혹시나 이를 일반화할 수 있는 천재가 있다면,
 N차원 공간 (D1, D2, D3, …, Dn)에 대해
 D = ( sum( (An-Bn)**2))**(1/2) …(5)

 또한 유도할 수 있을 것이다.

 이와 같이 N차원 좌표계에서 (5)와 같이 정의된 거리를 유클리드 거리, Euclidean Distance라고 한다.

 또한 n개의 점이 존재할 때, nxn 행렬 D의 원소 d_i,j가 
d_i,j = Euclidean Distance(I,J)
 인 행렬을 유클리드 거리 행렬, Euclidean Distance Matrix라고 정의한다.