Skip to content Skip to sidebar Skip to footer

Generating Random Samples From Fit Pdf In Scipy (python)

Given a fit distribution to a dataset using scipy.stats with something similar to: data = fetch_data(file) x = np.linspace(0, 100, 1000) param = scipy.stats.norm.fit(data) fit_pdf

Solution 1:

The best way to generate the random samples is:

data = fetch_data(file)
x = np.linspace(0, 100, 1000)

param = scipy.stats.norm.fit(data)
random_samples = scipy.stats.norm.rvs(param[0], param[1], size=1000)

To generate random samples using a given pdf as an array you can use the following:

fit_pdf = scipy.stats.norm.pdf(x, param[0], param[1])

samples = np.random.choice(x, size=1000, p=fit_pdf/np.sum(fit_pdf)) 

Post a Comment for "Generating Random Samples From Fit Pdf In Scipy (python)"