data(HsSP)
data(drc)
timeRange <- 54.5
idx <- order(drc)
drc <- drc[idx]
Data <- HsSP[idx]
set.seed(1234)
Data <- Data + runif(length(Data), -0.0001, 0.0001)
Grid values at which the estimation is performed:
thrResultML <- ThrSelection(Data = Data, drc = drc, h = 60, b = 0.35, thetaGrid = thetaVec,
EVIestimator = "ML", useKernel = T, concent = 10, bw = 30, numCores = 2)$thr
The code below performs optimisation for a unique pair of lambda and kappa.
lambda <- 100
kappa <- 40
thrPerObs <- thrResultML[drc]
excess <- Data - thrPerObs
drcExcess <- drc[excess > 0]
excess <- excess[excess > 0]
splineFit <- SplineML(excesses = excess, drc = drcExcess, nBoot = 30, numIntKnots = 16,
lambda = lambda, kappa = kappa, numCores = 2)
h <- 60 # needed for calculating local probability of exceedances
RLBoot <- CalcRLsplineML(Data = Data, drc = drc, xiBoot = xiBoot, sigBoot = sigBoot,
h = h, TTs = c(100, 10000), thetaGrid = thetaVec, timeRange = timeRange,
thr = thrResultML)
# 100-year level
PlotRL(RLBootList = RLBoot, thetaGrid = thetaVec, Data = Data, drc = drc, TTs = c(100,
10000), whichPlot = 1, alpha = 0.05, ylim = NULL, pointSize = 1, cex.axis = 15,
cex.lab = 2, thrWidth = 2)
PolarPlotRL(RLBootList = RLBoot, thetaGrid = thetaVec, Data = Data, drc = drc,
TTs = c(100, 10000), whichPlot = 1, alpha = 0.05, ylim = c(0, 25), pointSize = 4,
fontSize = 12, lineWidth = 2)