期待値と分散と共分散と相関係数について
期待値
\[E[X+Y] = E[X] + E[Y]\] \[E[XY] = E[X] \cdot E[Y]\]分散
\[V[X+Y] = V[X] + V[Y] + 2Cov[X,Y]\] \[V[X-Y] = V[X] + V[Y] - 2Cov[X,Y]\]共分散
\[Cov[X,Y] = E[(X-\mu_x)(Y-\mu_y)]\] \[Cov[X,Y] = E[XY] - \mu_x \mu_y\]共分散は偏差ベクトルの積でもある
相関係数
\[\rho = \frac{Cov[X,Y]}{\sqrt{V[X]V[Y]}}\]相関係数は共分散を分散でノーマライズしている
偏差ベクトルから相関係数を計算する
import numpy as np
x = np.random.random(10000)
y = x + np.random.random(10000) / 1.2
np.corrcoef(x, y) # 0.76571829という相関係数を得られる
xt = x - x.mean() # 偏差ベクトルを計算
yt = y - y.mean()
cov_sum = (xt*yt).sum() # 共分散を計算
xv_sum = (xt**2).sum() # 分散を計算
yv_sum = (yt**2).sum()
cov_sum/(( xv_sum * yv_sum )**0.5) # 0.76571829という結果になり一致する