Sieve Bootstrap Based Test for the Null Hypothesis of no Trend
Sieve Bootstrap Based Test for the Null Hypothesis of no Trend
A combination of time series trend tests for testing the null hypothesis of no trend, versus the alternative hypothesis of a linear trend (Student's t-test), or monotonic trend (Mann--Kendall test), or more general, possibly non-monotonic trend (WAVK test).
notrend_test( x, B =1000, test = c("t","MK","WAVK"), ar.method ="HVK", ar.order =NULL, ic ="BIC", factor.length = c("user.defined","adaptive.selection"), Window =NULL, q =3/4, j = c(8:11))
Arguments
x: a vector containing a univariate time series. Missing values are not allowed.
B: number of bootstrap simulations to obtain empirical critical values. Default is 1000.
test: trend test to implement: Student's t-test ("t", default), Mann--Kendall test ("MK"), or WAVK test ("WAVK", see WAVK).
ar.method: method of estimating autoregression coefficients. Default "HVK" delivers robust difference-based estimates by if(!exists(".Rdpack.currefs")) .Rdpack.currefs <-new.env();Rdpack::insert_citeOnly(keys="Hall_VanKeilegom_2003;textual",package="funtimes",cached_env=.Rdpack.currefs) . Alternatively, options of ar function can be used, such as "burg", "ols", "mle", and "yw".
ar.order: order of the autoregressive model when ic = "none", or the maximal order for IC-based filtering. Default is round(10*log10(length(x))), where x is the time series.
ic: information criterion used to select the order of autoregressive filter (AIC of BIC), considering models of orders p= 0,1,...,ar.order. If ic = "none", the AR(p) model with p=ar.order is used, without order selection.
factor.length: method to define the length of local windows (factors). Used only if test = "WAVK". Default option "user.defined" allows to set only one value of the argument Window. The option "adaptive.selection" sets method = "boot" and employs heuristic m-out-of-n subsampling algorithm if(!exists(".Rdpack.currefs")) .Rdpack.currefs <-new.env();Rdpack::insert_citeOnly(keys="Bickel_Sakov_2008",package="funtimes",cached_env=.Rdpack.currefs) to select an optimal window from the set of possible windows length(x)*q^j whose values are mapped to the largest previous integer and greater than 2. Vector x is the time series tested.
Window: length of the local window (factor), default is round(0.1*length(x)). Used only if test = "WAVK". This argument is ignored if
factor.length = "adaptive.selection".
q: scalar from 0 to 1 to define the set of possible windows when factor.length ="adaptive.selection". Used only if test = "WAVK". Default is 3/4. This argument is ignored if factor.length ="user.defined".
j: numeric vector to define the set of possible windows when factor.length ="adaptive.selection". Used only if test = "WAVK". Default is c(8:11). This argument is ignored if factor.length ="user.defined".
Returns
A list with class "htest" containing the following components: - method: name of the method.
data.name: name of the data.
statistic: value of the test statistic.
p.value: p-value of the test.
alternative: alternative hypothesis.
estimate: list with the following elements: employed AR order and estimated AR coefficients.
parameter: window that was used in WAVK test, included in the output only if test = "WAVK".
Details
This function tests the null hypothesis of no trend versus different alternatives. To set some other shape of trend as the null hypothesis, use wavk_test. Note that wavk_test employs hybrid bootstrap, which is an alternative to the sieve bootstrap employed by the current function.
Examples
## Not run:# Fix seed for reproducible simulations:set.seed(1)#Simulate autoregressive time series of length n with smooth linear trend:n <-200tsTrend <-1+2*(1:n/n)tsNoise <- arima.sim(n = n, list(order = c(2,0,0), ar = c(0.5,-0.1)))U <- tsTrend + tsNoise
plot.ts(U)#Use t-testnotrend_test(U)#Use Mann--Kendall test and Yule-Walker estimates of the AR parametersnotrend_test(U, test ="MK", ar.method ="yw")#Use WAVK test for the H0 of no trend, with m-out-of-n selection of the local window:notrend_test(U, test ="WAVK", factor.length ="adaptive.selection")# Sample output:## Sieve-bootstrap WAVK trend test####data: U##WAVK test statistic = 21.654, moving window = 15, p-value < 2.2e-16##alternative hypothesis: (non-)monotonic trend.##sample estimates:##$AR_order##[1] 1####$AR_coefficients## phi_1##0.4041848## End(Not run)