how do I determine the probability distribution of data?
28 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello, I have a data set and I am trying to determine its probability distribution. It is from empirical data and I have no idea what distribution family it would have, let alone what parameters it would have. Is there a matlab function that can do that?
0 commentaires
Réponses (2)
Richard Willey
le 29 Mar 2012
Sorry if this sounds like a silly question:
Is there an absolute requirement that you describe your data using a parametric distribution? If so why?
As an alternative, would something like the following suffice?
%%Generate some data
X1 = 10 + 5 * randn(200, 1);
X2 = 20 + 8 * randn(250 ,1);
X = [X1; X2];
%%Fit a distribution using a kernel smoother
myFit = fitdist(X, 'kernel')
%%Visualize the resulting fit
index = linspace(min(X), max(X), 1000);
plot(index, pdf(myFit, index))
%%Generate a set of 500 random numbers drawn from the distribution
numbers = random(myFit, 500, 1);
numbers(1:10)
%%Inspect the complete set of methods for myFit
methods(myFit)
4 commentaires
Tom Lane
le 13 Avr 2012
His example produces a nonparametric density estimate that should be flexible enough to adapt to your data. It doesn't produce a named parametric distribution (normal, Weibull, etc.).
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!