Smoothing.LowessSmoother Method

Returns a delegate that applies a LOWESS filter to a signal.

Definition

Namespace: Extreme.Mathematics.SignalProcessing
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23
C#
public static Func<Vector<double>, Vector<double>> LowessSmoother(
	int windowLength,
	int robustSteps = 0,
	double delta = 0
)

Parameters

windowLength  Int32
The length of the smoothing window.
robustSteps  Int32  (Optional)
(Optional.) The number of robustness iterations. The default is 0.
delta  Double  (Optional)
(Optional.) Distance within which robust regression is not recomputed.

Return Value

Func<Vector<Double>, Vector<Double>>
The smoothed signal.

Remarks

When the number of data points is large, the computation time can be reduced by setting delta to a suitable value. After the initial robust regression weights are computed, the full regression is only performed for points that are delta apart. Interpolation is used for any intermediate points.

Exceptions

ArgumentOutOfRangeException

windowLength is less than two.

-or-

windowLength is not odd.

See Also