snwilcoxon {memochange} | R Documentation |
Self-normalized Wilcoxon test for a single change in the mean of a long-memory time series.
Description
This function performs a Wilcoxon test for a change-in-mean that is robust under long memory. In contrast to a standard Wilcoxon test it applies a self-normalization approach to estimate the long-run variance. The function returns the test statistic as well as critical values.
Usage
snwilcoxon(x, d, tau = 0.15)
Arguments
x |
the univariate numeric vector to be investigated. Missing values are not allowed. |
d |
integer that specifies the long-memory parameter. |
tau |
integer that defines the search area, which is |
Details
Note that the critical values are generated for tau=0.15
. Furthermore, it is assumed that we have a 1st-order Hermite process. For details see Betken (2016).
Value
Returns a numeric vector containing the test statistic and the corresponding critical values of the test.
Author(s)
Kai Wenger
References
Wenger, K. and Leschinski, C. and Sibbertsen, P. (2018): Change-in-mean tests in long-memory time series: a review of recent developments. AStA Advances in Statistical Analysis, 103:2, pp. 237-256.
Betken, A. (2016): Testing for change-points in long-range dependent time series by means of a self-normalized wilcoxon test. Journal of Time Series Analysis, 37, pp. 785-908.
Andrews, D. W. K. (1993): Tests for Parameter Instability and Structural Change With Unknown Change Point. Econometrica, 61, pp. 821-856.
See Also
Examples
# set model parameters
T <- 500
d <- 0.2
set.seed(410)
# generate a fractionally integrated (long-memory) time series
tseries <- fracdiff::fracdiff.sim(n=T, d=d)$series
# generate a fractionally integrated (long-memory) time series
# with a change in mean in the middle of the series
changep <- c(rep(0,T/2), rep(1,T/2))
tseries2 <- tseries+changep
# estimate the long-memory parameter of both series via local Whittle approach.
# The bandwidth to estimate d is chosen as T^0.65, which is usual in literature
d_est <- LongMemoryTS::local.W(tseries, m=floor(1+T^0.65))$d
d_est2 <- LongMemoryTS::local.W(tseries2, m=floor(1+T^0.65))$d
# perform the test on both time series
snwilcoxon(tseries, d=d_est)
snwilcoxon(tseries2, d=d_est2)
# For the series with no change in mean the test does not reject the null hypothesis
# of a constant mean across time at any reasonable significance level.
# For the series with a change in mean the test rejects the null hypothesis
# at a 1% significance level.