Numerical methods for linear least squares

Numerical methods for linear least squares entails the numerical analysis of linear least squares problems.
Introduction.
A general approach to the least squares problem formula_1 can be described as follows. Suppose that we can find an "n" by "m" matrix S 
such that XS is an 
orthogonal projection onto the image of X. Then a solution to our minimization problem is given by
simply because
is exactly a sought for orthogonal projection of formula_4 onto an image of X 
(see the picture below and note that as explained in the
next section the image of X is just a subspace generated by column vectors of X). 
A few popular ways to find such a matrix "S" are described below.
Inverting the matrix of the normal equations.
The algebraic solution of the normal equations with a full-rank matrix "X"T"X" can be written as
where "X"+ is the Moore–Penrose pseudoinverse of "X". Although this equation is correct and can work in many applications, it is not computationally efficient to invert the normal-equations matrix (the Gramian matrix). An exception occurs in numerical smoothing and differentiation where an analytical expression is required.
If the matrix "X"T"X" is well-conditioned and positive definite, implying that it has full rank, the normal equations can be solved directly by using the Cholesky decomposition "R"T"R", where "R" is an upper triangular matrix, giving:
The solution is obtained in two stages, a forward substitution step, solving for z:
followed by a backward substitution, solving for formula_8:
Both substitutions are facilitated by the triangular nature of "R".
Orthogonal decomposition methods.
Orthogonal decomposition methods of solving the least squares problem are slower than the normal equations method but are more numerically stable because they avoid forming the product "X"T"X".
The residuals are written in matrix notation as
The matrix "X" is subjected to an orthogonal decomposition, e.g., the QR decomposition as follows. 
where "Q" is an "m"×"m" orthogonal matrix ("Q"T"Q=I") and "R" is an "n"×"n" upper triangular matrix with formula_12.
The residual vector is left-multiplied by "Q"T.
Because "Q" is orthogonal, the sum of squares of the residuals, "s", may be written as:
Since v doesn't depend on β, the minimum value of "s" is attained when the upper block, u, is zero. Therefore, the parameters are found by solving:
These equations are easily solved as "R" is upper triangular.
An alternative decomposition of "X" is the singular value decomposition (SVD)
where "U" is "m" by "m" orthogonal matrix, "V" is "n" by "n" orthogonal matrix and formula_17 is an "m" by "n" matrix with all its elements outside of the main diagonal equal to "0". The pseudoinverse of formula_17 is easily obtained by inverting its non-zero diagonal elements and transposing. Hence,
where "P" is obtained from formula_17 by replacing its non-zero diagonal elements with ones. Since formula_21 (the property of pseudoinverse), the matrix formula_22 is an orthogonal projection onto the image (column-space) of "X". In accordance with a general approach described in the introduction above (find XS which is an orthogonal projection),
and thus,
is a solution of a least squares problem. This method is the most computationally intensive, but is particularly useful if the normal equations matrix, "X"T"X", is very ill-conditioned (i.e. if its condition number multiplied by the machine's relative round-off error is appreciably large). In that case, including the smallest singular values in the inversion merely adds numerical noise to the solution. This can be cured with the truncated SVD approach, giving a more stable and exact answer, by explicitly setting to zero all singular values below a certain threshold and so ignoring them, a process closely related to factor analysis.
Discussion.
The numerical methods for linear least squares are important because linear regression models are among the most important types of model, both as formal statistical models and for exploration of data-sets. The majority of statistical computer packages contain facilities for regression analysis that make use of linear least squares computations. Hence it is appropriate that considerable effort has been devoted to the task of ensuring that these computations are undertaken efficiently and with due regard to round-off error.
Individual statistical analyses are seldom undertaken in isolation, but rather are part of a sequence of investigatory steps. Some of the topics involved in considering numerical methods for linear least squares relate to this point. Thus important topics can be
Fitting of linear models by least squares often, but not always, arise in the context of statistical analysis. It can therefore be important that considerations of computation efficiency for such problems extend to all of the auxiliary quantities required for such analyses, and are not restricted to the formal solution of the linear least squares problem.
Matrix calculations, like any other, are affected by rounding errors. An early summary of these effects, regarding the choice of computation methods for matrix inversion, was provided by Wilkinson.