Perform maximum pseudo-log-likelihood estimation (pMLE) for copula parameters by maximizing the function:
$$\mathcal{L}(\Theta_p) = \sum_{i=1}^n \log\bigl[ c(F_x(x_i), F_y(y_i); \Theta_p)\bigr]\mbox{,}$$
where \(\mathcal{L}(\Theta_p)\) is the log-likelihood for parameter vector \(\Theta_p\) of dimension \(p\), and \(c(u,v; \Theta_p)\) is the bivariate copula density. The \(u\) and \(v\) are estimated by the respective empirical cumulative distribution functions \(u = F_x(\cdots)\) and \(v = F_y(\cdots)\) for each of the joint realizations of a sample of size \(n\). The \(c(u,v)\) is numerically estimated by the copula using the densityCOP
function.
mleCOP(u, v=NULL, cop=NULL, parafn=function(k) return(k),
interval=NULL, init.para=NULL, verbose=FALSE, control=list(),
the.zero=.Machine$double.eps^0.25, s=0, ...)
The value(s) for the estimated parameters are returned within an R
list
where the elements listed below are populated unique to this package. The other elements of the returned list are generated from either the optimise()
(1D, \(p = 1\)) or optim()
(pD, \(p \ge 2\)) functions of R.
The parameter(s) in a canonical element after the one-dimensional root finding (\(p = 1\)) or multi-dimensional optimization (\(p \ge 2\)) solutions are passed through parafn
so that these are in the parameter units of the copula and not necessarily those transformed for the optimization;
A helpful message unique to the copBasic package;
The maximum of the log-likelihood matching the name for the same quantity by the function fitCopula
in package copula though a separate implementation is used in copBasic;
Akaike information criterion (AIC) (see also aicCOP
): \(\mathrm{AIC} = 2p - 2\mathcal{L}(\Theta_p)\); and
Bayesian information criterion (BIC) (see also bicCOP
): \(\mathrm{BIC} = p\log(n) - 2\mathcal{L}(\Theta_p)\).
Nonexceedance probability \(u\) in the \(X\) direction;
Nonexceedance probability \(v\) in the \(Y\) direction and if NULL
then u
is treated as a two column R data.frame
;
A copula function;
A function responsible for generating the parameters. This is often just a simple return of a parameter vector as copBasic uses this style of parameterization, but this function can take over parameter remapping to handle boundary conditions to benefit the search or provide an interface into other copula packages in R (see Examples);
The search interval for root finding, by stats::optimise()
, if the parameter dimension of the copula is \(p = 1\). The interval is not used for \(p \ge 2\);
The initial guesses for the parameters for the \(p\)-dimensional optimization for \(p \ge 2\). The initial guess is used, by stats::optim()
, if the parameter dimension of the copula is \(p = 1\) and interval
is NULL
(see Examples);
A logical that internally is converted to integer to trigger 1 (sum of logs of densityCOP
shown), 2 (add reporting of the copula parameter on each iteration), or more levels of verbose reporting scheme within the objective function. This is independent from the control$trace
of function optim()
;
This argument is the argument of the same name for optim()
;
The value for “the zero” of the copula density function. This argument is the argument of the same name for densityCOP
. The default here is intended to suggest that a tiny nonzero value for density will trap the numerical zero densities;
A vector of at least two presumably uniformly distributed or regular sequence of nonexceedance probabilities in \(U\) for simulation of \(V\) by simCOPv
and plotting of these \(U\) and \(V\). This plotting is only made if the length of \(s\) is nonzero and verbose
is greater than or equal to 2. This plotting feature for the s
is pedagogical and intended for demonstration or teaching opportunities. This feature has no utility for the optimization itself; and
Additional arguments to pass, see source code for the internally used functions that can pick these additional arguments up.
W.H. Asquith
Joe, H., 2014, Dependence modeling with copulas: Boca Raton, CRC Press, 462 p.
densityCOP