pKSdist {robcp}R Documentation

Asymptotic cumulative distribution for the Huberized CUSUM Test statistic

Description

Computes the asymptotic cumulative distribution of the statistic of teststat.

Usage

pKSdist(tn, tol = 1e-8)
pbessel3(tn, h)

Arguments

tn

vector of test statistics (numeric). For pbessel3 length of tn has to be 1.

h

dimension of time series (integer). If h is equal to 1 pbessel3 uses pKS2 to compute the corresponding probability.

tol

tolerance (numeric).

Details

For a single time series, the distribution is the same distribution as in the two sample Kolmogorov Smirnov Test, namely the distribution of the maximal value of the absolute values of a Brownian bridge. It is computated as follows (van Mulbregt, 2018):

For t_n(x) < 1:

P(t_n(X) ≤ t_n(x)) = √{2 * π} / t_n(x) * t (1 + t^8(1 + t^{16}(1 + t^{24}(1 + ...))))

up to t^{8 * k_{max}}, k_{max} = \lfloor √{2 - \log(tol)}\rfloor where t = \exp(-π^2 / (8*x^2))

else:

P(t_n(X) ≤ t_n(x)) = 2 * ∑_{k = 1}^{∞} (-1)^{k - 1} * \exp(-2*k^2*x^2)

until |2 * (-1)^{k - 1} * \exp(-2*k^2*x^2) - 2 * (-1)^{(k-1) - 1} * \exp(-2*(k-1)^2*x^2)| ≤ tol.

In case of multiple time series, the distribution equals that of the maximum of an h dimensional squared Bessel bridge. It can be computed by (Kiefer, 1959):

P(t_n(X) ≤ t_n(x)) = (4 / (Γ(h / 2) 2^{h / 2} t_n^h)) ∑_{i = 1}^{∞} ( ((γ_{(h - 2)/2, n})^{h - 2} \exp(-(γ_{(h - 2)/2, n})^2 / (2t_n^2))) / (J_{h/2}(γ_{(h - 2)/2, n}))^2 )

where J_h is the Bessel function of first kind and h-th order, Γ is the gamma function and γ_{h, n} denotes the n-th zero of J_h.

Value

vector of P(t_n(X) ≤ tn[i]).

Author(s)

Sheila Görz, Alexander Dürre

References

van Mulbregt, P. (2018) "Computing the Cumulative Distribution Function and Quantiles of the limit of the Two-sided Kolmogorov-Smirnov Statistic." arXiv preprint arXiv:1803.00426.

/src/library/stats/src/ks.c rev60573

Kiefer, J. (1959). "K-sample analogues of the Kolmogorov-Smirnov and Cramer-V. Mises tests", The Annals of Mathematical Statistics, 420–447.

See Also

psi, teststat, h_cumsum, huber_cusum

Examples

# single time series
timeSeries <- c(rnorm(20, 0), rnorm(20, 2))
tn <- teststat(timeSeries)

pKSdist(tn)

# two time series
timeSeries <- matrix(c(rnorm(20, 0), rnorm(20, 2), rnorm(20, 1), rnorm(20, 3), 
                     ncol = 2))
tn <- teststat(timeSeries)

pbessel3(tn, 2)


[Package robcp version 0.2.4 Index]