dDtrend: Probability mass function of nonparametric trend statistic D

View source: R/trend.R

dDtrendR Documentation

Probability mass function of nonparametric trend statistic D

Description

This function computes \Pr(D = k), i.e. the probability mass function for D=∑_{i=1}^{n} (R_i - i)^2, the nonparametric trend statistic proposed by \insertCiteLehmann75;textualskedastic, under the assumption that the ranks R_i are computed on a series of n independent and identically distributed random variables with no ties.

Usage

dDtrend(k = "all", n, override = FALSE)

Arguments

k

An integer of length ≥ 1 or a character "all" (the default) indicating that the probability mass function should be applied to the entire support of D.

n

A positive integer representing the number of observations in the series. Note that computation time increases rapidly with n and is infeasible for n>11.

override

A logical. By default, the function aborts if n > 11 due to the prohibitively slow computation (which may cause some systems to crash). Setting this argument to TRUE overrides the abort.

Details

The function is used within horn in computing p-values for Horn's nonparametric test for heteroskedasticity in a linear regression model \insertCiteHorn81skedastic. The support of D consists of consecutive even numbers from 0 to \frac{n(n-1)(n+1)}{3}, with the exception of the case n=3, when the value 4 is excluded from the support. Note that computation speed for k = "all" is about the same as when k is set to an individual integer value, because the entire distribution is still computed in the latter case.

Value

A double vector containing the probabilities corresponding to the integers in its names attribute.

References

\insertAllCited

See Also

horn

Examples

prob <- dDtrend(k = "all", n = 6)
values <- as.integer(names(prob))
plot(c(values[1], values[1]), c(0, prob[1]), type = "l",
  axes = FALSE, xlab = expression(k), ylab = expression(Pr(D == k)),
  xlim = c(0, 70), yaxs = "i", ylim = c(0, 1.05 * max(prob)))
  axis(side = 1, at = seq(0, 70, 10), las = 2)
for (i in seq_along(values)) {
 lines(c(values[i], values[i]), c(0, prob[i]))
}


skedastic documentation built on Nov. 10, 2022, 5:43 p.m.