vineknockoffs.copulas.FrankCopula#

class vineknockoffs.copulas.FrankCopula(par=nan)#

Frank copula (bivariate).

Parameters#

parfloat

Parameter of the Frank copula. Default is np.nan.

Examples#

# ToDo: add an example here

Notes#

The cdf of the Frank copula with parameter \(\theta \in (-\infty, \infty) \setminus \lbrace 0 \rbrace\) is given by

\[C(u, v; \theta) = -\frac{1}{\theta} \log\bigg(\frac{1}{1-\exp(-\theta)} \big[(1-\exp(-\theta)) - (1-\exp(-\theta u)) (1-\exp(-\theta v)) \big] \bigg).\]

Methods

aic(u, v)

Evaluate the copula AIC.

cdf(u, v)

Evaluate the copula cdf.

d_cdf_d_par(u, v)

Evaluate the derivative of the copula cdf wrt the parameter.

d_hfun_d_par(u, v)

Evaluate the derivative of the copula hfun wrt the parameter.

d_hfun_d_u(u, v)

Evaluate the derivative of the copula hfun wrt u.

d_hfun_d_v(u, v)

Evaluate the derivative of the copula hfun wrt v.

d_inv_hfun_d_par(u, v)

Evaluate the derivative of the inverse of the copula hfun wrt the parameter.

d_inv_hfun_d_u(u, v)

Evaluate the derivative of the inverse of the copula hfun wrt u.

d_inv_hfun_d_v(u, v)

Evaluate the derivative of the inverse of the copula hfun wrt v.

d_inv_vfun_d_par(u, v)

Evaluate the derivative of the inverse of the copula vfun wrt the parameter.

d_inv_vfun_d_u(u, v)

Evaluate the derivative of the inverse of the copula vfun wrt u.

d_inv_vfun_d_v(u, v)

Evaluate the derivative of the inverse of the copula vfun wrt v.

d_vfun_d_par(u, v)

Evaluate the derivative of the copula vfun wrt the parameter.

d_vfun_d_u(u, v)

Evaluate the derivative of the copula vfun wrt u.

d_vfun_d_v(u, v)

Evaluate the derivative of the copula vfun wrt v.

hfun(u, v)

Evaluate the copula hfun.

inv_hfun(u, v)

Evaluate the inverse of the copula hfun.

inv_vfun(u, v)

Evaluate the inverse of the copula vfun.

ll(u, v)

Evaluate the copula log-likelihood.

mle_est(u, v)

Estimation of the copula parameter with maximum likelihood.

par2tau(par)

Compute Kendall's tau associated with the given value for the copula parameter.

pdf(u, v)

Evaluate the copula pdf.

sim([n_obs])

Simulate random observations from the copula.

tau2par(tau)

Compute the copula parameter associated with the given value for Kendall's tau.

vfun(u, v[, u_])

Evaluate the copula vfun.

Attributes

n_pars

The number of copula parameters.

par

Parameter of the copula.

rotation

Rotation of the copula (0, 90, 180 or 270).

FrankCopula.aic(u, v)#

Evaluate the copula AIC.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.cdf(u, v)#

Evaluate the copula cdf.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.d_cdf_d_par(u, v)#

Evaluate the derivative of the copula cdf wrt the parameter.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.d_hfun_d_par(u, v)#

Evaluate the derivative of the copula hfun wrt the parameter.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.d_hfun_d_u(u, v)#

Evaluate the derivative of the copula hfun wrt u.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.d_hfun_d_v(u, v)#

Evaluate the derivative of the copula hfun wrt v.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.d_inv_hfun_d_par(u, v)#

Evaluate the derivative of the inverse of the copula hfun wrt the parameter.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.d_inv_hfun_d_u(u, v)#

Evaluate the derivative of the inverse of the copula hfun wrt u.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.d_inv_hfun_d_v(u, v)#

Evaluate the derivative of the inverse of the copula hfun wrt v.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.d_inv_vfun_d_par(u, v)#

Evaluate the derivative of the inverse of the copula vfun wrt the parameter.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.d_inv_vfun_d_u(u, v)#

Evaluate the derivative of the inverse of the copula vfun wrt u.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.d_inv_vfun_d_v(u, v)#

Evaluate the derivative of the inverse of the copula vfun wrt v.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.d_vfun_d_par(u, v)#

Evaluate the derivative of the copula vfun wrt the parameter.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.d_vfun_d_u(u, v)#

Evaluate the derivative of the copula vfun wrt u.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.d_vfun_d_v(u, v)#

Evaluate the derivative of the copula vfun wrt v.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.hfun(u, v)#

Evaluate the copula hfun.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.inv_hfun(u, v)#

Evaluate the inverse of the copula hfun.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.inv_vfun(u, v)#

Evaluate the inverse of the copula vfun.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.ll(u, v)#

Evaluate the copula log-likelihood.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.mle_est(u, v)#

Estimation of the copula parameter with maximum likelihood.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

self : object

FrankCopula.par2tau(par)#

Compute Kendall’s tau associated with the given value for the copula parameter.

Parameters#

parfloat

The copula parameter

Returns#

taufloat

Kendall’s tau.

FrankCopula.pdf(u, v)#

Evaluate the copula pdf.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.sim(n_obs=100)#

Simulate random observations from the copula.

Parameters#

n_obs :

The number of observations to simulate.

Returns#

resnumpy.ndarray

Result array.

FrankCopula.tau2par(tau)#

Compute the copula parameter associated with the given value for Kendall’s tau.

Parameters#

taufloat

Kendall’s tau.

Returns#

parfloat

The copula parameter.

FrankCopula.vfun(u, v, u_=None)#

Evaluate the copula vfun.

Parameters#

unumpy.ndarray

Array of observations for the first variable.

vnumpy.ndarray

Array of observations for the second variable.

Returns#

resnumpy.ndarray

Result array.