MATLAB: Fit distribution to probability plot

distributionfit

Is it possible to fit a Generalized Extreme Value distribution to a probability plot? I've got 31 annual highest values that I have plotted in a probabilty plot using >>probplot(a); and now I want a distribution fitted to the data Points. How can I do this?
I've tried using gevfit to find the parameters for the distribution and i tried plotting gevpdf(a,0,107,399) in a probability plot but it didn't give me what I wanted, I just got this:
but I want something looking like this:
Thanks!

Best Answer

It looks like you are looking at comparing the Cumulative Distribution Function (CDF) with the Empirical Cumulative Distribution Function (ECDF) which is not the same as a probability plot.
I'll start by generating some random numbers from an EVD as I do not have your data:
rng('default')
a = gevrnd(0,107,399,100,1);
Next we need to fit the parameters of the distribution:
Mdl = fitdist(a,'GeneralizedExtremeValue'); % Returns a PD object (Requires MATLAB later than 2009)
You can then calculate the ECDF: [f,x] = ecdf(a); % plot(x,f)
Then calculate the CDF implied by the fitted parameters:
y = cdf(Mdl,x);
hold on
plot(x,y)
hold off
If you indeed wanted to look at a probability plot, you should know that by default probplot compares the data with a normal distribution. To change this, pass in the name of the distribution:
figure
probplot('extreme value',a)