gofPIOSRn {gofCopula} | R Documentation |
2 and 3 dimensional gof test based on the in-and-out-of-sample approach
Description
gofPIOSRn
tests a 2 or 3 dimensional dataset with the approximate
PIOS test for a copula. The possible copulae are "normal"
,
"t"
, "clayton"
, "gumbel"
, "frank"
, "joe"
,
"amh"
, "galambos"
, "fgm"
and "plackett"
. 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 semiparametric bootstrap, which
computation can be accelerated by enabling in-build parallel computation.
Usage
gofPIOSRn(
copula = c("normal", "t", "clayton", "gumbel", "frank", "joe", "amh", "galambos",
"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 |
The copula to test for. Possible are |
x |
A matrix containing the data with rows being observations and columns being variables. |
param |
The parameter to be used. |
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 bootstrapping loops. |
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
The "Rn" test is introduced in Zhang et al. (2015). It is a information
ratio statistic which is approximately equivalent to the "Tn" test, which is
the PIOS test. Both test the H_0
hypothesis
H_0 : C_0 \in
\mathcal{C}.
"Rn" is introduced because the "Tn" test has
to estimate n/m
parameters which can be computationally demanding. The
test statistic of the "Tn" test is defined as
T = \sum_{b=1}^M
\sum_{k=1}^m \{l(U_k^b;\theta_n ) - l(U_k^b;\theta_n^{-b} )\}
with l
the log likelihood function, the pseudo observations
U_{ij}
for i = 1, \dots,n
; j = 1,
\dots,d
and
\theta_n = \arg \min_{\theta} \sum_{i=1}^n
l(U_i; \theta)
and
\theta_n^{-b} = \arg \min_{\theta} \sum_{b^{'} \neq b}^M \sum_{k=1}^m
l(U_k^{b^{'}}; \theta), b=1, \dots, M.
By defining two information matrices
S(\theta) = - E_0
[\frac{\partial^2}{\partial \theta \partial \theta^{\top}}l \{U_1; \theta \}
],
V(\theta) =
E_0 [\frac{\partial}{\partial \theta} l (U_1; \theta)
\{\frac{\partial}{\partial \theta} l (U_1; \theta) \}^{\top} ]
where
S(\cdot)
represents the negative sensitivity matrix,
V(\cdot)
the variability matrix and E_0
is the
expectation under the true copula C_0
. Under suitable regularity
conditions, given in Zhang et al. (2015), holds then in probability, that
T = tr\{S(\theta^{*})^{-1} V(\theta^{*}) \}
as n \rightarrow \infty.
The approximate p-value is computed by the formula
\sum_{b=1}^M
\mathbf{I}(|T_b| \geq |T|) / M,
For more details, see Zhang et al. (2015). The applied estimation method is the two-step pseudo maximum likelihood approach, see Genest and Rivest (1995).
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
Zhang, S., Okhrin, O., Zhou, Q., and Song, P.. Goodness-of-fit
Test For Specification of Semiparametric Copula Dependence Models.
Journal of Econometrics, 193, 2016, pp. 215-233
doi: 10.1016/j.jeconom.2016.02.017
Genest, C., K.
G. and Rivest, L.-P. (1995). A semiparametric estimation procedure of
dependence parameters in multivariate families of distributions.
Biometrika, 82:534-552
Examples
data(IndexReturns2D)
gofPIOSRn("normal", IndexReturns2D, M = 10)