What is the orthodox precedure of evaluating/determining the type of a distribution? And How to fit it into a normal distribution with skewness and kurtosis?

1 Ansicht (letzte 30 Tage)
Hi all,
As illustrated below, I have a distribution (purple) and I want to describe it with a distribution function.
I used 'dfittool' toolbox and below blue and red line are the 'Normal' and 'Sable' distribution fit.However, the log likelihood are not ideal. Thus, I'm curious if there any orthodox way to determine "what distribution is it"?
I'm unsatisfied with the 'Normal' distribution below, which is described by only mu and std. I would like to know if there are some ways to describe it with 4 parameters (mean, standard deviation, skewness, kurtosis). Furthermore, I would like to know if there are some ways/techniques to attain some better fit for the distributions?

Antworten (2)

Jeff Miller
Jeff Miller am 22 Jun. 2022
Unfortunately, trial-and-error with fitting different distributions is the only way to find out what distribution provides the best description of some data. You may find software that makes the trial-and-error process more convenient, but there is no way to go beyond that.
You might want to look at the Pearson system distributions that are more flexible in allowing different values of skewness and kurtosis. In the normal distribution, of course, those values are fixed.
  2 Kommentare
Xiaoxiao Du
Xiaoxiao Du am 22 Jun. 2022
Thanks!
So, there's no build-in function or toolbox in MATLAB to systematically define and describe a given distribution? Thus, the only way is to write a funstion myself or resort to other softwares?
Unfortunally, I checked 'dfittool' and there is no choice of Pearson distribution in the drop-down list... (in MATLAB 2017)
Jeff Miller
Jeff Miller am 23 Jun. 2022
As Stephen23 said, there isn't a general solution to this problem. This isn't a matlab limitation but a theoretical one: there are an infinite number of possible distribution functions that are arbitrarily close to one another. All you can do is try some specific set of functions and choose the one that provides the best fit (judging by the q-q plot or some other criterion).
Here is some code for Pearson distributions

Melden Sie sich an, um zu kommentieren.


Stephen23
Stephen23 am 22 Jun. 2022
Bearbeitet: Stephen23 am 22 Jun. 2022
The standard appraoch is to use a quantile-quantile plot:
which you can do in MATLAB using:
You will need to repeat the plot for each distribution that you wish to compare your data against.
Note that there is no general automagical solution to this: consider the distribution of x = 1.

Community Treasure Hunt

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

Start Hunting!

Translated by