bicCOP {copBasic} | R Documentation |
Bayesian Information Criterion between a Fitted Coupla and an Empirical Copula
Description
Compute the Bayesian information criterion (BIC) \mathrm{BIC}_\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{BIC}_\mathbf{C} = m\log(n) + 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{BIC}_\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{BIC}_\mathbf{C} = -\infty
. From the \mathrm{MSE}_\mathbf{C}
shown above, the root mean square error rmseCOP
and Akaike information criterion (AIC) aicCOP
can be computed. These goodness-of-fits can assist in deciding on 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
bicCOP(u, v=NULL, cop=NULL, para=NULL, m=NA, ...)
Arguments
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). |
Value
The value for \mathrm{BIC}_\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
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 don't know that but say we speculate that
# perhaps the Galambos extreme value might be the parent. Then maximum
# likelihood is used on that copula to fit the single parameter.
pGL <- mleCOP(U,V, cop=GLcop, interval=c(0,20))$par
bics <- c(bicCOP(U,V, cop=GLcop, para=pGL), bicCOP(U,V, cop=P), bicCOP(U,V, cop=PSP))
names(bics) <- c("GLcop", "P", "PSP")
print(bics) # We will see that the first BIC is the smallest as the
# Galambos has the nearest overall behavior than the P and PSP copulas.
## End(Not run)