Fit distribution to probability plot

Gustav Lindstrand · May 23, 2022 · 2.1K views
Question
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:
Expert Answer
Profile picture of Kshitij Singh
Kshitij Singh PhD Expert
Answered Aug 14, 2026
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)

 

Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!