rmseCOP {copBasic}R Documentation

Root Mean Square Error between a Fitted Copula and an Empirical Copula

Description

Compute the root mean square error \mathrm{RMSE}_\mathbf{C} (Chen and Guo, 2019, p. 29), which is computed using mean square error \mathrm{MSE} as

\mathrm{MSE}_\mathbf{C} = \frac{1}{n}\sum_{i=1}^n \bigl(\mathbf{C}_n(u_i,v_i) - \mathbf{C}_{\Theta_m}(u_i, v_i)\bigr)^2\mbox{ and}

\mathrm{RMSE}_\mathbf{C} = \sqrt{\mathrm{MSE}_\mathbf{C}}\mbox{,}

where \mathbf{C}_n(u_i,v_i) is the empirical copula (empirical joint probability) for the ith observation, \mathbf{C}_{\Theta_m}(u_i, v_i) is the fitted copula having m parameters in \Theta. The \mathbf{C}_n(u_i,v_i) comes from EMPIRcop. The \mathrm{RMSE}_\mathbf{C} is in effect saying that the best copula will have its joint probabilities plotting on a 1:1 line with the empirical joint probabilities, which is an \mathrm{RMSE}_\mathbf{C}=0. From the \mathrm{MSE}_\mathbf{C} shown above, the Akaike information criterion (AIC) aicCOP and Bayesian information criterion (BIC) bicCOP can be computed, which add a penalty for m parameters. These goodness-of-fits can assist in deciding one copula favorability over another, and another goodness-of-fit using the absolute differences between \mathbf{C}_n(u,v) and \mathbf{C}_{\Theta_m}(u, v) is found under statTn.

Usage

rmseCOP(u, v=NULL, cop=NULL, para=NULL, ...)

Arguments

u

Nonexceedance probability u in the X direction;

v

Nonexceedance probability v in the Y direction; If not given, then a second column from argument u is attempted;

cop

A copula function;

para

Vector of parameters or other data structure, if needed, to pass to the copula; and

...

Additional arguments to pass to either copula (likely most commonly to the empirical copula).

Value

The value for \mathrm{RMSE}_\mathbf{C} is returned.

Author(s)

W.H. Asquith

References

Chen, Lu, and Guo, Shenglian, 2019, Copulas and its application in hydrology and water resources: Springer Nature, Singapore, ISBN 978–981–13–0574–0.

See Also

EMPIRcop, aicCOP, bicCOP

Examples

## Not run: 
S <- simCOP(80, cop=GHcop, para=5) # Simulate some probabilities, but we
# must then treat these as data and recompute empirical probabilities.
U <- lmomco::pp(S$U, sort=FALSE); V <- lmomco::pp(S$V, sort=FALSE)
# The parent distribution is Gumbel-Hougaard extreme value copula.
# But in practical application we do not know that but say we speculate that
# perhaps the Galambos extreme value might be the parent. Then maximum
# likelihood is used to fit the single parameter.
pGL <- mleCOP(U,V, cop=GLcop, interval=c(0,20))$par

rmses <- c(rmseCOP(U,V, cop=GLcop, para=pGL),
           rmseCOP(U,V, cop=P),
           rmseCOP(U,V, cop=PSP))
names(rmses) <- c("GLcop", "P", "PSP")
print(rmses) # We will see that the first RMSE is the smallest as the
# Galambos has the nearest overall behavior than the P and PSP copulas.
## End(Not run)

[Package copBasic version 2.2.4 Index]