Back to FabImage Library website

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

LinearRegression_M


Header: FIL.h
Namespace: fil
Module: FoundationPro

Computes linear regression of given point set using selected M-estimator for outlier suppression.

Syntax

C++
C#
 
void fil::LinearRegression_M
(
	const ftl::Array<float>& inYValues,
	ftl::Optional<const ftl::Array<float>&> inXValues,
	fil::MEstimator::Type inOutlierSuppression,
	float inClippingFactor,
	int inIterationCount,
	ftl::Optional<const fil::LinearFunction&> inInitialLinearFunction,
	fil::LinearFunction& outLinearFunction,
	ftl::Array<float>& outEstimatedValues,
	ftl::Array<float>& outResiduals,
	ftl::Optional<ftl::Array<float>&> outYInliers = ftl::NIL,
	ftl::Optional<ftl::Array<float>&> outXInliers = ftl::NIL
)

Parameters

Name Type Range 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
Input value
inOutlierSuppression MEstimator::Type
Input value
inClippingFactor float 0.675 - 6.0 2.5f Multitude of standard deviation within which points are considered inliers
Input value
inIterationCount int 0 - 5 Number of iterations of outlier suppressing algorithm
Input value
inInitialLinearFunction Optional<const LinearFunction&> NIL Initial approximation of the output linear function (if available)
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
outYInliers Optional<Array<float>&> NIL Coordinate of the inlying points of the best line
Output value
outXInliers Optional<Array<float>&> NIL Coordinate of the inlying points of the best line

Optional Outputs

The computation of following outputs can be switched off by passing value ftl::NIL to these parameters: outYInliers, outXInliers.

Read more about Optional Outputs.

Errors

List of possible exceptions:

Error type Description
DomainError Inconsistent size of arrays in LinearRegression_M.