$ontext Linear Least Squares Regression NIST test data Erwin kalvelagen, dec 2004 Reference: http://www.itl.nist.gov/div898/strd/lls/lls.shtml Wampler, R. H. (1970). A Report of the Accuracy of Some Widely-Used Least Squares Computer Programs. Journal of the American Statistical Association, 65, pp. 549-565. Model: Polynomial Class 6 Parameters (B0,B1,...,B5) y = B0 + B1*x + B2*(x**2) + B3*(x**3)+ B4*(x**4) + B5*(x**5) Certified Regression Statistics Standard Deviation Parameter Estimate of Estimate B0 1.00000000000000 2152.32624678170 B1 1.00000000000000 2363.55173469681 B2 1.00000000000000 779.343524331583 B3 1.00000000000000 101.475507550350 B4 1.00000000000000 5.64566512170752 B5 1.00000000000000 0.112324854679312 Residual Standard Deviation 2360.14502379268 R-Squared 0.999995559025820 Certified Analysis of Variance Table Source of Degrees of Sums of Mean Variation Freedom Squares Squares F Statistic Regression 5 18814317208116.7 3762863441623.33 675524.458240122 Residual 15 83554268.0000000 5570284.53333333 $offtext set i 'cases' /i1*i21/; table data(i,*) y x i1 760. 0 i2 -2042. 1 i3 2111. 2 i4 -1684. 3 i5 3888. 4 i6 1858. 5 i7 11379. 6 i8 17560. 7 i9 39287. 8 i10 64382. 9 i11 113159. 10 i12 175108. 11 i13 273291. 12 i14 400186. 13 i15 581243. 14 i16 811568. 15 i17 1121004. 16 i18 1506550. 17 i19 2002767. 18 i20 2611612. 19 i21 3369180. 20 ; set j /j0*j5/; set j1(j); j1(j)$(ord(j)>1) = yes; parameter v(j); v(j) = ord(j)-1; parameter x(i,j); x(i,'j0') = 1; x(i,j1) = power(data(i,'x'),v(j1)); display x; variables b(j) 'coefficients to estimate' sse 'sum of squared errors' ; equation fit(i) 'equation to fit' sumsq ; sumsq.. sse =n= 0; fit(i).. data(i,'y') =e= sum(j, b(j)*x(i,j)); option lp = ls; model leastsq /fit,sumsq/; solve leastsq using lp minimizing sse; option decimals=8; display b.l; parameter Bcert(j); Bcert(j) = 1; scalar err "Sum of squared errors in estimates"; err = sum(j, sqr(bcert(j)-b.l(j))); display err; abort$(err>0.0001) "Solution not accurate";