Perform a test of statistical independence of a data series by comparing the number of turning points present in the series with the number of turning points expected to be present in an i.i.d. series.
turningpoint.test(x)
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 character string giving the name of the data.
the number of points in the data series.
The expected number of turning points that would be seen in an i.i.d. series.
The standard deviation of the number of turning points that would be seen in an i.i.d. series.
a numeric vector or univariate time series.
Andrew Hart and Servet Martínez
If the data is x[1], x[2], ..., x[n], then there is a turning point at the point i if either x[i-1]<x[i] and x[i]>x[i+1], or x[i-1]>x[i] and x[i]<x[i+1]. this function counts the number of turning points in the data, standardises it to have mean 0 and variance 1 and asymptotically tests it against a standard normal distribution. The test statistic is
T = (tp-mu)/sigma, where
tp is the number of turning points present in the series,
mu = 2*(n-2)/3,
sigma = sqrt((16*n-29)/90) and
n is the number of data points in the series.
The test is set up as follows:
\(H_0\): the data series is i.i.d. (not trending)
\(H_1\): the data series is not i.i.d. (trending)
Brockwell, Peter J., Davis, Richard A. (2002) Introduction to Time Series and Forecasting. Springer Texts in Statistics, Springer-Verlag, New York.
Bienaymé, Irénée-Jules (1874). Sur une question de probabilités. Bull. Math. Soc. Fr. 2, 153-154.
diffsign.test
, rank.test
, lb.test
,
markov.test
, diid.test
#Generate an IID standard normal sequence
n <- rnorm(1000)
turningpoint.test(n)
Run the code above in your browser using DataLab