# BiCopEst.MO: Estimation of Marshall-Olkin copulas In MMDCopula: Robust Estimation of Copulas by Maximum Mean Discrepancy

## Description

Estimation of Marshall-Olkin copulas

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13``` ```BiCopEst.MO( u1, u2, method, par.start = 0.5, kernel = "gaussian.Phi", gamma = 0.95, alpha = 1, niter = 100, C_eta = 1, ndrawings = 10, naveraging = 1 ) ```

## Arguments

 `u1` vector of observations of the first coordinate, in [0,1]. `u2` vector of observations of the second coordinate, in [0,1]. `method` a character giving the name of the estimation method, among: `curve`: α is estimated by inversion of the probability measure of the diagonal {(u,v): u = v} `itau`: α is estimated by inversion of Kendall's tau `MMD`: α is estimated by MMD optimization `par.start` starting parameter of the gradient descent. (only used for `method = "MMD"`) `kernel` the kernel used in the MMD distance (only used for `method = "MMD"`) : it can be a function taking in parameter `(u1, u2, v1, v2, gamma, alpha)` or a name giving the kernel to use in the list: `gaussian`: Gaussian kernel k(x,y) = exp( - || (x-y) / gamma ||_2^2) `exp.l2`: k(x,y) = exp( - || (x-y) / gamma ||_2) `exp.l1`: k(x,y) = exp( - || (x-y) / gamma ||_1) `inv.l2`: k(x,y) = 1 / ( 1 + || (x-y) / gamma ||_2 )^α `inv.l1`: k(x,y) = 1 / ( 1 + || (x-y) / gamma ||_1 )^α Each of these names can receive the suffix ".Phi", such as "gaussian.Phi" to indicates that the kernel k(x,y) is replaced by k(Φ^{-1}(x) , Φ^{-1}(y)) where Φ^{-1} denotes the quantile function of the standard Normal distribution. `gamma` parameter γ to be used in the kernel. (only used for `method = "MMD"`) `alpha` parameter α to be used in the kernel, if any. (only used for `method = "MMD"`) `niter` the stochastic gradient algorithm is composed of two phases: a first "burn-in" phase and a second "averaging" phase. If `niter` is of size `1`, the same number of iterations is used for both phases of the stochastic gradient algorithm. If `niter` is of size `2`, then `niter` iterations are done for the burn-in phase and `niter` for the averaging phase. (only used for `method = "MMD"`) `C_eta` a multiplicative constant controlling for the size of the gradient descent step. The step size is then computed as `C_eta / sqrt(i_iter)` where `i_iter` is the index of the current iteration of the stochastic gradient algorithm. (only used for `method = "MMD"`) `ndrawings` number of replicas of the stochastic estimate of the gradient drawn at each step. The gradient is computed using the average of these replicas. (only used for `method = "MMD"`) `naveraging` number of full run of the stochastic gradient algorithm that are averaged at the end to give the final estimated parameter. (only used for `method = "MMD"`)

## Value

the estimated parameter (`alpha`) of the Marshall-Olkin copula.

## References

Alquier, P., Chérief-Abdellatif, B.-E., Derumigny, A., and Fermanian, J.D. (2020). Estimation of copulas via Maximum Mean Discrepancy. ArXiv preprint arxiv:2010.00408

`BiCopSim.MO` for the estimation of Marshall-Olkin copulas. `BiCopEstMMD` for the estimation of other parametric copula families by MMD.
 ```1 2 3 4``` ```U <- BiCopSim.MO(n = 1000, alpha = 0.2) estimatedPar <- BiCopEst.MO(u1 = U[,1], u2 = U[,2], method = "MMD", niter = 1, ndrawings = 1) estimatedPar <- BiCopEst.MO(u1 = U[,1], u2 = U[,2], method = "MMD") ```