Piecewise Linear Regression
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. url: www.econ.uiuc.edu/~roger Roger Koenker email rkoenker at uiuc.edu Department of Economics vox: 217-333-4558 University of Illinois fax: 217-244-6678 Champaign, IL 61820
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
\
\ /\
\/ \
\
\
How do I do this in R ?
Thank you,
Abhyuday
______________________________________________ R-help at stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting- guide.html