fitFDG: Estimation of FDG copulas

Description Usage Arguments Details Value Author(s) References See Also Examples

Description

Estimates FDG copulas.

Usage

1
2
3
fitFDG(FDGcopula, data, depcoefType="spearman", nbInit=1,
                   W=NA, method="L-BFGS-B", estimate.variance=TRUE,
                   nb.rep=100, nb.obs=100, dcData=NA, sizeSubSample=10000)

Arguments

FDGcopula

copula to fit the data

data

data to be fitted

depcoefType

type of dependence coefficient to be used in the estimation method

nbInit

number of initialisations in the optimization algorithm to find the global optimum

W

weight matrix to be used in the estimation method

method

the 'method' for 'optim()'

estimate.variance

boolean indicating if the asymptotic variance-covariance matrix should be estimated

nb.rep

number of replications to be used in the estimation of the asymptotic variance-covariance matrix (it has no effect if estimate.variance=FALSE)

nb.obs

size of the simulated samples on which is based the estimation of the asymptotic variance-covariance matrix

dcData

if not NA, matrix of size 'd' times 'd', where 'd' is the dimension of the fitted copula, consisting of the sample pairwise dependence coefficients that the user wants to use for the estimation method

sizeSubSample

size of the sample over which is to be taken the maximum when generating extreme-value copulas (needed if estimate.variance=TRUE and FDGcopula@extremevalue=TRUE, no effect otherwise)

Details

The method used to estimate the parameters of FDG copulas is a weighted least squares estimator based on dependence coefficients (see [2]). The coefficients implemented are the Spearman's rho, the Kendall's tau, and the upper tail dependence coefficient in the case of extreme-value copulas. If the user wishes to use other coefficients, it is possible but he/she should provide his own sample pairwise dependence coefficients with the matrix dcData. The estimation of the asymptotic variance-covariance matrix of 'sqrt(n)(theta hat - theta)', where 'n' is the sample size, 'theta' is the parameter vector, and 'theta hat' is the weighted least square estimator, is carried out by simulation. More precisely, nb.rep replications of datasets of size nb.obs are simulated according to the fitted FDG copula. For each dataset, the sample dependence coefficients are calculated, and, then, their sample variances / covariances are computed. In the case where the upper tail dependence coefficients were chosen to perform the estimation, a different approximation is used. Since the margins are assumed to be known, there is a simple formula for the variances / covariances given in (15) of [2]. These quantities within this formula can be approximated by standard empirical means calculated on a single big dataset from the underlying extreme-value copula. To simulate that dataset, the variable sizeSubSample is used along with nb.rep: nb.rep sub-samples of size sizeSubSample are simulated, and for each sub-sample, the maximum is taken, thus leading to a final dataset of size nb.rep. The empirical means to approximate the asymptotic variances / covariances are computed on this last final dataset.

Value

A fitFDG class object containing the slots:

estimate

the estimated parameter vector

var.est

the asymptotic variance-covariance matrix

optimalValues

the optimal value(s) of the loss function

convergence

the output monitor parameters returned by 'optim()'

copula

an object of the same class as FDGcopula, where the slot containing the parameters is filled with the estimated parameters

Author(s)

Gildas Mazo

References

[1] Mazo G., Girard, S., Forbes, F. A flexible and tractable class of one-factor copulas, http://hal.archives-ouvertes.fr/hal-00979147

[2] Mazo G., Girard, S., Forbes, F. Weighted least-squares inference based on dependence coefficients for multivariate copulas, http://hal.archives-ouvertes.fr/hal-00979151

See Also

fitFDG-class

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## Create an object of class 'FDGcopula'
theta <- c(.3,.5,.7,.9)
myFDGcopula <- FDGcopula("frechet", theta)

## Generate a sample from a FDG copula with Frechet generators
## and parameter vector 'theta'
dat <- rFDG(100, myFDGcopula)
## Fit a FDG copula to the data
myFittedCopula <- fitFDG(myFDGcopula, dat)
myFittedCopula

FDGcopulas documentation built on May 2, 2019, 6:18 a.m.