Extended generalized Pareto (EGP) distributions

The extended generalized Pareto families proposed in Gamet & Jalbert (2022) are implemented and ready to be used just like any UnivariateDistribution from the Distributions.jl package.

Any distribution function $F_{V}$ on the unit interval that satisfies the conditions in Gamet & Jalbert (2022) can be used to extend the GeneralizedPareto distribution object using the ExtendedGeneralizedPareto constructor.

To extend the GP model, the following distributions can be used:

EGP model based on the power function

The ExtendedGeneralizedPareto method is first illustrated using the Power function extension as proposed by Papastathopoulos & Tawn (2013).

l1 = layer(x -> pdf(ExtendedGeneralizedPareto(Power(0.8), GeneralizedPareto(1,0)), x), 0 , 2, color=["κ = 0.8"], linestyle=[:dash])
l2 = layer(x -> pdf(ExtendedGeneralizedPareto(Power(1.0), GeneralizedPareto(1,0)), x), 0 , 2, color=["κ = 1.0"])
l3 = layer(x -> pdf(ExtendedGeneralizedPareto(Power(1.5), GeneralizedPareto(1,0)), x), 0 , 2, color=["κ = 1.5"], linestyle=[:dot])

xticks = [0.00, 0.50, 1.00, 1.50, 2.00]
yticks = [0.00, 0.50, 1.00, 1.50, 2.00]

set_default_plot_size(13cm, 9cm)
plot(l1, l2, l3,
    Guide.colorkey(title="", labels=["κ = 0.8","κ = 1.0", "κ = 1.5"]),
    Guide.xticks(ticks=xticks), Guide.yticks(ticks=yticks),
    Guide.ylabel(""), Guide.xlabel(""), Guide.title("EGP-Power")
)
0.0 0.5 1.0 1.5 2.0 κ = 0.8 κ = 1.0 κ = 1.5 h,j,k,l,arrows,drag to pan i,o,+,-,scroll,shift-drag to zoom r,dbl-click to reset c for coordinates ? for help ? 0.0 0.5 1.0 1.5 2.0 EGP-Power

EGP model based on the truncated normal distribution

Gamet & Jalbert (2022) proposed an EGP model based on the TNormal distribution.

l1 = layer(x -> pdf(ExtendedGeneralizedPareto(TNormal(.00001), GeneralizedPareto(1,0)), x), 0 , 2, color=["κ = 0"], linestyle=[:dash])
l2 = layer(x -> pdf(ExtendedGeneralizedPareto(TNormal(1), GeneralizedPareto(1,0)), x), 0 , 2, color=["κ = 1"])
l3 = layer(x -> pdf(ExtendedGeneralizedPareto(TNormal(5), GeneralizedPareto(1,0)), x), 0 , 2, color=["κ = 5"], linestyle=[:dot])

xticks = [0.00, 0.50, 1.00, 1.50, 2.00]
yticks = [0.20, 0.40, 0.60, 0.80, 1.00]

set_default_plot_size(13cm, 9cm)
plot(l1, l2, l3,
    Guide.colorkey(title="", labels=["κ = 0","κ = 1", "κ = 5"]),
    Guide.xticks(ticks=xticks), Guide.yticks(ticks=yticks),
    Guide.ylabel(""), Guide.xlabel(""), Guide.title("EGP-TNormal")
)
0.0 0.5 1.0 1.5 2.0 κ = 0 κ = 1 κ = 5 h,j,k,l,arrows,drag to pan i,o,+,-,scroll,shift-drag to zoom r,dbl-click to reset c for coordinates ? for help ? 0.2 0.4 0.6 0.8 1.0 EGP-TNormal

EGP model based on the truncated Beta distribution

Gamet & Jalbert (2022) also proposed an EGP model based on the TBeta distribution.

l1 = layer(x -> pdf(ExtendedGeneralizedPareto(TBeta(0.8), GeneralizedPareto(1,0)), x), 0 , 2, color=["κ = 0.8"], linestyle=[:dash])
l2 = layer(x -> pdf(ExtendedGeneralizedPareto(TBeta(1.0), GeneralizedPareto(1,0)), x), 0 , 2, color=["κ = 1.0"])
l3 = layer(x -> pdf(ExtendedGeneralizedPareto(TBeta(1.5), GeneralizedPareto(1,0)), x), 0 , 2, color=["κ = 1.5"], linestyle=[:dot])

xticks = [0.00, 0.50, 1.00, 1.50, 2.00]
yticks = [0.25, 0.50, 0.75, 1.00, 1.25]

set_default_plot_size(13cm, 9cm)
plot(l1, l2, l3,
    Guide.colorkey(title="", labels=["κ = 0.8","κ = 1.0", "κ = 1.5"]),
    Guide.xticks(ticks=xticks), Guide.yticks(ticks=yticks),
    Guide.ylabel(""), Guide.xlabel(""), Guide.title("EGP-TBeta")
)
0.0 0.5 1.0 1.5 2.0 κ = 0.8 κ = 1.0 κ = 1.5 h,j,k,l,arrows,drag to pan i,o,+,-,scroll,shift-drag to zoom r,dbl-click to reset c for coordinates ? for help ? 0.25 0.50 0.75 1.00 1.25 EGP-TBeta