Computes confidence intervals for the breakpoints in a fitted `segmented' model.
# S3 method for segmented
confint(object, parm, level=0.95, method=c("delta", "score", "gradient"),
rev.sgn=FALSE, var.diff=FALSE, is=FALSE, digits=max(4, getOption("digits") - 1),
.coef=NULL, .vcov=NULL, ...)
A matrix including point estimate and confidence limits of the breakpoint(s) for the
segmented variable possibly specified in parm
.
a fitted segmented
object.
the segmented variable of interest. If missing the first segmented variable in object
is considered.
the confidence level required, default to 0.95.
which confidence interval should be computed. One of "delta"
, "score"
, or "gradient"
. Can be abbreviated.
vector of logicals. The length should be equal to the length of parm
; recycled otherwise.
when TRUE
it is assumed that the current parm
is `minus' the actual segmented variable,
therefore the sign is reversed before printing. This is useful when a null-constraint has been set on the last slope.
logical. If method="delta"
, and there is a single segmented variable, var.diff=TRUE
leads to standard errors based on sandwich-type formula of the covariance matrix. See Details in summary.segmented
.
logical. If method="delta"
, is=TRUE
means that the full covariance matrix is computed via
vcov(.., is=TRUE)
controls the number of digits to print when returning the output.
The regression parameter estimates. If unspecified (i.e. NULL
), it is computed internally by coef(object)
.
The full covariance matrix of estimates. If unspecified (i.e. NULL
), the covariance matrix is computed internally by vcov(object)
.
additional parameters referring to Score-based confidence intervals, such as "h"
, "d.h"
, "bw"
, "msgWarn"
, and "n.values"
specifying the number of points used to profile the Score (or Gradient) statistic.
Vito M.R. Muggeo
confint.segmented
computes confidence limits for the breakpoints. Currently there are three options, see argument method
.
method="delta"
uses the standard error coming from the Delta
method for the ratio of two random variables. This value is an approximation (slightly) better than the
one reported in the `psi' component of the list returned by any segmented
method. The resulting
confidence intervals are based on the asymptotic Normal distribution of the breakpoint
estimator which is reliable just for clear-cut kink relationships. See Details in segmented
.
method="score"
or method="gradient"
compute the
confidence interval via profiling the Score or the Gradient statistics smoothed out by the induced smoothing paradigm, as discussed in the reference below.
Muggeo, V.M.R. (2017) Interval estimation for the breakpoint in segmented regression: a smoothed score-based approach. Australian & New Zealand Journal of Statistics 59, 311--322.
segmented
and lines.segmented
to plot the estimated breakpoints with corresponding
confidence intervals.
set.seed(10)
x<-1:100
z<-runif(100)
y<-2+1.5*pmax(x-35,0)-1.5*pmax(x-70,0)+10*pmax(z-.5,0)+rnorm(100,0,2)
out.lm<-lm(y~x)
o<-segmented(out.lm,seg.Z=~x+z,psi=list(x=c(30,60),z=.4))
confint(o) #delta CI for the 1st variable
confint(o, "x", method="score") #also method="g"
Run the code above in your browser using DataLab