nacTiming: Timing for Sampling Frailties of Nested Archimedean Copulas

nacFrail.timeR Documentation

Timing for Sampling Frailties of Nested Archimedean Copulas

Description

This function provides measurements of user run times for the frailty variables involved in a nested Archimedean copula.

Usage

nacFrail.time(n, family, taus, digits = 3, verbose = FALSE)

Arguments

n

integer specifying the sample size to be used for the random variates V_0 and V_{01}.

family

the Archimedean family (class "acopula") for which V_0 and V_{01} are sampled.

taus

numeric vector of Kendall's taus. This vector is converted to a vector of copula parameters \theta, which then serve as \theta_0 and \theta_1 for a three-dimensional fully nested Archimedean copula of the specified family. First, for each \theta_0, n random variates V_0 are generated. Then, given the particular \theta_0 and the realizations V_0, n random variates V_{01} are generated for each \theta_1 fulfilling the sufficient nesting condition; see paraConstr in acopula.

digits

number of digits for the output.

verbose

logical indicating if nacFrail.time output should generated while the random variates are generated (defaults to FALSE).

Value

A k \times k matrix of user run time measurements in milliseconds (1000*system.time(.)[1]) where k is length(taus). The first column contains the run times for generating the V_0s. For the submatrix that remains if the first column is removed, row i (for {\theta_0}_i) contains the run times for the V_{01}s for a particular \theta_0 and all the admissible \theta_1s.

See Also

The class acopula and our predefined "acopula" family objects in acopula-families. For some timings on a standard notebook, see demo(timings) (or the file ‘timings.R’ in the demo folder).

Examples

## takes about 7 seconds:% so we rather test a much smaller set in R CMD check

nacFrail.time(10000, "Gumbel", taus=  c(0.05,(1:9)/10, 0.95))

system.time(
print( nacFrail.time(1000,  "Gumbel", taus = c(0.5,1,6,9)/10) )
)

copula documentation built on Feb. 7, 2024, 3:01 p.m.