# 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?

2 views (last 30 days)
Xiaoxiao Du on 21 Jun 2022
Commented: Jeff Miller on 23 Jun 2022
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?

Jeff Miller on 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 CommentsShowHide 1 older comment
Jeff Miller on 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

Stephen23 on 22 Jun 2022
Edited: Stephen23 on 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.