Back to FabImage Library website
You are here: Start » Function Reference » Data Classification » Regression Analysis » LinearRegression

LinearRegression
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | FoundationBasic |
Computes linear regression of given point set.
Syntax
C++
C#
void fil::LinearRegression ( const ftl::Array<float>& inYValues, ftl::Optional<const ftl::Array<float> &> inXValues, fil::LinearFunction& outLinearFunction, ftl::Array<float>& outEstimatedValues, ftl::Array<float>& outResiduals, float& outRSquared )
Parameters
Name | Type | Default | Description | |
---|---|---|---|---|
![]() |
inYValues | const Array<float>& | Sequence of ordinates | |
![]() |
inXValues | Optional<const Array<float> &> | NIL | Sequence of abscissae, or {0, 1, 2, ...} by default |
![]() |
outLinearFunction | LinearFunction& | Linear function approximating the given point set | |
![]() |
outEstimatedValues | Array<float>& | The result of application of the computed function to the X values | |
![]() |
outResiduals | Array<float>& | Difference between an input Y value and the corresponding estimated value | |
![]() |
outRSquared | float& | 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
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Inconsistent size of arrays in LinearRegression. |