MATLAB Answers

How to Calculate the 1% value of using gevfit

2 views (last 30 days)
James
James on 14 Oct 2021
Edited: Star Strider on 15 Oct 2021
I am by no means a statistician, so please bear with me.
I have been asked by a reviewer of one of my projects to use a GEV distribution to determine the annual 1-percent chance value for wave runup. My dataset consists of a maxima for each year of 50 years-worth of wave run-up for the area of concern. I have used gevfit to determine a GEV distribution for the dataset. What I cannot figure out is how to determine the upper 1% of that distribution. What function will tell me what the 1% value is?
Appreciate the help.

Answers (1)

Star Strider
Star Strider on 14 Oct 2021
Edited: Star Strider on 15 Oct 2021
The gevinv funciton will likely do what you want, given the parameters.
Copying from the image —
X = gevinv([0.01 0.99], -0.2722, 1.2475, 17.3216)
X = 1×2
14.9594 20.5944
This produces values for 1% and 99%.
Do those values appear reasonable? Given the histogram, they appear to be appropriate.
EDIT — (15 Oct 2021 at 1:58)
Added plot —
Xv = linspace(X(1)-1, X(2)+1);
P = gevpdf(Xv, -0.2722, 1.2475, 17.3216);
figure
plot(Xv, P)
hold on
patch([Xv(Xv<=X(1)) fliplr(Xv(Xv<=X(1)))], [P(Xv<=X(1)) zeros(size(Xv(Xv<=X(1))))], 'g', 'EdgeColor','none', 'FaceAlpha',0.5)
patch([Xv(Xv>=X(2)) fliplr(Xv(Xv>=X(2)))], [P(Xv>=X(2)) zeros(size(Xv(Xv>=X(2))))], 'g', 'EdgeColor','none', 'FaceAlpha',0.5)
hold off
grid
ylim([0 0.4])
xlabel('X')
ylabel('Probability')
legend('Probability Density Distribution Curve', 'Upper & Lower 1%', 'Location','best')
.

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by