ML for ASSET MANAGERS

[Machine Learning for Asset Managers] Ch 4. Optimal Clustering (1)

LunaMooN 2021. 10. 15. 21:30

4.1 Motivation

4.2 Proximity Matrix

  • Similarity 또는 dissimilarity 를 나타내는 matrix
    • 예를 들면, correlation, mutual information 또는 3장에서 배웠던 다양한 distance metrics가 있음
    • 반드시 metric일 필요는 없음
    • Undirected graph일 수 있음
  • Normalize 중요

4.3 Types of Clustering

  • Cluster 종류

    1. Connectivity
      • distance에 기반
      • ex. hierachical clustering
    2. Centroids
      • ex. K-means
    3. Distribution
      • ex. Gaussian Mixture
    4. Density
      • connected dense regions
      • ex. DBSCAN or OPTICS
    5. Subspace
      • 2차원에 clustering 하는 방법 (Features and observations)
  • 종류에 따라 input data가 similarity 또는 dissimilarity 로 달라짐/ 알맞은 input 넣는것이 중요

  • 차원의 저주에 대한 해결 필요

    • 예를 들어 PCA 로 차원을 줄인 새 데이터를 사용
    • CH2 방법론 사용

4.4 Number of Clusters

4.4.1 Observations Matrix

  • N variables that follow a multivariate Normal distribution characterized by a correlation matrix $\rho$

  • Strong common component가 있는 경우 2장에서 다뤘던 detoning 방법 사용할 것

  • Correlation clustering 접근 방식

    • (a) $d_{i,j} = \sqrt{\frac{1}{2} \left(1 - \rho_{i,j} \right)}$: distnace metrics 적용
    • (b) Correlation matrix를 X matrix 그대로 사용
    • (c) Derive X matrix $X_{i,j} = \sqrt{\frac{1}{2} \left(1 - \rho_{i,j} \right)}$: distance of distances approach
  • 이 섹션에서는 observation matrix $X_{i,j} = \sqrt{\frac{1}{2} \left(1 - \rho_{i,j} \right)}$ 로 정의

    • Distance matrix 처럼 보이지만 observation matrix 임. distances를 다시 구할 수 있음.

4.4.2 Base clustering

  • Clustering 할 때 몇개의 cluster가 가장 optimal 한지 구하는 것이 목적: "Opitmal K"

  • silhouette score introduced by Rousseeuw(1987) 이용하여 K 구하기

    • $S_i = \frac{b_i - a_i}{max \lbrace {a_i, b_i \rbrace}} ; i = 1,...,N $
    • $a_i$: i와 같은 클러스터 안의 다른 요소들 사이의 average distance
    • $b_i$: i와 가장 가까운 클러스터 요소들 사이의 average distance
    • $a_i$ 는 작을수록, $b_i$ 는 클수록 좋음
    • $S_i = 1$ 이면 잘 된 클러스터, -1 이면 poor
  • $q = \frac{E [ \lbrace S_i \rbrace ]}{\sqrt{V [ \lbrace S_i \rbrace ]}}$

    • Cluster quality
    • 높을수록 좋음
  • K=2,... max 까지 Loop 돌리면서 $q$ 값이 가장 클 때의 K값을 선택

  • Double loop

    • First loop: Given initialization, 높은 q 값 찾기
    • Second loop: 첫번째 루프를 init를 바꾸면서 반복
    • 최종적으로 가장 높은 q 값 찾기

4.4.3 Higher-level Clustering

  • Clustering 개선

    • 4.4.2에서 클러스터링을 했을 때 q의 평균보다 작은 클러스터들을 모아서 평균보다 작은 클러스터가 없을 때까지 계속 클러스터링 함.
  • 방법

    • $K_1 = \lbrace q_k | \bar{q}, k=1,...K \rbrace \quad K_1 < K$
    • If $K_1 \geq 2$, then rerun the clustering of the items
    • 클러스터를 반복할 때마다 평균 cluster quality q 보다 작은 클러스터는 다시 클러스터링을 진행함. 결국 한개의 클러스터가 남을 때까지 클러스터링을 다시해서 quality를 높임




출처: Marcos López de Prado, 『Machine Learning for Asset Managers, Cambridge University Press(2020) (p.52-64)