Azzera filtri
Azzera filtri

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

2 visualizzazioni (ultimi 30 giorni)
Kyotaro Nishimoto
Kyotaro Nishimoto il 29 Nov 2019
Risposto: Hiro Yoshino il 9 Dic 2019
2列以上の行列データから多変量のカーネル分布を作成したのち、
その分布に従う乱数を任意の数、発生させるにはどのようにすればよいでしょうか?

Risposta accettata

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

Più risposte (2)

Hiro Yoshino
Hiro Yoshino il 9 Dic 2019
カーネル分布というのはカーネル密度推定で得られた確率密度分布の事でしょうか?
それでしたら:
が参考になります。
また、FileExchangeからはこんなモノもあります:
多変量正規分布なら
を参考にしてみては?
  1 Commento
Hiro Yoshino
Hiro Yoshino il 9 Dic 2019
補足:
すぐに思いつく普通のやり方としては
pd = fitdist(x,'Kernel','Kernel','epanechnikov');
x_sampled = random(pd,N,1);
のようにやるのは上手く行きませんでしたか?

Accedi per commentare.


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

Community Treasure Hunt

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

Start Hunting!