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
.
## 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, ...)
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 |
scale |
a logical indicating whether the data should be scaled
before computing the test statistic. The default arguments to
|
... |
further arguments to be passed from or to methods. |
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.
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. |
A. Trapletti
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.
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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.