library(evmix) set.seed(0) x = rnorm(1000) # Fit normal bulk model with GPD for upper tail fit = fnormgpd(x) # plot fit over sample density histogram xx = seq(-5, 5, 0.01) hist(x, breaks = 100, freq = FALSE) with(fit, lines(xx, dnormgpd(xx, nmean, nsd, u, sigmau, xi), col="blue")) abline(v = fit$u, col="blue") # Add constraint of continuous density at threshold fitcon = fnormgpdcon(x) with(fitcon, lines(xx, dnormgpdcon(xx, nmean, nsd, u, xi), col="red")) abline(v = fitcon$u, col="red") help(evmix) # Nonparametric bulk fit fitkde = fkdengpd(x) with(fitkde, lines(xx, dkdengpd(xx, x, lambda, u, sigmau, xi), col="green")) abline(v = fitkde$u, col="green") # Usual model diagnostics default to focus on upper tail evmix.diag(fit) # Can see entire fit evmix.diag(fit, upperfocus=FALSE) # Usual MRL plot with some extra features data(FtCoPrec,package="extRemes") mrlplot(FtCoPrec[,5], try.thresh=c(0.395, 0.8, 1.2))