how do I determine the probability distribution of data?

28 vues (au cours des 30 derniers jours)
Doug le 29 Mar 2012
Commenté : mechE le 6 Avr 2018
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?

Réponses (2)

Richard Willey
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);
%%Inspect the complete set of methods for myFit
  4 commentaires
Tom Lane
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.).

Connectez-vous pour commenter.

Doug le 29 Mar 2012
Not sure. I need to find the distribution of the sum of n independent identically distributed random variables with the same distribution. I haven't taken or used statistics in many years so I had tried to read up and found that different distributions sum random variables differently.
From my historam, it "looks" like a gamma distribution. Is there a relatively straightforward way to verify that?
Thanks very much.
  5 commentaires
mechE le 6 Avr 2018
If anyone has found the solution please mention here.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by