## RE: Re: st: Total Least Squares Regression, anyone

Thomas J. Steichen wrote:

As a first thought, eivreg seems a reasonable approach. However, the Stata implementation with a single X variable is identical to least-squares regression, a la regress, as it forces reliability to be 1 with a single X.

An alternative is the reduced-major axis (RMA) equation provided by program concord. Concord also provides some of the other mentioned stats.

A second alternative is to solve for the TLS regression coefficients by minimizing sum((y - (a + b*x))^2 / (1 + b^2)) over the data.

I'm not sure what is meant by "standard deviation of the regression" but I suspect it is just rmse = sqrt(sum(y - yhat)^2/(n-2)), which can be computed once you have the slope and intercept.

--------------------------------------------------------------------------------

I didn't think that -eivreg- forced the reliability to be one in any circumstances, even with a single predictor. It defaults to one if you don't specify otherwise, but even with one predictor, it allows you to specify reliabilty less than one (but at least a smidgeon greater than the coefficient of determination of the predictor regressed on the response).

I've seen the second alternative described as Deming Regression (http://support.sas.com/techsup/faq/stat_key/a_j.html#errinvar). -amoeba- could be used for this. You should even be able to us -nl- with iterative re-weighting to get the pentultimate minimization of the expression.

The "standard deviation" I believe is the sigma_k+1 on Page 10 of www-stat.wharton.upenn.edu/~bob/stat540/factor.pdf

You can find a Fortran 90 program of Van Huffel's total least squares algorithm at http://users.bigpond.net.au/amiller/VanHuffel/total_ls.f90 but writing from scratch should be more straightforward than translating the Fortran into Mata.

Joseph Coveney

* * For searches and help try: * http://www.stata.com/support/faqs/res/findit.html * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

Tag:

Links to this post: