50% off | Unlimited Data & AI Learning

Last chance! 50% off unlimited learning

Sale ends in


copBasic (version 2.1.5)

semicorCOP: The Lower and Upper Semi-Correlations of a Copula

Description

Compute the lower semi-correlations ρCN(u,v;a)=ρN(a) and compute the upper semi-correlations ρCN+(u,v;a)=ρN+(a) of a copula C(u,v) (Joe, 2014, p. 73) using numerical simulation. The semi-correlations are defined as ρN(a)=cor[Z1,Z2|Z1<a,Z2<a], ρN+(a)=cor[Z1,Z2|Z1>+a,Z2>+a],\ and ρN(a>)=cor[Z1,Z2], where cor[z1,z2] is the familiar Pearson correlation function, which is in R the syntax cor(..., method="pearson"), parameter a0 is a truncation point that identifies truncated tail regions (Joe, 2014, p. 73), and lastly (Z1,Z2)C(Φ,Φ) and thus from the standard normal distribution (Z1,Z2)=(Φ1(u),Φ1(v)) where the random variables (U,V)C.

Usage

semicorCOP(cop=NULL, para=NULL, truncation=0, n=0, as.sample=FALSE, ...)

Arguments

cop

A copula function;

para

Vector of parameters or other data structure, if needed, to pass to the copula;

truncation

The truncation value for a, which is in standard normal variates;

n

The sample size n for simulation estimates of the ρN;

as.sample

A logical controlling whether an optional data.frame in para is used to compute the ρ^N (see Note); and

...

Additional arguments to pass to the copula.

Value

The value(s) for rhoN, ρN, ρN+ are returned.

References

Joe, H., 2014, Dependence modeling with copulas: Boca Raton, CRC Press, 462 p.

See Also

giniCOP, rhoCOP, tauCOP

Examples

Run this code
# NOT RUN {
# Gumbel-Hougaard copula with Pearson rhoN = 0.4 (by definition)
run <- sapply(1:20, function(i) semicorCOP(cop=GHcop, para=1.350, n=600))
mean(unlist(run[1,])) # cor.normal.scores
mean(unlist(run[2,])) # minus.semicor
mean(unlist(run[3,])) # plus.semicor
sd(  unlist(run[1,])) # cor.normal.scores (These are our sampling variations
sd(  unlist(run[2,])) # minus.semicor      for the n=600 used as a Monte
sd(  unlist(run[3,])) # plus.semicor       Carlo simulation.)
# The function returns:    rhoN = 0.3945714, rhoN-= 0.1312561, rhoN+= 0.4108908
#  standard deviations           (0.0378331)       (0.0744049)       (0.0684766)
# Joe (2014, p. 72) shows: rhoN = 0.4,       rhoN-= 0.132,     rhoN+= 0.415
#  standard deviations           (not avail)       (0.08)            (0.07)
# We see alignment with Joe's results with his n=600. #
# }

Run the code above in your browser using DataLab