aTSA (version 3.1.2)

# trend.test: Trend Test

## Description

Performs an approximate Cox-Stuart or Difference-Sign trend test.

## Usage

`trend.test(x, method = c("cox.stuart", "diff.sign"), plot = FALSE)`

## Arguments

x
a numeric vector or univariate time series.
method
test method. The default is `method = "cox.stuart"`.
plot
a logical value indicating to display the plot of data. The default is `FALSE`.

## Value

A list with class "`htest`" containing the following components:
data.name
a character string giving the names of the data.
method
the type of test applied.
alternative
a character string describing the alternative hypothesis.
p.value
the p-value for the test.
statistic
the value of the test statistic with a name describing it.

## Details

Cox-Stuart or Difference-Sign test is used to test whether the data have a increasing or decreasing trend. They are useful to detect the linear or nonlinear trend. The Cox-Stuart test is constructed as follows. For the given data \$x[1],...,x[t]\$, one can divide them into two sequences with equal number of observations cutted in the midpoint and then take the paired difference, i.e., \$D = x[i] - x[i+c], i = 1, ..., floor(n/2)\$, where \$c\$ is the index of midpoint. Let \$S\$ be the number of positive or negative values in \$D\$. Under the null hypothesis that data have no trend, for large \$n\$ = length(x), \$S\$ is approximately distributed as \$N(n/2,n/4)\$, such that one can immediately obtain the p value. The exact Cox-Stuart trend test can be seen in `cs.test` of `snpar` package.

The Difference-Sign test is constructed as the similar way as Cox-Stuart test. We first let \$D = x[i] - x[i - 1]\$ for \$i = 2, ..., n\$ and then count the number of positive or negative values in \$D\$, defined as \$S\$. Under the null hypothesis, \$S\$ is approximately distributed as \$N((n-1)/2,(n+1)/12)\$. Thus, p-value can be calculated based on the null distribution.

## References

D.R. Cox and A. Stuart (1955). Some quick sign tests for trend in location and dispersion. Biometrika, Vol. 42, pp. 80-95.

P.J. Brockwell, R.A. Davis, Time Series: Theory and Methods, second ed., Springer, New York, 1991. (p. 37)

## Examples

```x <- rnorm(100)
trend.test(x,plot = TRUE) # no trend

x <- 5*(1:100)/100
x <- x + arima.sim(list(order = c(1,0,0),ar = 0.4),n = 100)
trend.test(x,plot = TRUE) # increasing trend
```