MATLAB ヘルプ センター
混合ガウス分布による確率変量
Y = random(gm)
Y = random(gm,n)
[Y,compIdx] = random(___)
Y = random(gm) は、m 次元の混合ガウス分布 gm から 1 行 m 列の確率変量を生成します。
Y
gm
例
Y = random(gm,n) は、n 個の確率変量を返します。Y の各行は、m 次元の混合ガウス分布 gm から生成された確率変量です。
n
[Y,compIdx] = random(___) は、前の構文のいずれかの入力引数について、n 行 1 列のインデックス ベクトル compIdx も返します。compIdx(i) は、i 番目の確率変量 Y(i,:) を生成するために使用された混合成分を示します。
compIdx
compIdx(i)
i
Y(i,:)
すべて折りたたむ
gmdistribution オブジェクトを作成し、確率変量を生成します。
gmdistribution
2 成分の二変量混合ガウス分布の分布パラメーター (平均と共分散) を定義します。
mu = [1 2;-3 -5]; sigma = [1 1]; % shared diagonal covariance matrix
関数 gmdistribution を使用して gmdistribution オブジェクトを作成します。既定では、この関数は等比率の混合を作成します。
gm = gmdistribution(mu,sigma)
gm = Gaussian mixture distribution with 2 components in 2 dimensions Component 1: Mixing proportion: 0.500000 Mean: 1 2 Component 2: Mixing proportion: 0.500000 Mean: -3 -5
1000 個の確率変量を生成します。
rng('default'); % For reproducibility [Y,compIdx] = random(gm,1000);
compIdx(i) は、i 番目の確率変量 Y(i,:) を生成するために使用された混合成分を示します。Component 1 によって生成された確率変量の個数をカウントします。
Component
1
numIdx1 = sum(compIdx == 1)
numIdx1 = 512
gm は混合比率が均等なので、random は約半分の確率変量の生成に Component 1 を使用します。
random
scatter を使用して、生成された確率変量をプロットします。
scatter
scatter(Y(:,1),Y(:,2),10,'.') % Scatter plot with points of size 10
乱数発生器をリセットして、同じ確率変量を生成します。
2 つの二変量混合ガウス成分の分布パラメーター (平均、共分散および混合比率) を定義します。
p = [0.4 0.6]; % Mixing proportions mu = [1 2;-3 -5]; % Means sigma = cat(3,[2 .5],[1 1]) % Covariances 1-by-2-by-2 array
sigma = sigma(:,:,1) = 2.0000 0.5000 sigma(:,:,2) = 1 1
関数 cat は、3 番目の配列次元に沿って共分散を連結します。定義される共分散行列は対角行列です。sigma(1,:,i) には成分 i の共分散行列の対角要素が格納されます。
cat
sigma(1,:,i)
関数 gmdistribution を使用して gmdistribution オブジェクトを作成します。
gm = gmdistribution(mu,sigma);
現在の乱数発生器の状態を保存してから、gm を使用して確率変量を生成します。
s = rng; r = random(gm)
r = 1×2 -1.1661 -7.2588
乱数発生器の状態を s に戻してから、gm を使用して確率変量を生成します。前と同じ値になります。
s
rng(s); r1 = random(gm)
r1 = 1×2 -1.1661 -7.2588
混合ガウス分布。混合ガウス モデル (GMM) とも呼ばれます。gmdistribution オブジェクトを指定します。
gmdistribution オブジェクトは、gmdistribution または fitgmdist を使用して作成できます。分布パラメーターを指定して gmdistribution オブジェクトを作成するには、関数 gmdistribution を使用します。固定数の成分に対して gmdistribution モデルをデータに当てはめるには、関数 fitgmdist を使用します。
fitgmdist
生成する確率変量の個数。正の整数を指定します。
データ型: single | double
single
double
確率変量。1 行 m 列の数値ベクトルまたは n 行 m 列の数値行列として返されます。Y の各行は、m 次元の混合ガウス分布 gm から生成された確率変量です。
成分のインデックス。正の整数または n 行 1 列のインデックス ベクトルとして返されます。compIdx(i) は、i 番目の確率変量 Y(i,:) を生成するために使用された混合成分を示します。
R2007b で導入
gmdistribution | fitgmdist | mvnrnd | pdf | cdf
mvnrnd
pdf
cdf
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ