Generating random data from Kernel density estimator

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.

Réponses (3)

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 le 24 Sep 2018

0 votes

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 le 5 Oct 2019

0 votes

Hi.
This is my question too.
I need random data with kernel distribution but I don't know how can do it.

Catégories

En savoir plus sur Random Number Generation 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!

Translated by