アプリ版:「スタンプのみでお礼する」機能のリリースについて

多次元正規乱数に従うサンプルを生成したく,以下の資料を参考にし,プログラムを作成しました。生成したサンプルが本当に要求した多次元正規乱数にしたがっているか確認したいのですが,以下の手順で正しいといえるでしょうか?
例:
平均μ=[1; 2]
分散協分散行列
Σ=[1,0;
   0,1];
に従う多次元正規乱数y=[y1,y2]を全部でn=100サンプル生成した.
このとき,n=100個のy1の平均が1,n=100個のy2の平均が2となり,
n=100個のy1の分散が1,n=100個のy2の分散が1,y1とy2の共分散が0となれば正しく生成できているといってよいでしょうか?
この方法で確認したのですが,生成したサンプルが元の平均,共分散から0.1~0.2のずれがあり正しいのか不安です。


参考にした資料:
「多次元正規乱数の作成法」
http://ci.nii.ac.jp/naid/110001186428/ja

「共分散の計算の仕方」
http://www.ge.fukui-nct.ac.jp/~nagamizu/f-3-s.pdf

A 回答 (2件)

追加です。


ANo.1の例は2次元正規分布でデータ数が100個ですが、p次元でデータ数がn個の場合は、 (Yi-μ)'Σ^(-1)(Yi-μ)と自由度pのカイ二乗分布の(i-0.5)/n×100%点をプロットすることになります。

ご質問の例の
平均μ=[1; 2]
分散共分散行列
Σ=[1,0;
   0,1];
という場合なら、
(y1 - 1)^2 + (y2 - 2)^2
を計算し、昇順に並び替えてプロットすることになります。
    • good
    • 0
この回答へのお礼

懇切丁寧な回答ありがとうございます。
Q-Qプロットで確認したいと思います。

お礼日時:2010/01/11 11:40

Q-Qプロットの一つのカイ二乗確率プロットで確認するのはどうでしょうか?



100組のデータをベクトルYi(i=1~100)と表し、X'を行列Xの転置行列、X^(-1)をXの逆行列とすると、Q-Qプロットの作成方法は、
1. (Yi-μ)'Σ^(-1)(Yi-μ)を計算する。
2. (Yi-μ)'Σ^(-1)(Yi-μ)を昇順に並び替える。
3. 小さいほうからi番目のデータと自由度が2のカイ二乗分布の(i-0.5)/100×100%点を組にして、散布図を作成する。
4. プロットされた点が極端に直線から外れていれば、サンプルが本当に要求した多次元正規乱数にしたがっていないと結論付けられます。

例として、
μ=(1, 2)
Σ =
[1 0.5]
[0.5 1]
である二次元正規分布に従う乱数を100個生成し、散布図とQ-Qプロットを作成してみました。
特に大きく外れた点がないので、うまく乱数が生成できていると考えられます。
「多次元正規乱数が正しく生成されているか確」の回答画像1
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!