Summarizing model fits for segmented regression
summary method for class segmented
.
## S3 method for class 'segmented' summary(object, short = FALSE, var.diff = FALSE, p.df="p", .vcov=NULL, ...) ## S3 method for class 'summary.segmented' print(x, short=x$short, var.diff=x$var.diff, digits = max(3, getOption("digits") - 3), signif.stars = getOption("show.signif.stars"),...)
object |
Object of class "segmented". |
short |
logical indicating if the ‘short’ summary should be printed. |
var.diff |
logical indicating if different error variances should be computed
in each interval of the segmented variable, see Details. If |
p.df |
A character as a function of |
.vcov |
Optional. The full covariance matrix for the parameter estimates. If provided, standard errors are computed (and displayed) according to this matrix. |
x |
a |
digits |
controls number of digits printed in output. |
signif.stars |
logical, should stars be printed on summary tables of coefficients? |
... |
further arguments. |
If short=TRUE
only coefficients of the segmented relationships are printed.
If var.diff=TRUE
and there is only one segmented variable, different error variances are
computed in the intervals defined by the estimated breakpoints of the segmented variable.
For the jth interval with nj observations, the error variance is estimated via RSSj/(nj-p),
where RSS_j is the residual sum of squares in interval j, and p is the number of model parameters. This number to be subtracted from nj can be changed via argument p.df
. For instance p.df="0"
uses RSSj/(nj), and p.df="p/K"
leads to RSSj/(nj-p/K), where K is the number of groups (segments), and p/K can be interpreted as the average number of model parameter in that group.
Note var.diff=TRUE
only affects the estimates covariance matrix. It does not affect the parameter estimates, neither the log likelihood and relevant measures, such as AIC or BIC. In other words, var.diff=TRUE
just provides 'alternative' standard errors, probably appropriate when the error variances are different before/after the estimated breakpoints. Also p-values are computed using the t-distribution with 'naive' degrees of freedom (as reported in object$df.residual
).
If var.diff=TRUE
the variance-covariance matrix of the estimates is computed via the
sandwich formula,
(X'X)^{-1}X'VX(X'X)^{-1}
where V is the diagonal matrix including the different group-specific error variance estimates. Standard errors are the square root of the main diagonal of this matrix.
A list (similar to one returned by segmented.lm
or segmented.glm
) with additional components:
psi |
estimated break-points and relevant (approximate) standard errors |
Ttable |
estimates and standard errors of the model parameters. This is similar
to the matrix |
gap |
estimated coefficients, standard errors and t-values for the ‘gap’ variables |
cov.var.diff |
if |
sigma.new |
if |
df.new |
if |
Vito M.R. Muggeo
##continues example from segmented() # summary(segmented.model,short=TRUE) ## an heteroscedastic example.. # set.seed(123) # n<-100 # x<-1:n/n # y<- -x+1.5*pmax(x-.5,0)+rnorm(n,0,1)*ifelse(x<=.5,.4,.1) # o<-lm(y~x) # oseg<-segmented(o,seg.Z=~x,psi=.6) # summary(oseg,var.diff=TRUE)$sigma.new
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.