selectCopC {CopCTS}R Documentation

The selection of copula function

Description

Among a list of copulas, select the one that gives the estimates closest to the empirical copula function.

Usage

selectCopC(cop.type=c("Clayton","Gaussian","Gumbel","Joe","Frank"),
Yc,d,delta,nIS=500,jumps=NULL,MARGIN=NULL,...,intervals=NULL)

Arguments

cop.type

a Kx1 vector containing the candidate copulas, where K = length(cop.type) is the number of candidate copulas. There are currently five available copula funcitons, including Clayton copula, Gaussian copula, Gumbel copula, Joe copula and Frank copula. Select each by specifying a vector consisting of at least one element from c("Clayton","Gaussian","Gumbel","Joe","Frank").

Yc

the Nx1 vector of observed responses that are subject to lower detection limit.

d

the lower detection limit.

delta

the Nx1 vector of censoring indicator with 1 indicating uncensored and 0 indicating left censored.

nIS

the size for sequential importance sampling. The default is 500.

jumps

the Nx1 vector indicating whether each time t is a start of a new time series, which is deemed to be independent from the previous series.

MARGIN

the marginal distribution of the latent time series.

...

additional parameters for the marginal distribution of the latent time series.

intervals

a 2xK matrix specifying the lower and upper bound for the copula parameter of each candidate copula, where K is the number of candidate copulas.

Value

selectCopC returns a list of components including

paras

a Kx1 vector containing the estimated copula parameters for each candidate copula.

likelihoods

a Kx1 vector containing the negative log-likelihood value corresponding to the estimated copula parameter for each candidate copula.

estCop

a list containing the estimated copula object for each candidate.

L2distance

a Kx1 vector containing the L2 distance between each copula with estimated copula parameter and the empirical copula function.

Selected

The selected copula object.

References

Li, F., Tang, Y. and Wang, H. (2018) Copula-based Semiparametric Analysis for Time Series Data with Detection Limits, technical report.

See Also

estCopC.

Examples

### Example with simulated data
set.seed(20)
Y = genLatentY("Clayton",1,30,MARGIN.inv = qt,df=3)
d = -1
Yc = pmax(d,Y)
delta = (Y>d)
selectCopC(cop.type=c("Clayton","Frank"),Yc = Yc,d = d,delta = delta,nIS=50)
### Example with water data
attach(water)
Yc = TNH3[1:30]
delta = Delta[1:30]
jumps = Indep[1:30]
set.seed(1)
intv.Gaussian = c(-1,1)
intv.Clayton = c(0,20)
intv.Frank = c(0,15)
intervals = cbind(intv.Gaussian,intv.Clayton,intv.Frank)
cop.type = c("Gaussian","Clayton","Frank")
selCopC <- selectCopC(cop.type=cop.type,Yc=Yc,d=0.02,
            delta=delta,nIS = 50,jumps=jumps,intervals=intervals)
selCopC$Selected

[Package CopCTS version 1.0.0 Index]