Abstract base class for least squares weighting functions used in the Iteratively Reweighted Least Squares algorithm.

Namespace:  CenterSpace.NMath.Matrix
Assembly:  NMath (in NMath.dll) Version: 5.1.0.0

Syntax

C#
[SerializableAttribute]
public abstract class DoubleLeastSqWeightingFunction : IDoubleLeastSqWeightingFunction, 
	ICloneable
Visual Basic (Declaration)
<SerializableAttribute> _
Public MustInherit Class DoubleLeastSqWeightingFunction _
	Implements IDoubleLeastSqWeightingFunction, ICloneable
Visual C++
[SerializableAttribute]
public ref class DoubleLeastSqWeightingFunction abstract : IDoubleLeastSqWeightingFunction, 
	ICloneable

Remarks

Consider a least square problem of the form Ax = b that is is to be solved using iteratively Reweighted least squares. Typical weighting functions used in iteratively Reweighted least squares are a function of the residuals from the previous iteration which have been adjusted. The base class DoubleLeastSqWeightingFunction provides methods for calculating the adjusted residual from the matrix A and actual residuals according to the following formula: adjustedResiduals = residuals / (tuningConstant*s*sqrt(1 - h)). Where, h is the vector of leverage values. The leverage values are the main diagonal of the hat matrix H = A((A'A)^-1)A'. s is an estimate of the standard deviation of the error term given by: s = MAD / 0.6745 where MAD is the median absolute deviation of the residuals from their median. The constant 0.6745 makes the estimate unbiased for the normal distribution. tuningConstant is a tuning constant by which the residuals are divided before computing weights. Decreasing the tuning constant increases the downweight assigned to large residuals and increasing the tuning constant decreases the downweight assigned to large residuals.

Inheritance Hierarchy

See Also