notrend_test function

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=p= 0,1,...,ar.order. If ic = "none", the AR(pp) model with p=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 mm-out-of-nn 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/43/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: pp-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 <- 200 tsTrend <- 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-test notrend_test(U) #Use Mann--Kendall test and Yule-Walker estimates of the AR parameters notrend_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)

References

if(!exists(".Rdpack.currefs")) .Rdpack.currefs <-new.env();Rdpack::insert_all_ref(.Rdpack.currefs)

See Also

ar, HVK, WAVK, wavk_test, vignette("trendtests", package = "funtimes")

Author(s)

Vyacheslav Lyubchich

  • Maintainer: Vyacheslav Lyubchich
  • License: GPL (>= 2)
  • Last published: 2023-03-21

Useful links