wavk_test function

WAVK Trend Test

WAVK Trend Test

Nonparametric test to detect (non-)monotonic parametric trends in time series if(!exists(".Rdpack.currefs")) .Rdpack.currefs <-new.env();Rdpack::insert_citeOnly(keys="@based on@Lyubchich_etal_2013_wavk",package="funtimes",cached_env=.Rdpack.currefs) .

wavk_test( formula, factor.length = c("user.defined", "adaptive.selection"), Window = NULL, q = 3/4, j = c(8:11), B = 1000, method = c("boot", "asympt"), ar.order = NULL, ar.method = "HVK", ic = "BIC", out = FALSE )

Arguments

  • formula: an object of class "formula", specifying the form of the parametric time trend to be tested. Variable tt should be used to specify the form, where tt is specified within the function as a regular sequence on the interval (0,1]. See Examples.

  • factor.length: method to define the length of local windows (factors). Default option

    "user.defined" allows setting 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)), where x is the time series tested. 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". 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". Default is c(8:11). This argument is ignored if

    factor.length = "user.defined".

  • B: number of bootstrap simulations to obtain empirical critical values. Default is 1000.

  • method: method of obtaining critical values: from asymptotical ("asympt") or bootstrap ("boot") distribution. If factor.length = "adaptive.selection" the option "boot" is used.

  • 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.

  • 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".

  • 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.

  • out: logical value indicates whether the full output should be shown. Default is FALSE.

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.

  • parameter: window that was used.

  • estimate: list with the following elements: estimated trend coefficients; user-defined or IC-selected AR order; estimated AR coefficients; and, if factor.length = "adaptive.selection", test results for all considered windows.

Details

See more details in if(!exists(".Rdpack.currefs")) .Rdpack.currefs <-new.env();Rdpack::insert_citeOnly(keys="Lyubchich_Gel_2016_synchronism;textual",package="funtimes",cached_env=.Rdpack.currefs)

and if(!exists(".Rdpack.currefs")) .Rdpack.currefs <-new.env();Rdpack::insert_citeOnly(keys="Lyubchich_2016_trends;textual",package="funtimes",cached_env=.Rdpack.currefs) .

Examples

# Fix seed for reproducible simulations: set.seed(1) #Simulate autoregressive time series of length n with smooth quadratic trend: n <- 100 tsTrend <- 1 + 2*(1:n/n) + 4*(1:n/n)^2 tsNoise <- arima.sim(n = n, list(order = c(2, 0, 0), ar = c(-0.7, -0.1))) U <- tsTrend + tsNoise plot.ts(U) #Test H0 of a linear trend, with m-out-of-n selection of the local window: ## Not run: wavk_test(U ~ t, factor.length = "adaptive.selection") ## End(Not run) # Sample output: ## Trend test by Wang, Akritas, and Van Keilegom (bootstrap p-values) ## ##data: U ##WAVK test statistic = 5.3964, adaptively selected window = 4, p-value < 2.2e-16 ##alternative hypothesis: trend is not of the form U ~ t. #Test H0 of a quadratic trend, with m-out-of-n selection of the local window #and output of all results: ## Not run: wavk_test(U ~ poly(t, 2), factor.length = "adaptive.selection", out = TRUE) ## End(Not run) # Sample output: ## Trend test by Wang, Akritas, and Van Keilegom (bootstrap p-values) ## ##data: U ##WAVK test statistic = 0.40083, adaptively selected window = 4, p-value = 0.576 ##alternative hypothesis: trend is not of the form U ~ poly(t, 2). ##sample estimates: ##$trend_coefficients ##(Intercept) poly(t, 2)1 poly(t, 2)2 ## 3.408530 17.681422 2.597213 ## ##$AR_order ##[1] 1 ## ##$AR_coefficients ## phi_1 ##[1] -0.7406163 ## ##$all_considered_windows ## Window WAVK-statistic p-value ## 4 0.40083181 0.576 ## 5 0.06098625 0.760 ## 7 -0.57115451 0.738 ## 10 -1.02982929 0.360 # Test H0 of no trend (constant trend) using asymptotic distribution of statistic. wavk_test(U ~ 1, method = "asympt") # Sample output: ## Trend test by Wang, Akritas, and Van Keilegom (asymptotic p-values) ## ##data: U ##WAVK test statistic = 25.999, user-defined window = 10, p-value < 2.2e-16 ##alternative hypothesis: trend is not of the form U ~ 1.

References

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

See Also

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

Author(s)

Yulia R. Gel, Vyacheslav Lyubchich, Ethan Schaeffer

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

Useful links