npsymtest | R Documentation |
npsymtest
implements the consistent metric entropy test of
asymmetry as described in Maasoumi and Racine (2009).
npsymtest(data = NULL,
method = c("integration","summation"),
boot.num = 399,
bw = NULL,
boot.method = c("iid", "geom"),
random.seed = 42,
...)
data |
a vector containing the variable. |
method |
a character string used to specify whether to compute the integral
version or the summation version of the statistic. Can be set as
|
boot.num |
an integer value specifying the number of bootstrap
replications to use. Defaults to |
bw |
a numeric (scalar) bandwidth. Defaults to plug-in (see details below). |
boot.method |
a character string used to specify the
bootstrap method. Can be set as |
random.seed |
an integer used to seed R's random number generator. This is to ensure replicability. Defaults to 42. |
... |
additional arguments supplied to specify the bandwidth
type, kernel types, and so on. This is used since we specify bw as
a numeric scalar and not a |
npsymtest
computes the nonparametric metric entropy (normalized
Hellinger of Granger, Maasoumi and Racine (2004)) for testing
symmetry using the densities/probabilities of the data and the
rotated data, D[f(y), f(\tilde y)]
. See
Maasoumi and Racine (2009) for details. Default bandwidths are of the
plug-in variety (bw.SJ
for continuous variables and
direct plug-in for discrete variables).
For bootstrapping the null distribution of the statistic, iid
conducts simple random resampling, while geom
conducts Politis
and Romano's (1994) stationary bootstrap using automatic block length
selection via the b.star
function in the
np
package. See the boot
package for
details.
The summation version of this statistic may be numerically unstable
when y
is sparse (the summation version involves division of
densities while the integration version involves differences). Warning
messages are produced should this occur (‘integration recommended’)
and should be heeded.
npsymtest
returns an object of type symtest
with the
following components
Srho |
the statistic |
Srho.bootstrap |
contains the bootstrap replications of |
P |
the P-value of the statistic |
boot.num |
number of bootstrap replications |
data.rotate |
the rotated data series |
bw |
the numeric (scalar) bandwidth |
summary
supports object of type symtest
.
When using data of type factor
it is crucial that the
variable not be an alphabetic character string (i.e. the factor must
be integer-valued). The rotation is conducted about the median after
conversion to type numeric
which is then converted back
to type factor
. Failure to do so will have unpredictable
results. See the example below for proper usage.
Tristen Hayfield tristen.hayfield@gmail.com, Jeffrey S. Racine racinej@mcmaster.ca
Granger, C.W. and E. Maasoumi and J.S. Racine (2004), “A dependence metric for possibly nonlinear processes”, Journal of Time Series Analysis, 25, 649-669.
Maasoumi, E. and J.S. Racine (2009), “A robust entropy-based test of asymmetry for discrete and continuous processes,” Econometric Reviews, 28, 246-261.
Politis, D.N. and J.P. Romano (1994), “The stationary bootstrap,” Journal of the American Statistical Association, 89, 1303-1313.
npdeneqtest,npdeptest,npsdeptest,npunitest
## Not run:
set.seed(1234)
n <- 100
## Asymmetric discrete probability distribution function
x <- factor(rbinom(n,2,.8))
npsymtest(x,boot.num=99)
Sys.sleep(5)
## Symmetric discrete probability distribution function
x <- factor(rbinom(n,2,.5))
npsymtest(x,boot.num=99)
Sys.sleep(5)
## Asymmetric continuous distribution function
y <- rchisq(n,df=2)
npsymtest(y,boot.num=99)
Sys.sleep(5)
## Symmetric continuous distribution function
y <- rnorm(n)
npsymtest(y,boot.num=99)
## Time-series bootstrap
ar.series <- function(phi,epsilon) {
n <- length(epsilon)
series <- numeric(n)
series[1] <- epsilon[1]/(1-phi)
for(i in 2:n) {
series[i] <- phi*series[i-1] + epsilon[i]
}
return(series)
}
## Asymmetric time-series
yt <- ar.series(0.5,rchisq(n,df=3))
npsymtest(yt,boot.num=99,boot.method="geom")
## Symmetric time-series
yt <- ar.series(0.5,rnorm(n))
npsymtest(yt,boot.num=99,boot.method="geom")
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.