gofKendallKS {gofCopula} | R Documentation |
gof test (Kolmogorov-Smirnov) based on Kendall's process
Description
gofKendallKS
tests a given dataset for a copula based on
Kendall's process with the Kolmogorov-Smirnov test statistic. The margins
can be estimated by a bunch of distributions and the time which is necessary
for the estimation can be given. The possible copulae are "normal"
,
"t"
, "clayton"
, "gumbel"
, "frank"
, "joe"
,
"amh"
, "galambos"
, "huslerReiss"
, "tawn"
,
"tev"
, "fgm"
and "plackett"
. See for
reference Genest et al. (2009). The parameter estimation is performed with
pseudo maximum likelihood method. In case the estimation fails, inversion of
Kendall's tau is used. The approximate p-values are computed with a
parametric bootstrap, which computation can be accelerated by enabling
in-build parallel computation.
Usage
gofKendallKS(
copula = c("normal", "t", "clayton", "gumbel", "frank", "joe", "amh", "galambos",
"huslerReiss", "tawn", "tev", "fgm", "plackett"),
x,
param = 0.5,
param.est = TRUE,
df = 4,
df.est = TRUE,
margins = "ranks",
flip = 0,
M = 1000,
dispstr = "ex",
lower = NULL,
upper = NULL,
seed.active = NULL,
processes = 1
)
Arguments
copula |
Possible are |
x |
A matrix containing the data with rows being observations and columns being variables. |
param |
The copula parameter to use, if it shall not be estimated. |
param.est |
Shall be either |
df |
Degrees of freedom, if not meant to be estimated. Only necessary
if tested for |
df.est |
Indicates if |
margins |
Specifies which estimation method for the margins shall be
used. The default is |
flip |
The control parameter to flip the copula by 90, 180, 270 degrees clockwise. Only applicable for bivariate copula. Default is 0 and possible inputs are 0, 90, 180, 270 and NULL. |
M |
Number of bootstrap samples. |
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
|
lower |
Lower bound for the maximum likelihood estimation of the copula
parameter. The constraint is also active in the bootstrapping procedure. The
constraint is not active when a switch to inversion of Kendall's tau is
necessary. Default |
upper |
Upper bound for the maximum likelihood estimation of the copula
parameter. The constraint is also active in the bootstrapping procedure. The
constraint is not active when a switch to inversion of Kendall's tau is
necessary. Default |
seed.active |
Has to be either an integer or a vector of M+1 integers.
If an integer, then the seeds for the bootstrapping procedure will be
simulated. If M+1 seeds are provided, then these seeds are used in the
bootstrapping procedure. Defaults to |
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. |
Details
With the pseudo observations U_{ij}
for i = 1, \dots,n
, j = 1, \dots,d
and \mathbf{u} \in
[0,1]^d
is the empirical copula given by C_n(\mathbf{u})
= \frac{1}{n} \sum_{i = 1}^n \mathbf{I}(U_{i1} \leq u_1, \dots, U_{id} \leq
u_d).
Let the
rescaled pseudo observations be V_1 = C_n(U_1), \dots, V_n =
C_n(U_n)
and the distribution
function of V
shall be K
. The estimated version is given by
K_n(v) = \frac{1}{n} \sum_{i=1}^n \mathbf{I}(V_i \leq v)
with v \in [0,1]^d.
The testable H_0^{'}
hypothesis is then
K \in
\mathcal{K}_0 = \{K_{\theta} : \theta \in \Theta \}
with \Theta
being an open subset of
R^p
for an integer p \geq 1
, see Genest et al.
(2009). The resulting Kolmogorov-Smirnof test statistic is then given by
T = \sqrt{n} \sup_{v \in [0,1]} |K_n(v) - K_{\theta_n}| .
Because H_0^{'}
consists of more distributions than the
H_0
is the test not necessarily consistent.
The approximate p-value is computed by the formula
\sum_{b=1}^M \mathbf{I}(|T_b| \geq |T|) / M,
For small values of M
, initializing the parallelisation via
processes
does not make sense. The registration of the parallel
processes increases the computation time. Please consider to enable
parallelisation just for high values of M
.
Value
An object of the class
gofCOP with the components
method |
a character which informs about the performed analysis |
copula |
the copula tested for |
margins |
the method used to estimate the margin distribution. |
param.margins |
the parameters of
the estimated margin distributions. Only applicable if the margins were not
specified as |
theta |
dependence parameters of the copulae |
df |
the degrees of freedem of the copula. Only applicable for t-copula. |
res.tests |
a matrix with the p-values and test statistics of the hybrid and the individual tests |
References
Christian Genest, Bruno Remillard, David Beaudoin (2009).
Goodness-of-fit tests for copulas: A review and a power study.
Insurance: Mathematics and Economics, Volume 44, Issue 2, April 2009,
Pages 199-213, ISSN 0167-6687.
doi: 10.1016/j.insmatheco.2007.10.005
Christian
Genest, Jean-Francois Quessy, Bruno Remillard (2006). Goodness-of-fit
Procedures for Copula Models Based on the Probability Integral
Transformation. Scandinavian Journal of Statistics, Volume 33, Issue
2, 2006, Pages 337-366.
doi: 10.1111/j.1467-9469.2006.00470.x
Ulf
Schepsmeier, Jakob Stoeber, Eike Christian Brechmann, Benedikt Graeler
(2015). VineCopula: Statistical Inference of Vine Copulas. R package
version 1.4.. https://cran.r-project.org/package=VineCopula
Examples
data(IndexReturns2D)
gofKendallKS("normal", IndexReturns2D, M = 10)