Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 실전 금융 머신 러닝 완벽 분석
- 금융딥러닝
- >
- 틱데이터
- 틱
- 테슬라 #tesla #ai #퀀트
- AFML
- 금융머신러닝
- 아비트라지랩 #arbitragelab #아비트라지 #arbitrage #residual #reversion #residualreverstion #hudsonthames #허드슨
Archives
- Today
- Total
알파트로스
[ML4AM] 3.Codependence (3) Information Theory Metrics 본문
Machine Learning for Asset Managers
[ML4AM] 3.Codependence (3) Information Theory Metrics
알파트로스 2024. 7. 2. 20:00
Information-Theoretic Association(정보-이론적 연관성)은 금융 데이터 분석 및 머신 러닝에서 상관 계수의 한계를 극복하는 데 중요한 역할을 한다.
이 섹션에서는 주요 정보 이론 개념인 Entropy 와 Joint Entropy, Conditional Entropy Kullback-Leibler (KL) Divergence, Cross Entropy, Mutual Information, Variation of Information에 대해 설명한다
Methodology | Symmetry | Metric | Clustering | Reason |
---|---|---|---|---|
Entropy | Yes | No | No | 엔트로피는 변수 간의 관계가 아닌 단일 변수의 불확실성을 측정한다. |
Joint Entropy | Yes | No | No | 결합 엔트로피는 두 변수의 결합된 불확실성을 측정하지만 유사성을 직접 측정하지는 않는다. |
Conditional Entropy | No | No | No | 조건부 엔트로피는 한 변수에 다른 변수가 주어졌을 때의 불확실성을 측정하며 대칭적이지 않다. |
KL Divergence | No | No | No | KL Divergence는 두 확률 분포 간의 차이를 측정하며 대칭적이지 않고 메트릭이 아니다. |
Cross Entropy | No | No | No | Cross Entropy는 두 확률 분포 간의 차이를 측정하며 대칭적이지 않다. |
Mutual Information | Yes | No | Yes | 상호 정보는 두 변수 간에 공유되는 정보의 양을 측정하며 대칭적이다. |
Variation of Information | Yes | Yes | Yes | 두 클러스터링 간의 차이를 측정하며 대칭적이고 메트릭이다. |
Entropy
- 엔트로피는 랜덤 변수 \(X\)의 불확실성을 정량화하는 척도이다. 높은 엔트로피는 변수 \(X\)의 값이 예측하기 어렵다는 것을 의미하며, 낮은 엔트로피는 예측하기 쉽다는 것을 의미한다.
\(p(x)\)는 변수 \(X\)가 값 \(x\)를 가질 확률
\[
H(X) = - \sum_{x \in S_X} p(x) \log p(x)
\]
Joint Entropy
- 두 변수의 공동 불확실성을 측정한다.
\(p(x, y)\)는 \(X\)와 \(Y\)의 결합 확률
\[
H(X, Y) = - \sum_{x \in S_X} \sum_{y \in S_Y} p(x, y) \log p(x, y)
\]
Conditional Entropy
- 변수 \(Y\)가 주어졌을 때 변수 \(X\)의 조건부 엔트로피는 변수 \(Y\)의 값이 알려졌을 때 변수 \(X\)의 불확실성을 측정한다
\[
H(X|Y) = H(X, Y) - H(Y)
\]
Kullback-Leibler (KL) Divergence
- 두 확률 분포 \( p \)와 \( q \) 사이의 KL 다이버전스는 \( p \)가 참 분포이고 \( q \)가 근사 분포일 때, \( q \)가 \( p \)로부터 얼마나 벗어나는지를 측정한다
\[
D_{KL}(p \parallel q) = \sum_{x \in S_X} p(x) \log \left( \frac{p(x)}{q(x)} \right)
\] - 특성
- 비대칭성: \( D_{KL}(p \parallel q) \neq D_{KL}(q \parallel p) \).
- 삼각 부등식을 만족하지 않기 때문에 메트릭(metric)은 아니다
- Variational Inference)에서 자주 사용
Cross Entropy
- 두 확률 분포 \( p \)와 \( q \) 사이의 교차 엔트로피는 참 분포 \( p \) 대신 근사 분포 \( q \)를 사용하여 변수 \( X \)의 정보 내용을 평가할 때의 불확실성을 측정합니다.
\[
H_C(p \parallel q) = - \sum_{x \in S_X} p(x) \log q(x) = H(X) + D_{KL}(p \parallel q)
\]
Mutual Information
- \( Y \)를 아는 것으로 \( X \)의 불확실성이 얼마나 감소하는 지(information gain)를 나타내는 지표이다
\[
I(X;Y) = H(X) - H(X|Y) = H(X) + H(Y) - H(X,Y)
\] - 특성
- Non-negativity : \( I(X;Y) \geq 0 \) : Mutual Information은 항상 0 이상이다.
- Symmetry : \( I(X;Y) = I(Y;X) \) :대칭적이다
- Self-information : \( I(X;X) = H(X) \) : \( X \)와 \( X \) 사이의 Mutual Information은 \( X \)의 엔트로피와 같다.
- 삼각 부등식을 만족하지 않기 때문에 Metric은 아니다
- \( I(X; Y) \geq 0 \), \( I(X; X) = H(X) \)이며, 두 변수가 독립적일 때 \( I(X; Y) = 0 \)이다.
- 상호 정보가 0이면 두 변수는 독립적이며, 값이 클수록 두 변수 간의 연관성이 크다
- 클러스터링에서의 활용
MI는 대칭이고, 상대 변수의 정보를 아는 것이 해당 변수의 불확실성을 얼마나 줄여주는 지에 대한 지표이므로, 유사도 측정에 사용된다. 따라서 clustering의 input으로 활용이 가능하다. 다만 그 값은 두 변수의 엔트로피에 따라 달라질 수 있다. 즉, MI의 절대값 자체는 두 변수 간의 상대적인 의존성 강도를 나타내지만, 엔트로피 값이 큰 변수들 간의 MI는 작은 변수들 간의 MI보다 클 수 있다. 따라서, MI 값을 직접 비교하거나 이를 기반으로 Clustering를 수행할 때, 엔트로피 값의 차이를 고려하지 않으면 공정하지 않을 수 있습니다. 즉 정규화가 필요하다- Normalized Mutual Information (NMI)
이는 MI를 두 변수의 엔트로피의 기하평균으로 나누어 정규화하는 방법이다. NMI는 0에서 1 사이의 값을 가지며, 1에 가까울수록 두 변수 간의 의존성이 강함을 나타낸다.
\[
\text{NMI}(X; Y) = \frac{I(X; Y)}{\sqrt{H(X) \cdot H(Y)}}
\]
ex) 두 변수 \(X\)와 \(Y\)가 있고, MI가 0.8이라고 가정하고, \(H(X) = 2.0\)이고 \(H(Y) = 1.5\)라면, 정규화된 MI (NMI)는 다음과 같이 계산된다
\[
\text{NMI}(X; Y) = \frac{0.8}{\sqrt{2.0 \cdot 1.5}} = \frac{0.8}{\sqrt{3.0}} \approx 0.46
\] - Adjusted Mutual Information (AMI)
AMI는 무작위로 군집화된 데이터셋에 대해 MI가 가지는 편향을 보정한 값이다. - Max Normalization
MI를 두 변수의 엔트로피 중 작은 값으로 나누어 정규화하는 방법이다
\[
\text{Normalized MI}(X; Y) = \frac{I(X; Y)}{\min(H(X), H(Y))}
\]
- Normalized Mutual Information (NMI)
- https://gmarti.gitlab.io/qfin/2020/07/01/mutual-information-is-copula-entropy.html
Variation of Information
- 정보 변이는 두 변수 \( X \)와 \( Y \) 간의 정보 차이를 측정합니다:
\[
VI(X; Y) = H(X|Y) + H(Y|X) = H(X) + H(Y) - 2I(X; Y)
\] - 특성
- 정보 변이는 \( VI(X; Y) = 0 \)일 때 두 변수가 동일함을 의미하며, 정보 변이 값이 클수록 두 변수 간의 차이가 크다
- 비대칭성, 비음수성, 삼각 부등식을 만족하여 메트릭의 성질을 가진다
Discretization은 연속형 데이터를 이산형 데이터로 변환하여 정보 이론적 개념을 적용하는 중요한 과정이다. 이를 통해 데이터의 불확실성을 보다 정확하게 측정할 수 있다. 적절한 bin 개수 설정은 특히 데이터의 특성과 상관관계에 따라 중요하며, Hacine-Gharbi 등의 연구를 참고하여 최적화를 진행할 수 있다
- Shannon의 미분 엔트로피
- probability distribution functions \(f_X(x)\)를 가지는 continuous random variable \(X\)의 엔트로피
\[
H[X] = - \int_{-\infty}^{\infty} f_X(x) \log f_X(x) \, dx
\] - Gaussian random variable\(X\)의 엔트로피
\[
H[X] = \frac{1}{2} \log [2 \pi e \sigma^2] \approx 1.42
\]
- probability distribution functions \(f_X(x)\)를 가지는 continuous random variable \(X\)의 엔트로피
- probability approximation
- Finite sample의 경우, 관측된 값 \(\{x\}\)의 범위를 \(B_X\)개의 동일한 크기의 구간으로 나누어 \( \Delta_X = \frac{\max \{x\} - \min \{x\}}{B_X} \)로 정의하면 엔트로피를 다음과 같이 근사할 수 있다.
\(f_X(x_i)\)는 \(i\)번째 구간 내의 관측 빈도를 나타낸다.
\[
H[X] \approx - \sum_{i=1}^{B_X} f_X(x_i) \log [f_X(x_i)] \Delta_X
\] - \(p(x_i)\)를 \(i\)번째 구간 \(\Delta_X\) 내에서 관측될 확률로 정의하면 \(p(x_i)\)를 다음과 같이 근사할 수 있다
\[
p(x_i) \approx f_X(x_i) \Delta_X
\] - 이는 다음과 같이 추정할 수 있다. \(N_i\)는 \(i\)번째 구간 내의 관측치 수이고, \(N = \sum_{i=1}^{B_X} N_i\)이다.
\[
\hat{p}(x_i) = \frac{N_i}{N}
\]
- Finite sample의 경우, 관측된 값 \(\{x\}\)의 범위를 \(B_X\)개의 동일한 크기의 구간으로 나누어 \( \Delta_X = \frac{\max \{x\} - \min \{x\}}{B_X} \)로 정의하면 엔트로피를 다음과 같이 근사할 수 있다.
- Discretized estimator of entropy
- Marginal Entropy Estimator
\[
\hat{H}[X] = - \sum_{i=1}^{B_X} \frac{N_i}{N} \log \left[\frac{N_i}{N}\right] + \log[\Delta_X]
\] - Joint Entropy Estimator
\[
\hat{H}[X, Y] = - \sum_{i=1}^{B_X} \sum_{j=1}^{B_Y} \frac{N_{i,j}}{N} \log \left[\frac{N_{i,j}}{N}\right] + \log[\Delta_X \Delta_Y]
\] - 이로부터 conditional entropies, mutual information and variation of information를 도출할 수 있다.
하지만 결과는 \(B_X\)와 \(B_Y\) 선택에 따라 bias될 수 있다.
B가 너무 작으면, 결국 범위가 커져, 마지막 로그 값도 커진다
B가 너무 크면, 대부분의 확률 값이 0에 가까워 entropy의 estimation이 불안정해진다
- Marginal Entropy Estimator
- Optimal Binning
- Marginal Entropy의 경우, Hacine-Gharbi et al. (2012)는 다음과 같은 최적 구간 설정을 제안했다
\[
B_X = \text{round}\left[\frac{\zeta}{6} + \frac{2}{3 \zeta} + \frac{1}{3}\right]
\]
\[
\zeta = \sqrt[3]{8 + 324N + 12\sqrt{36N + 729N^2}}
\] - Joint Entropy의 경우, Hacine-Gharbi와 Ravier (2018)는 다음과 같은 최적 구간 설정을 제안했다
여기서 \(\hat{\rho}\)는 \(X\)와 \(Y\) 간의 추정된 상관 계수이다
\[
B_X = B_Y = \text{round}\left[\frac{1}{\sqrt{2}} \sqrt{1 + \sqrt{1 + \frac{24N}{1 - \hat{\rho}^2}}}\right]
\]
B의 갯수는 N이 커질수록, 상관관계의 절대값이 커질수록 커진다.
상관관계의 절대값이 크다는 것은 두 변수의 dependence를 명확히 보려면 더 작게 나누어봐야 한다는 것을 의미한다
- Marginal Entropy의 경우, Hacine-Gharbi et al. (2012)는 다음과 같은 최적 구간 설정을 제안했다
# 단변량 및 이변량 사례에서 최적 구간 수 \(B_X\)와 \(B_Y\)를 추정하는 함수
def numBins(nObs, corr=None):
if corr is None: # 단변량 경우
z = (8 + 324 * nObs + 12 * (36 * nObs + 729 * nObs**2)**0.5)**(1/3.)
b = round(z/6 + 2/(3*z) + 1/3)
else: # 이변량 경우
b = round(2**-0.5 * (1 + (1 + 24 * nObs / (1 - corr**2))**0.5)**0.5)
return int(b)
# 예시 사용
bXY = numBins(x.shape[0], corr=np.corrcoef(x, y)[0, 1])
'Machine Learning for Asset Managers' 카테고리의 다른 글
[ML4AM] 3.Codependence (6) Distance between Two Partitions (0) | 2024.07.02 |
---|---|
[ML4AM] 3.Codependence (4) Copula-Based Metrics (0) | 2024.07.02 |
[ML4AM] 3.Codependence (2) Correlation Based (Distance) Metrics (0) | 2024.07.02 |
[ML4AM] 3.Codependence (1) Correlation (0) | 2024.07.01 |
[ML4AM] 3.Codependence (0) motivation (0) | 2024.07.01 |