gofKendallKS
tests a given dataset for a copula based on Kendall's process with the Kolmogorov-Smirnof 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", "gumbel", "clayton" and "frank". 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.
gofKendallKS(copula, x, param = 0.5, param.est = T, df = 4, df.est = T, margins = "ranks", dispstr = "ex", M = 100, execute.times.comp = T, processes = 1)
"normal"
, "t"
, "clayton"
, "gumbel"
and "frank"
.
TRUE
or FALSE
. TRUE
means that param
will be estimated.
"t"
-copula.
df
shall be estimated. Has to be either FALSE
or TRUE
, whereTRUE
means that it will be estimated.
"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"
).
copula
.
M
is at least 100.
class
gofCOP with the components
gofCOP with the componentsBecause $H0^'$ consists of more distributions than the $H0$ 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 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
.
data(IndexReturns)
gofKendallKS("normal", IndexReturns[c(1:100),c(1:2)], M = 10)
Run the code above in your browser using DataLab