aicCOP | R Documentation |
Compute the Akaike information criterion (AIC) \mathrm{AIC}_\mathbf{C}
(Chen and Guo, 2019, p. 29), which is computed using mean square error \mathrm{MSE}_\mathbf{C}
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{AIC}_\mathbf{C} = 2m + n\log(\mathrm{MSE}_\mathbf{C})\mbox{,}
where \mathbf{C}_n(u_i,v_i)
is the empirical copula (empirical joint probability) for the i
th 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{AIC}_\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{AIC}_\mathbf{C} = -\infty
. From the \mathrm{MSE}_\mathbf{C}
shown above, the root mean square error rmseCOP
and Bayesian information criterion (BIC) bicCOP
can be computed. 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
.
aicCOP(u, v=NULL, cop=NULL, para=NULL, m=NA, ...)
u |
Nonexceedance probability |
v |
Nonexceedance probability |
cop |
A copula function; |
para |
Vector of parameters or other data structure, if needed, to pass to the copula; |
m |
The number of parameters in the copula, which is usually determined by length of |
... |
Additional arguments to pass to either copula (likely most commonly to the empirical copula). |
The value for \mathrm{AIC}_\mathbf{C}
is returned.
W.H. Asquith
Chen, Lu, and Guo, Shenglian, 2019, Copulas and its application in hydrology and water resources: Springer Nature, Singapore, ISBN 978–981–13–0574–0.
EMPIRcop
, bicCOP
, rmseCOP
## 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
aics <- c(aicCOP(U,V, cop=GLcop, para=pGL), aicCOP(U,V, cop=P), aicCOP(U,V, cop=PSP))
names(aics) <- c("GLcop", "P", "PSP")
print(aics) # We will see that the first AIC is the smallest as the
# Galambos has the nearest overall behavior than the P and PSP copulas.
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.