統計的な数値実験をしているときに、相関のある乱数を生成したいことがあります。ちょっと検索するとコレスキー分解を使った方法が出てきます。これはこれで変数の数がいくつでも対応できるやり方なのですが、僕が欲しかったのは $2$ 変数だけだったので、ここではもうちょっと泥臭いやりかたで説明します1。 概要 平均がゼロで分散が等しい独立な乱数 $X$ と $Y$ があるとします。このとき、$X$ と相関係数 $\rho$ で相関し、同じ分散を持つ乱数 $Z$ は のように作れます。 この記事では、 理論:なぜこれで相関がある乱数が作れるのか 検証:Python で実際にやってみる について書いていきます。 理論 独立な乱数 $X$ と $Y$ について、平均はそれぞれゼロ、分散は同じ値で $\sigma^2$ とします。$X$ と $Y$ は独立なので、共分散や相関係数はゼロです。 また、$X$ と