npsymtest {np} | R Documentation

## Kernel Consistent Density Asymmetry Test with Mixed Data Types

### Description

`npsymtest` implements the consistent metric entropy test of asymmetry as described in Maasoumi and Racine (2009).

### Usage

    npsymtest(data = NULL,
              method = c("integration","summation"),
              boot.num = 399,
              bw = NULL,
              boot.method = c("iid", "geom"),
              random.seed = 42,
              ...)

### Arguments

`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 `integration` or `summation` (see below for details). Defaults to `integration`.
`boot.num` | an integer value specifying the number of bootstrap replications to use. Defaults to `399`.
`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 `iid` or `geom` (see below for details). Defaults to `iid`.
`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 `bandwidth` object, and is of interest if you do not desire the default behaviours. To change the defaults, you may specify any of `bwscaling`, `bwtype`, `ckertype`, `ckerorder`, `ukertype`, `okertype`.

### Details

`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(y-tilde)]. 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.

### Value

`npsymtest` returns an object of type `symtest` with the following components

`Srho` | the statistic `Srho`
`Srho.bootstrap` | contains the bootstrap replications of `Srho`
`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`.

### Usage Issues

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.

### Author(s)

Tristen Hayfield tristen.hayfield@gmail.com, Jeffrey S. Racine racinej@mcmaster.ca

### References

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.

### See Also

`npdeneqtest,npdeptest,npsdeptest,npunitest`

### Examples

    ## 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)

[Package np version 0.60-9 Index]