terasvirta.test

0th

Percentile

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 class 'ts':
terasvirta.test(x, lag = 1, type = c("Chisq","F"), scale = TRUE)
## S3 method for class '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.
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:
  • statisticthe value of the test statistic.
  • p.valuethe p-value of the test.
  • methoda character string indicating what type of test was performed.
  • parametera list containing the additional parameters used to compute the test statistic.
  • data.namea character string giving the name of the data.
  • argumentsadditional 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

white.test

Aliases
  • terasvirta.test
  • terasvirta.test.ts
  • terasvirta.test.default
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)

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

x[1] <- 0.0
for (i in (2:n))  # Generate time series which is nonlinear in ``mean''
{
  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.7-4, License: GPL (see file COPYING), except for ./src/muin2ser.f and ./misc which are free for non-commercial purposes. See file README for details.

Community examples

Looks like there are no examples yet.