1. 多変量正規分布に従う確率変数をPythonで作成する

さて、多変量正規分布に従う確率変数を作成したことがたまにありますよね?

今回はPythonで作成してみます。

多変量標準正規分布に従う確率変数を作成します。

このデータは英語のサイトではWhite dataと呼ばれたりWhitening transformationの文脈で使用されていますが、日本語のサイトではwhite dataで検索しても日本語のサイトでは情報を見つけることができませんでした。日本では一般的な呼称ではないのでしょうか?

共分散行列の性質について勉強を進めていたところWhite dataが出てきたの、Pythonで実際に作成してみよう!と考えた次第です。

2. scipy.stats.multivariate_normal

を使用して確率変数を作成します。

3. method rvs

method rvs を使用して確率変数を作成します。

下記のパラメータを指定することで作成できます。

  1. mean

  2. cov

  3. size

  4. random_state

3.1. mean

今回は標準正規分布を使用するので平均は0。

3.2. cov

今回は標準正規分布を使用するので単位行列。 === size

作成するサンプル数です。任意の数を指定します。

3.3. random_state

再実行しても出力結果が変わらないようにseedとして任意の数を指定します。

4. 2変量標準正規分布に従う確率変数のサンプル1000個を作成する

試しに2変量の確率変数を作成してみます。

create_random_variable.py
import numpy as np
from scipy.stats import multivariate_normal


random_state = 123
M = 2
size=1000

E = np.eye(M)
m = np.zeros(M)

X = multivariate_normal.rvs(
    mean=m,
    cov=E,
    size=size,
    random_state=random_state
)

5. M変量多変量正規分布に従う確率変数を作成する

上記のコードのMの値を任意の数に変更すればM変量の確率変数を作成することができます。

6. まとめ

今回は多変量正規分布に従う確率変数をPythonで作成してみました。

今回は以上です。