現在、平均ベクトルと共分散行列多変量正規分布を持つ次元のランダム変数値をシミュレートしようとしています。X μ = (μ 1、。。。、μ N )T S
逆CDF法に似た手順を使用したいと考えています。つまり、最初に次元の一様なランダム変数を生成し、次にこの分布の逆CDFにプラグインして、値Xを生成します。
手順が十分に文書化されておらず、MATLABのmvnrnd関数とウィキペディアで見つけた説明にわずかな違いがあるため、問題が発生しています。
私の場合、分布のパラメーターもランダムに選択しています。特に、平均分布一様分布ます。次に、次の手順を使用して共分散行列を作成します。
下三角行列作成L L(I、I)= 1のための私は1..N =及びLを(I、J)= U(-1,1)のために 、I <J
してみましょうS = LL ^ T L ^ Tはの転置表すLを。
この手順により、が対称かつ正定であることを確認できます。また、S = LL ^ Tになるように下三角行列Lを提供します。これは、分布から値を生成するために必要だと思います。
ウィキペディアのガイドラインを使用すると、次のようにN次元のユニフォームを使用してXの値を生成できるはずです。
ただし、MATLAB関数によると、これは通常次のように行われます。
ここでの逆CDFである次元、分離、正規分布は、両方の方法の唯一の違いは、単に使用するかどうかである又は。
MATLABまたはWikipediaを使用する方法はありますか?それとも両方とも間違っていますか?