R: Teraesvirta Neural Network Test for Nonlinearity

terasvirta.test {tseries} | R Documentation

## Teraesvirta Neural Network Test for Nonlinearity

### Description

Generically computes Teraesvirta's neural network test for neglected nonlinearity either for the time series `x` or the regression `y~x`.

### Usage

    ## S3 method for class 'ts'
    terasvirta.test(x, lag = 1, type = c("Chisq","F"),
                    scale = TRUE, ...)
    ## Default S3 method:
    terasvirta.test(x, y, type = c("Chisq","F"),
                    scale = TRUE, ...)

### Arguments

`x` | a numeric vector, matrix, or time series.
`y` | a numeric vector.
`lag` | an integer which specifies the model order in terms of lags.
`type` | a string indicating whether the Chi-Squared test or the F-test is computed. Valid types are `"Chisq"` and `"F"`.
`scale` | a logical indicating whether the data should be scaled before computing the test statistic. The default arguments to `scale` are used.
`...` | further arguments to be passed from or to methods.

### Details

The null is the hypotheses of linearity in “mean”. This test uses a Taylor series expansion of the activation function to arrive at a suitable test statistic. If `type` equals `"F"`, then the F-statistic instead of the Chi-Squared statistic is used in analogy to the classical linear regression.

Missing values are not allowed.

### Value

A list with class `"htest"` containing the following components:

`statistic` | the value of the test statistic.
`p.value` | the p-value of the test.
`method` | a character string indicating what type of test was performed.
`parameter` | a list containing the additional parameters used to compute the test statistic.
`data.name` | a character string giving the name of the data.
`arguments` | additional arguments used to compute the test statistic.

### Author(s)

A. Trapletti

### References

T. Teraesvirta, C. F. Lin, and C. W. J. Granger (1993): Power of the Neural Network Linearity Test. Journal of Time Series Analysis 14, 209-220.

### See Also

`white.test`

### Examples

    n <- 1000

    x <- runif(1000, -1, 1)  # Non-linear in ``mean'' regression
    y <- x^2 - x^3 + 0.1*rnorm(x)
    terasvirta.test(x, y)

    ## Is the polynomial of order 2 misspecified?
    terasvirta.test(cbind(x,x^2,x^3), y)

    ## Generate time series which is nonlinear in ``mean''
    x[1] <- 0.0
    for(i in (2:n)) {
      x[i] <- 0.4*x[i-1] + tanh(x[i-1]) + rnorm(1, sd=0.5)
    }
    x <- as.ts(x)
    plot(x)
    terasvirta.test(x)

[Package tseries version 0.10-47 Index]