Description Usage Arguments Details Value Examples
View source: R/smallfar_para_sthao.R
estim_theta.wexp
returns an object of class ("thetafit_wexp", "thetafit")
which contains
the results of the estimation of theta and of the fit of W ~ exp(theta).
1 2 3 4 5 6 7 8 9 10 |
x |
the variable of interest in the counterfactual world. |
z |
the variable of interest in the factual world. |
... |
additional arguments for the plot. |
This function returns an estimate of theta as defined in Naveau et al (2018) that is used
to estimate the far, the fraction of attributable risk for records (with estim_farr.wexp
).
This estimation is made assuming that W = - log(G(Z)) follows an
exponentional distribution: W ~ exp(theta). G denotes the Cumulative Distribution Function of
the counterfactual variable X.
For the full reference, see : Naveau, P., Ribes, A., Zwiers, F., Hannart, A., Tuel, A., & Yiou, P. Revising return periods for record events in a climate event attribution context. J. Clim., 2018., https://doi.org/10.1175/JCLI-D-16-0752.1
An object of class ("thetafit_wexp", "thetafit")
. It is a list containing the following
elements:
the estimate of theta
the standard deviation of the estimator of theta assuming asymptotic gaussianity and obtained via the delta-method
the estimate of W
the result of the Cox and Oakes test to test whether W follows an exponential distribution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | library(evd)
muF <- 1; xiF <- .15; sigmaF <- 1.412538 # cst^(-xiF) # .05^(-xi1);
# asymptotic limit for the far in this case with a Frechet distributiom
boundFrechet <- frechet_lim(sigma = sigmaF, xi = xiF)
# sample size
size <- 100
# level=.9
set.seed(4)
z = rgev(size, loc = (sigmaF), scale = xiF * sigmaF, shape = xiF)
x = rgev(length(z), loc=(1), scale = xiF, shape=xiF)
rp = seq(from = 2, to = 30, length = 200)
# parametric estimation of far with exponential distribution for theta
theta_fit <- estim_theta.wexp(x = x, z = z)
# Check fit for W ~ exp(theta)
hist(theta_fit)
ecdf(theta_fit)
qqplot(theta_fit)
# Estimate the far
farr_fit.exp <- estim_farr.wexp(theta_hat = theta_fit$theta_hat,
sigma_theta_hat = theta_fit$sigma_theta_hat,
rp = rp)
print(farr_fit.exp)
ylim <- range(boundFrechet, farr_fit.exp$farr_hat)
plot(farr_fit.exp, ylim = ylim, main = "far exponential")
# Theoretical for in this case (Z = sigmaF * X with X ~ Frechet)
lines(rp, frechet_farr(r = rp, sigma = sigmaF, xi = xiF), col = "red", lty = 2)
abline(h = boundFrechet, col = "red", lty = 2)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.