Back to Adaptive Vision Library website
You are here: Start » Function Reference » Statistics » LinearRegression
LinearRegression
Computes linear regression of given point set.
Syntax
void avl::LinearRegression ( const atl::Array<atl::real>& inYValues, const atl::Optional<atl::Array<atl::real> >& inXValues, avl::LinearFunction& outLinearFunction, atl::Array<atl::real>& outEstimatedValues, atl::Array<atl::real>& outResiduals, atl::real& outRSquared )
Parameters
| Name | Type | Default | Description | |
|---|---|---|---|---|
![]() |
inYValues | const Array<real>& | Sequence of ordinates | |
![]() |
inXValues | const Optional<Array<real> >& | NIL | Sequence of abscissae, or {0, 1, 2, ...} by default |
![]() |
outLinearFunction | LinearFunction& | Linear function approximating the given point set | |
![]() |
outEstimatedValues | Array<real>& | The result of application of the computed function to the X values | |
![]() |
outResiduals | Array<real>& | Difference between an input Y value and the corresponding estimated value | |
![]() |
outRSquared | real& | Coefficient of determination of output function |
Description
The operation fits a straight line through the set of points in such a way, that sum of squared distances (residuals) between points and fitted line is as small as possible.
Fitted line parameters are calculated as follows:
\[B=\frac{ { n\sum\limits_{ i=0 }^n{ x_{i}y_{i} } } - \sum\limits_{i=0}^n{x_{i} }\sum\limits_{i=0}^n{y_{i} } }{n\sum\limits_{i=0}^n{x_{i}^2}-{\sum\limits_{i=0}^n{x} }^2} \]
\[A=\frac{ {}\sum\limits_{i=0}^n{x_{i} } }{n}-B\frac{\sum\limits_{i=0}^n{y_{i} } }{n}\]
Errors
| Error type | Description |
|---|---|
| DomainError | Inconsistent size of arrays in LinearRegression. |


