On Sun, 20 Jan 2013, Geoffrey Smith wrote:
Can anyone please tell me how to get the r-squared output from a
piecewise (segmented) regression using the strucchange package? Here is
the R code I have tried thus far.
library(lmtest)
library(strucchange)
data <- ts(c(rnorm(30), runif(30)), frequency = 12, start = c(2005, 01))
bpts <- breakpoints(data ~ 1)
You can rather easily compute the R-squared by hand:
var(fitted(bpts))/var(data)
Alternatively, you can fit a segmented linear regression with lm() by
using the factor coding the segments and then extract the R-squared as
usual:
m <- lm(data ~ breakfactor(bpts))
summary(m)$r.squared
Finally, the R-squared is just a simple transformation of the residual sum
of squares. Hence, you can also compute it via
1 - summary(bpts)$RSS[1,-1] / summary(bpts)$RSS[1,1]
Personally, I prefer to either look at RSS directly or at penalized
measures such as BIC/AIC, which is why RSS/BIC are included in summaries
and plots and R-squared is not.
Best,
Z
print(bpts)
summary(bpts)
coeftest(bpts)
[[alternative HTML version deleted]]
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.