<>
Section 7.4.1 of IMEUS (below) contains some of that material. It does
not work from first principles, but the algebra involved with linear
splines is very straightforward in terms of restricted least squares.
For a linear spline, the function must equal the same value to the
left and right of each knot point, as discussed in 7.4.1. Thus if we
did not have -mkspline-, we could easily do what it is doing:
-----------------------------
webuse lutkepohl,clear
g t1 = 0
g t2 = 0
g a1 = tin(1960q1,1974q4)
g a2 = tin(1975q1,1982q4)
replace t1 = qtr if tin(1960q1,1974q4)
replace t2 = qtr if tin(1975q1,1982q4)
reg income a1 a2 t1 t2, nocons hascons
predict double ihat, xb
tsline ihat if tin(1960q1,1974q4) || tsline ihat if tin(1975q1,1982q4)
// 1982q4 is t = 60; apply continuity
constraint def 1 a1 + t1*60 = a2 + t2*60
cnsreg income a1 a2 t1 t2, nocons c(1)
predict double ihat2, xb
tsline ihat2 if tin(1960q1,1974q4) || tsline ihat2 if tin(1975q1,1982q4)
--------------------------------
Compare the two graphs. Notice that the constrained function is
continuous (but not differenttiable) at the single knot point. (We
could easily add additional knot points to this function). If we
imposed that the derivative of the function was equal to the left and
right, we'd have a quadratic spline. If we imposed that both first and
second derivatives were equal to the left and right, we'd have a cubic
spline. But linear splines are just predicted values that obey
continuity over the variable at each knot point.
Kit Baum | Boston College Economics & DIW Berlin | http://ideas.repec.org/e/pba1.html
An Introduction to Stata Programming
| http://www.stata-press.com/books/isp.html
An Introduction to Modern Econometrics Using Stata | http://www.stata-press.com/books/imeus.html
On May 6, 2009, at 02:33 , statalist-digest wrote:
Thanks. Actually, -mkspline- computes *linear* splines. For instance,
the following code:
. mkspline Age1 44 Age2 = Age
. regress Y Age1 Age2
fits a continuous, piecewise linear model of E(Y|Age) for which the
slope is permitted to change abruptly at Age=44.
Thus I am looking for a reference that specifically explains what
algorithm and formulas are implemented in -mkspline-, and perhaps also
discusses uses of linear splines and gives examples where they are
used to good effect.
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/