sm.monotonicity {sm} | R Documentation |
A test of monotonicity in a regression curve.
Description
This function uses the idea of a ‘critical bandwidth’ to assess the evidence that a regression curve is non-monotonic. A hypothesis test is carried out by bootstrap methods and the empirical p-value is reported. Response variables on a continuous scale or with binomial variation can be handled.
Usage
sm.monotonicity(x, y, N = rep(1, length(y)), h, type = "continuous", ...)
Arguments
x |
a vector of covariate values. |
y |
a vector of responses observed at the covariate locations. |
N |
a vector of sample sizes at the covariate locations, when the responses have a binomial error structure. |
h |
a smoothing parameter to be used in the construction of the nonparametric
regression estimates. A normal kernel
function is used and |
type |
an indicator of whether the response variable is on a |
... |
other optional parameters are passed to the |
Details
The first reference below describes the statistical methods used in the function. The test is an extension of one by Silverman (1986) for density estimation.
Value
a list containing the following items
p |
the p-value for the test of the null hypothesis that the true curve is monotonic. |
hcrit |
the ‘critical’ smoothing parameter. This is the smallest value which, when applied to the observed data, makes the curve monotonic. |
h |
the smoothing parameter used for double-smoothing (see the reference below). |
Side Effects
a plot of the curves generated by the bootstrap procedure is produced,
unless the option display="none"
is set. Those curves which
are non-monotonic, and therefore contribute to the empirical p-value,
are drawn in red.
References
Bowman, A.W., Jones, M.C. and Gijbels, I. (1998). Testing monotonicity of regression. J.Comp.Graph.Stat. 7, 489-500.
See Also
Examples
## Not run:
# Radiocarbon dating data
with(radioc, {
ind <- (Cal.age>5000 & Cal.age<6000)
cal.age <- Cal.age[ind]
rc.age <- Rc.age[ind]
sm.monotonicity(cal.age, rc.age, method = "aicc", nboot = 200)
})
# Hosmer & Lemeshow birth data
with(birth, {
sm.monotonicity(Lwt[Smoke == "N"], Low[Smoke == "N"],
type = "binomial")
})
## End(Not run)