Function Reference: gumbelfit

statistics: paramhat = gumbelfit (x)
statistics: [paramhat, paramci] = gumbelfit (x)
statistics: [paramhat, paramci] = gumbelfit (x, alpha)
statistics: […] = gumbelfit (x, alpha, censor)
statistics: […] = gumbelfit (x, alpha, censor, freq)
statistics: […] = gumbelfit (x, alpha, censor, freq, options)

Estimate parameters and confidence intervals for Gumbel distribution.

paramhat = gumbelfit (x) returns the maximum likelihood estimates of the parameters of the Gumbel distribution (also known as the extreme value or the type I generalized extreme value distribution) given in x. paramhat(1) is the location parameter, mu, and paramhat(2) is the scale parameter, beta.

[paramhat, paramci] = gumbelfit (x) returns the 95% confidence intervals for the parameter estimates.

[…] = gumbelfit (x, alpha) also returns the 100 * (1 - alpha) percent confidence intervals for the parameter estimates. By default, the optional argument alpha is 0.05 corresponding to 95% confidence intervals. Pass in [] for alpha to use the default values.

[…] = gumbelfit (x, alpha, censor) accepts a boolean vector, censor, of the same size as x with 1s for observations that are right-censored and 0s for observations that are observed exactly. By default, or if left empty, censor = zeros (size (x)).

[…] = gumbelfit (x, alpha, censor, freq) accepts a frequency vector, freq, of the same size as x. freq typically contains integer frequencies for the corresponding elements in x, but it can contain any non-integer non-negative values. By default, or if left empty, freq = ones (size (x)).

[…] = gumbelfit (…, options) specifies control parameters for the iterative algorithm used to compute the maximum likelihood estimates. options is a structure with the following field and its default value:

  • options.Display = "off"
  • options.MaxFunEvals = 400
  • options.MaxIter = 200
  • options.TolX = 1e-6

The Gumbel distribution is used to model the distribution of the maximum (or the minimum) of a number of samples of various distributions. This version is suitable for modeling maxima. For modeling minima, use the alternative extreme value fitting function, evfit.

Further information about the Gumbel distribution can be found at https://en.wikipedia.org/wiki/Gumbel_distribution

See also: gumbelcdf, gumbelinv, gumbelpdf, gumbelrnd, gumbellike, gumbelstat, evfit

Source Code: gumbelfit

Example: 1

 

 ## Sample 3 populations from different Gumbel distibutions
 rand ("seed", 1);    # for reproducibility
 r1 = gumbelrnd (2, 5, 400, 1);
 rand ("seed", 11);    # for reproducibility
 r2 = gumbelrnd (-5, 3, 400, 1);
 rand ("seed", 16);    # for reproducibility
 r3 = gumbelrnd (14, 8, 400, 1);
 r = [r1, r2, r3];

 ## Plot them normalized and fix their colors
 hist (r, 25, 0.32);
 h = findobj (gca, "Type", "patch");
 set (h(1), "facecolor", "c");
 set (h(2), "facecolor", "g");
 set (h(3), "facecolor", "r");
 ylim ([0, 0.28])
 xlim ([-11, 50]);
 hold on

 ## Estimate their MU and BETA parameters
 mu_betaA = gumbelfit (r(:,1));
 mu_betaB = gumbelfit (r(:,2));
 mu_betaC = gumbelfit (r(:,3));

 ## Plot their estimated PDFs
 x = [min(r(:)):max(r(:))];
 y = gumbelpdf (x, mu_betaA(1), mu_betaA(2));
 plot (x, y, "-pr");
 y = gumbelpdf (x, mu_betaB(1), mu_betaB(2));
 plot (x, y, "-sg");
 y = gumbelpdf (x, mu_betaC(1), mu_betaC(2));
 plot (x, y, "-^c");
 legend ({"Normalized HIST of sample 1 with μ=2 and β=5", ...
          "Normalized HIST of sample 2 with μ=-5 and β=3", ...
          "Normalized HIST of sample 3 with μ=14 and β=8", ...
          sprintf("PDF for sample 1 with estimated μ=%0.2f and β=%0.2f", ...
                  mu_betaA(1), mu_betaA(2)), ...
          sprintf("PDF for sample 2 with estimated μ=%0.2f and β=%0.2f", ...
                  mu_betaB(1), mu_betaB(2)), ...
          sprintf("PDF for sample 3 with estimated μ=%0.2f and β=%0.2f", ...
                  mu_betaC(1), mu_betaC(2))})
 title ("Three population samples from different Gumbel distibutions")
 hold off

                    
plotted figure