Back to Aurora Vision Library website

You are here: Start » Function Reference » Data Classification » Regression Analysis » LinearRegression

LinearRegression


Header: AVL.h
Namespace: avl
Module: FoundationBasic

Computes linear regression of given point set.

Syntax

C++
C#
 
void avl::LinearRegression
(
	const atl::Array<float>& inYValues,
	atl::Optional<const atl::Array<float> &> inXValues,
	avl::LinearFunction& outLinearFunction,
	atl::Array<float>& outEstimatedValues,
	atl::Array<float>& outResiduals,
	float& outRSquared
)

Parameters

Name Type Default Description
Input value inYValues const Array<float>& Sequence of ordinates
Input value inXValues Optional<const Array<float> &> NIL Sequence of abscissae, or {0, 1, 2, ...} by default
Output value outLinearFunction LinearFunction& Linear function approximating the given point set
Output value outEstimatedValues Array<float>& The result of application of the computed function to the X values
Output value outResiduals Array<float>& Difference between an input Y value and the corresponding estimated value
Output 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.