# terasvirta.test

##### Teraesvirta Neural Network Test for Nonlinearity

Generically computes Teraesvirta's neural network test for neglected
nonlinearity either for the time series `x`

or the regression
`y~x`

.

- Keywords
- ts

##### Usage

```
# S3 method for ts
terasvirta.test(x, lag = 1, type = c("Chisq","F"),
scale = TRUE, …)
# S3 method for default
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:

the value of the test statistic.

the p-value of the test.

a character string indicating what type of test was performed.

a list containing the additional parameters used to compute the test statistic.

a character string giving the name of the data.

additional arguments used to compute the test statistic.

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

##### Examples

```
# NOT RUN {
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)
# }
```

*Documentation reproduced from package tseries, version 0.10-46, License: GPL-2*