フィルターのクリア

Generating random data from Kernel density estimator

22 ビュー (過去 30 日間)
Pg
Pg 2011 年 11 月 5 日
回答済み: Poulomi Ganguli 2019 年 10 月 5 日
Hi,
I h've fitted my data to kernel PDF. Now to get random number from this distribution I want to generate using Metropolis-Hastings algorithm. After lot of search I found that mhsample is a built in function in MATLAB. but unable to understand how to use it for my problem. I h've problem in defining propdf and proprnd argument. If anybody can help me a bit, will be helpful.

回答 (3 件)

Poulomi Ganguli
Poulomi Ganguli 2019 年 10 月 5 日
This is simple. First, estimate kernel density parameters from data vector, using fitdist:
pd = fitdist(X,'kernel');
Use this parameters to generate random samples, where 100x1 is the desired random samples:
Y = random(pd, [100,1]);
or Y = pd.random(100,1);

Abraham
Abraham 2018 年 9 月 24 日
Hello, I would like to ask the same question because in the information provided by the matlab help it seems that the "Metropolis-Hastings" only sampling from analytical expressions.
Cheers

hamid mirzaeefard
hamid mirzaeefard 2019 年 10 月 5 日
Hi.
This is my question too.
I need random data with kernel distribution but I don't know how can do it.

Community Treasure Hunt

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

Start Hunting!

Translated by