2変量確率分布に従った乱数の発生方法について

2列以上の行列データから多変量のカーネル分布を作成したのち、
その分布に従う乱数を任意の数、発生させるにはどのようにすればよいでしょうか?

 Réponse acceptée

Hiro Yoshino
Hiro Yoshino le 9 Déc 2019

1 vote

変数間の関係を記述するコピュラを指定する方法があるようです:

Plus de réponses (2)

Hiro Yoshino
Hiro Yoshino le 9 Déc 2019

1 vote

カーネル分布というのはカーネル密度推定で得られた確率密度分布の事でしょうか?
それでしたら:
が参考になります。
また、FileExchangeからはこんなモノもあります:
多変量正規分布なら
を参考にしてみては?

1 commentaire

Hiro Yoshino
Hiro Yoshino le 9 Déc 2019
補足:
すぐに思いつく普通のやり方としては
pd = fitdist(x,'Kernel','Kernel','epanechnikov');
x_sampled = random(pd,N,1);
のようにやるのは上手く行きませんでしたか?

Connectez-vous pour commenter.

Kyotaro Nishimoto
Kyotaro Nishimoto le 9 Déc 2019

0 votes

回答ありがとうございます。
1変量であるならばfitdistで実施できることは確認しております。
2変量以上の場合はksdensity,mvdensityを使用する必要があると認識しておりますが
そちらには”pd”を算出→randomに入れて乱数を発生させる機能はなかったように思います。
(正規分布など、特定の分布であれば乱数を発生させる関数が準備されているようですが。。。)
先に提案いただいたほうを詳しく調べてみます。

Catégories

En savoir plus sur 乱数発生器 dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!