Hi, 

Let me pick up this old thread. How does one extract the locations of the knots 
(ends of the segments) from the fit object below? 

Thanks, 
Vadim 


>From : roger koenker < roger_at_ysidro.econ.uiuc.edu > 
Date : Tue 31 May 2005 - 10:23:19 EST 




It is conventional to fit piecewise linear models by assuming Gaussian error 
and 
using least squares methods, but one can argue that median regression provides 
a more robust approach to this problem. You might consider the following fit: 

x = c 
(6.25,6.25,12.50,12.50,18.75,25.00,25.00,25.00,31.25,31.25,37.50,37.50,5 
0.00,50.00,62.50,62.50,75.00,75.00,75.00,100.00,100.00) y = c 
(0.328,0.395,0.321,0.239,0.282,0.230,0.273,0.347,0.211,0.210,0.259,0.186 
,0.301,0.270,0.252,0.247,0.277,0.229,0.225,0.168,0.202) library(quantreg) 
plot(x,y) 
fit <- rqss(y ~ qss(x)) 
plot(fit) 

it gives 5 segments not 3, but this can be controlled by the choice of lambda 
in the qss 
function, for example, try: 

fit <- rqss(y ~ qss(x,lambda=3) 
plot(fit,col="red") 

which gives a fit like you suggest might be reasonable with only three 
segments. ... some text removed ... 




On May 30, 2005, at 6:38 PM, Abhyuday Mandal wrote: 

> Hi, 
> 
> I need to fit a piecewise linear regression. 
> 
> x = c 
> (6.25,6.25,12.50,12.50,18.75,25.00,25.00,25.00,31.25,31.25,37.50,37.50 
> ,50.00,50.00,62.50,62.50,75.00,75.00,75.00,100.00,100.00) 
> y = c 
> (0.328,0.395,0.321,0.239,0.282,0.230,0.273,0.347,0.211,0.210,0.259,0.1 
> 86,0.301,0.270,0.252,0.247,0.277,0.229,0.225,0.168,0.202) 
> 
> there are two change points. so the fitted curve should look like 


        [[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.

Reply via email to