본문 바로가기

Research

랜덤변수 선형변환

고등학교 때 쯤, 랜덤변수를 선형변환하면 평균과 표준편차가 어떻게 변한다는 사실을 배웠던 거 같다.

$$\mathbb{E}[aX] = a\mathbb{E}[X], \;\;\mathrm{Var}[aX]=a^2\mathrm{Var}[X]$$

그럼 샘플링된 값들을 선형변환하면 그 값들의 평균과 표준편차는 어떻게 되는 걸까..

심심해서 한번 해봤다.

import jax
import jax.numpy as jnp

key = jax.random.PRNGKey(seed=0)
x = jax.random.normal(key=key, shape=(100000,))
print(f"Mean: {jnp.mean(x):.4f}, Variance: {jnp.var(x):.4f}, Standard deviation: {jnp.std(x):.4f}")
x = 0.1 * x
print(f"Mean: {jnp.mean(x):.4f}, Variance: {jnp.var(x):.4f}, Standard deviation: {jnp.std(x):.4f}")

결과는 다음과 같다.

Mean: 0.0051, Variance: 0.9989, Standard deviation: 0.9994
Mean: 0.0005, Variance: 0.0100, Standard deviation: 0.0999

샘플링된 값에 0.1을 곱했더니 분산이 0.01배로 줄어드는 걸 확인했다.

샘플링된 값에도 같은 효과가 발휘되는 것 같다.