Learn R Programming

gofCopula (version 0.2-2)

gof: Combining function for tests

Description

gof computes for a given dataset and based on the choices of the user either all tests for a given amount of copulae, performs for a given testset every test with all available copulae or computes for given copulae and tests all possible combinations.

Usage

gof(x, priority = "tests", copula = NULL, tests = NULL, margins = "ranks", dispstr = "ex", M = 50, MJ = 50, param = 0.5, param.est = T, df = 4, df.est = T, m = 1, delta.J = 0.5, nodes.Integration = 12, m_b = 0.5, zeta.m = 0, b_Rn = 0.05, processes = 1)

Arguments

x
A matrix containing the residuals of the data.
priority
A character string which is either "tests" or "copula". "tests" indicates that all implemented tests are performed for all copulae which the tests share. This are e.g. "normal" and "clayton". If "copula" is chosen, the tests which are able to test for "normal", "t", "frank", "gumbel" and "clayton" are performed. If one of the arguments tests or copula is not NULL, then priority doesn't affect the choice of the copulae and tests.
copula
A character vector which indicates the copula to test for.
tests
A character vector which indicates the tests to use.
margins
Specifies which estimation method shall be used in case that the input data are not in the range [0,1]. The default is "ranks", which is the standard approach to convert data in such a case. Alternatively can the following distributions be specified: "beta", "cauchy", Chi-squared ("chisq"), "f", "gamma", Log normal ("lnorm"), Normal ("norm"), "t", "weibull", Exponential ("exp").
dispstr
A character string specifying the type of the symmetric positive definite matrix characterizing the elliptical copula. Implemented structures are "ex" for exchangeable and "un" for unstructured, see package copula.
M
The amount of bootstrap rounds to be performed by each test. Default is 1000.
MJ
Just for the test gofKernel. Size of bootstrapping sample.
param
The copulae parameters to use for each test, if it shall not be estimated.
param.est
Shall be either TRUE or FALSE. TRUE means that param will be estimated.
df
The degrees of freedom, if not meant to be estimated. Only necessary if tested for "t"-copula.
df.est
Indicates if df shall be estimated. Has to be either FALSE or TRUE, where TRUE means that it will be estimated.
m
Length of blocks. Only necessary if the test gofPIOSTn is part of testset.
delta.J
Scaling parameter for the matrix of smoothing parameters. Only necessary if the test gofKernel is part of testset.
nodes.Integration
Number of knots of the bivariate Gauss-Legendre quadrature. Only necessary if the test gofKernel is part of testset.
m_b
The power of the statistic. Only necessary if the test gofRn is part of testset.
zeta.m
The adjustment parameter. Only necessary if the test gofRn is part of testset.
b_Rn
The bandwidth for the estimation of the first-order partial derivatives based on the empirical copula. Only necessary if the test gofRn is part of testset.
processes
The number of parallel processes which are performed to speed up the bootstrapping. Shouldn't be higher than the number of logical processors. Please see the details.

Value

A list containing several objects of class gofCOP with the following components for each copulae gofCOP with the following components for each copulae

Details

If a character vector is given for the argument copula and nothing for tests, then all tests are performed for which the given copulae are implemented. If tests contains a character vector of tests and copula = NULL, then this tests will be performed for all implemented copulae. If character vectors are given for copula and tests, then the tests are performed with the given copulae. If tests = NULL and copula = NULL, then the argument priority catches in and defines the procedure.

The time to compute the entire procedure is always estimated in case that M or MJ are 100 or higher.

For small values of M, initializing the parallization via processes does not make sense. The registration of the parallel processes increases the computation time. Please consider to enable parallelization just for high values of M.

Examples

Run this code
data(IndexReturns)

gof(IndexReturns[c(1:100),c(1:2)], priority = "tests", copula = "normal", 
tests = c("gofRosenblattSnB", "gofRosenblattSnC"), M = 20)

Run the code above in your browser using DataLab