Leastangle regression
Part of a series on 
Regression analysis 

Models 
Estimation 
Background 

In statistics, leastangle regression (LARS) is an algorithm for fitting linear regression models to highdimensional data, developed by Bradley Efron, Trevor Hastie, Iain Johnstone and Robert Tibshirani.^{[1]}
Suppose we expect a response variable to be determined by a linear combination of a subset of potential covariates. Then the LARS algorithm provides a means of producing an estimate of which variables to include, as well as their coefficients.
Instead of giving a vector result, the LARS solution consists of a curve denoting the solution for each value of the L1 norm of the parameter vector. The algorithm is similar to forward stepwise regression, but instead of including variables at each step, the estimated parameters are increased in a direction equiangular to each one's correlations with the residual.
Pros and cons
The advantages of the LARS method are:
 It is computationally just as fast as forward selection.
 It produces a full piecewise linear solution path, which is useful in crossvalidation or similar attempts to tune the model.
 If two variables are almost equally correlated with the response, then their coefficients should increase at approximately the same rate. The algorithm thus behaves as intuition would expect, and also is more stable.
 It is easily modified to produce efficient algorithms for other methods producing similar results, like the lasso and forward stagewise regression.
 It is effective in contexts where p >> n (i.e., when the number of predictors p is significantly greater than the number of points n)^{[2]}
The disadvantages of the LARS method include:
 With any amount of noise in the dependent variable and with high dimensional multicollinear independent variables, there is no reason to believe that the selected variables will have a high probability of being the actual underlying causal variables. This problem is not unique to LARS, as it is a general problem with variable selection approaches that seek to find underlying deterministic components. Yet, because LARS is based upon an iterative refitting of the residuals, it would appear to be especially sensitive to the effects of noise. This problem is discussed in detail by Weisberg in the discussion section of the Efron et al. (2004) Annals of Statistics article.^{[3]} Weisberg provides an empirical example based upon reanalysis of data originally used to validate LARS that the variable selection appears to have problems with highly correlated variables.
 Since almost all high dimensional data in the real world will just by chance exhibit some fair degree of collinearity across at least some variables, the problem that LARS has with correlated variables may limit its application to high dimensional data.
Algorithm
The basic steps of the Leastangle regression algorithm are:
 Start with all coefficients [math]\displaystyle{ \beta }[/math] equal to zero.
 Find the predictor [math]\displaystyle{ x_j }[/math] most correlated with [math]\displaystyle{ y }[/math]
 Increase the coefficient [math]\displaystyle{ \beta_j }[/math] in the direction of the sign of its correlation with [math]\displaystyle{ y }[/math]. Take residuals [math]\displaystyle{ r = y  \hat{y} }[/math] along the way. Stop when some other predictor [math]\displaystyle{ x_k }[/math] has as much correlation with [math]\displaystyle{ r }[/math] as [math]\displaystyle{ x_j }[/math] has.
 Increase ([math]\displaystyle{ \beta_j }[/math], [math]\displaystyle{ \beta_k }[/math]) in their joint least squares direction, until some other predictor [math]\displaystyle{ x_m }[/math] has as much correlation with the residual [math]\displaystyle{ r }[/math].
 Increase ([math]\displaystyle{ \beta_j }[/math], [math]\displaystyle{ \beta_k }[/math], [math]\displaystyle{ \beta_m }[/math]) in their joint least squares direction, until some other predictor [math]\displaystyle{ x_n }[/math] has as much correlation with the residual [math]\displaystyle{ r }[/math].
 Continue until: all predictors are in the model^{[4]}
Software implementation
Leastangle regression is implemented in R via the lars package, in Python with the scikitlearn package, and in SAS via the GLMSELECT procedure.
See also
References
 ↑ Efron, Bradley; Hastie, Trevor; Johnstone, Iain; Tibshirani, Robert (2004). "Least Angle Regression". Annals of Statistics 32 (2): pp. 407–499. doi:10.1214/009053604000000067. http://statweb.stanford.edu/~tibs/ftp/lars.pdf.
 ↑ Hastie, Trevor; Robert, Tibshirani; Jerome, Friedman (2009). The Elements of Statistical Learning Data Mining, Inference, and Prediction (2nd ed. 2009.). Springer New York. p. 76. doi:10.1007/9780387848587. https://web.stanford.edu/~hastie/Papers/ESLII.pdf.
 ↑ See Discussion by Weisberg following Efron, Bradley; Hastie, Trevor; Johnstone, Iain; Tibshirani, Robert (2004). "Least Angle Regression". Annals of Statistics 32 (2): pp. 407–499. doi:10.1214/009053604000000067. http://statweb.stanford.edu/~imj/WEBLIST/2004/LarsAnnStat04.pdf.
 ↑ "A simple explanation of the Lasso and Least Angle Regression". http://statweb.stanford.edu/~tibs/lasso/simple.html.
Original source: https://en.wikipedia.org/wiki/ Leastangle regression.
Read more 