필터 지우기
필터 지우기

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

조회 수: 2 (최근 30일)
Kyotaro Nishimoto
Kyotaro Nishimoto 2019년 11월 29일
답변: Hiro Yoshino 2019년 12월 9일
2列以上の行列データから多変量のカーネル分布を作成したのち、
その分布に従う乱数を任意の数、発生させるにはどのようにすればよいでしょうか?

채택된 답변

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

추가 답변 (2개)

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

댓글을 달려면 로그인하십시오.


Kyotaro Nishimoto
Kyotaro Nishimoto 2019년 12월 9일
回答ありがとうございます。
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!