Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

mvnrnd

多変量正規分布の乱数

説明

R= mvnrnd(mu,Sigma,n)は,平均ベクトルmuおよび共分散行列Sigmaをもつ同じ多変量正規分布から選択したn個の乱数ベクトルが格納されている行列Rを返します。詳細は、多変量正規分布を参照してください。

R= mvnrnd(mu,Sigma)は、muで指定された平均およびSigmaで指定された共分散をもつ m 個の独立した d 次元多変量正規分布から抽出した乱数ベクトルが格納されている m 行 d 列の行列Rを返します。Rの各行は、単一の多変量正規乱数ベクトルです。

すべて折りたたむ

同じ多変量正規分布から乱数を生成します。

muSigmaを定義し、100 個の乱数を生成します。

mu = [2 3]; Sigma = [1 1.5; 1.5 3]; rng('default')% For reproducibilityR = mvnrnd(mu,Sigma,100);

乱数をプロットします。

plot(R(:,1),R(:,2),'+')

Figure contains an axes. The axes contains an object of type line.

5 つの異なる 3 次元正規分布から無作為に抽出します。

分布の平均muと共分散Sigmaを指定します。すべての分布で同じ共分散行列を使用し、平均ベクトルは変化させます。

firstDim = (1:5)'; mu = repmat(firstDim,1,3)
mu =5×31 1 1 2 2 2 3 3 3 4 4 4 5 5 5
Sigma = eye(3)
Sigma =3×31 0 0 0 1 0 0 0 1

5 つの分布それぞれから無作為に 1 回抽出します。

rng('default')% For reproducibilityR = mvnrnd(mu,Sigma)
R =5×31.5377 -0.3077 -0.3499 3.8339 1.5664 5.0349 0.7412 3.3426 3.7254 4.8622 7.5784 3.9369 5.3188 7.7694 5.7147

結果をプロットします。

scatter3(R(:,1),R(:,2),R(:,3))

Figure contains an axes. The axes contains an object of type scatter.

入力引数

すべて折りたたむ

多変量正規分布の平均。1行 d 列の数値ベクトルまたは m 行 d 列の数値行列を指定します。

  • muがベクトルである場合、mvnrndSigmaの最後の次元に一致するようにこのベクトルを複製します。

  • muが行列である場合、muの各行は単一の多変量正規分布の平均ベクトルです。

データ型:single|double

多変量正規分布の共分散。d 行 d 列の対称な半正定値行列または d x d x m の数値配列を指定します。

  • Sigmaが行列である場合、mvnrndmuの行数に一致するようにこの行列を複製します。

  • Sigmaが配列である場合、Sigmaの各ページSigma(:,:,i)は単一の多変量正規分布の共分散行列です。したがって、対称な半正定値行列になります。

共分散行列が対角行列であり、対角要素に分散が、非対角要素にゼロ共分散が格納されている場合、対角要素のみが格納されている1行 d 列のベクトルまたは1x d x m の配列をSigmaとして指定することもできます。

データ型:single|double

多変量乱数の個数。正の整数スカラーを指定します。nは、Rの行数を指定します。

データ型:single|double

出力引数

すべて折りたたむ

多変量正規乱数。次のいずれかとして返されます。

  • m 行 d 列の数値行列。m と d は、muおよびSigmaで指定された次元です。

  • n行 d 列の数値行列。nは指定された入力引数、d はmuおよびSigmaで指定された次元です。

muが行列、Sigmaが配列である場合、mvnrndmu(i,:)Sigma(:,:,i)を使用してR(i,:)を計算します。

詳細

すべて折りたたむ

多変量正規分布

多変量正規分布は、一変量正規分布を 2 つ以上の変数に一般化したものです。平均ベクトル μ および共分散行列 Σ という 2 つのパラメーターがあり、これらは一変量正規分布の平均および分散パラメーターに類似しています。Σ の対角要素には各変数の分散が、Σ の非対角要素には変数間の共分散が格納されます。

d 次元多変量正規分布の確率密度関数 (pdf) は、次のようになります。

y = f ( x , μ , Σ ) = 1 | Σ | (2 π ) d exp ( 1 2 ( x - μ ) Σ -1 ( x - μ )' )

ここで、x と μ は 1 行 d 列のベクトル、Σ は d 行 d 列の対称な正定値行列です。mvnrndのみが、(特異行列の可能性もある) 半正定値行列の Σ を受け入れます。Σ が特異行列である場合、pdf を同じ形式にすることはできません。

x で評価した多変量正規分布の累積分布関数 (cdf) は、多変量正規分布に従うランダムなベクトル v が、上限が次のように x によって定義される半無限の矩形に含まれる確率です。

Pr { v ( 1 ) x ( 1 ) , v ( 2 ) x ( 2 ) , ... , v ( d ) x ( d ) } .

多変量正規 cdf に閉形式はありませんが、mvncdfは cdf 値を数値的に計算できます。

ヒント

  • mvnrndでは、行列Sigmaが対称行列でなければなりません。Sigmaの非対称性がわずかである場合、代わりに(Sigma + Sigma')/2を使用して非対称性を解決することができます。

  • 1 次元の場合、Sigmaは標準偏差ではなく分散です。たとえば、mvnrnd(0,4)normrnd(0,2)と同じであり、4は分散、2は標準偏差です。

参照

[1] Kotz, S., N. Balakrishnan, and N. L. Johnson. Continuous Multivariate Distributions: Volume 1: Models and Applications. 2nd ed. New York: John Wiley & Sons, Inc., 2000.

拡張機能

R2006a より前に導入