Learn R Programming

skedastic (version 1.0.0)

dDtrend: Probability mass function of nonparametric trend statistic \(D\)

Description

This function computes \(\Pr(D = k)\), i.e. the probability mass function for \(D=\sum_{i=1}^{n} (R_i - i)^2\), the nonparametric trend statistic proposed by Lehmann75;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. The function is used within horn in computing \(p\)-values for Horn's nonparametric test for heteroskedasticity in a linear regression model Horn81skedastic. 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.

Usage

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

Arguments

k

An integer of length \(\ge 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.

Value

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

References

See Also

horn

Examples

Run this code
# NOT RUN {
prob <- dDtrend(k = "all", n = 9)
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, 250), yaxs = "i", ylim = c(0, 1.05 * max(prob)))
  axis(side = 1, at = seq(0, 250, 25), las = 2)
for (i in seq_along(values)) {
 lines(c(values[i], values[i]), c(0, prob[i]))
}

# }

Run the code above in your browser using DataLab