Click or drag to resize

Altaxo.Calc.Regression Namespace

[Missing <summary> documentation for "N:Altaxo.Calc.Regression"]

Classes
 ClassDescription
Public classBurgAlgorithm Implements Burg's algorithm with real numbers.
Public classBurgAlgorithmComplex Implements Burg's algorithm with complex numbers.
Public classBurgAlgorithmVos A faster algorithm than BurgAlgorithm, if the number of coefficients is less than 1/3 the length of the signal. This algorithm is based on a paper by Koen Vos, 2013.
Public classDynamicParameterEstimation Algorithms to estimate the parameters of a dynamic difference equation.
Public classDynamicParameterEstimationCombXY Dynamic parameter estimation with comb like spaced x and y input.
Public classDynamicParameterEstimationVariableX Dynamic parameter estimation with variable-spaced x input.
Public classDynamicParameterEstimationWithChooseableBins 
Public classLinearFitBySvd Performs a linear least-squares fit to a given function base using singular value decomposition (SVD).
Public classModifiedSincSmoother Provides smoothing using a modified sinc kernel (MS or MS1), as described by M. Schmid and U. Diebold, "Why and how Savitzky-Golay filters should be replaced". The term degree is defined in analogy to Savitzky-Golay (SG) filters; the current MS filters have a similar frequency response as SG filters of the same degree (2, 4, …, 10).
Public classNLFit Functions for nonlinear minimization.
Public classNonLinearFit2 Levenberg-Marquardt methods adapted to C# from C++ sources by Manolis Lourakis (see below).
Public classQuickLinearArbitraryBaseRegression Class for doing a quick and dirty linear regression with arbitrary base functions provided by the user. Numerical precision is limited, as it keeps only the XtX matrix; however, it is very fast and needs only little memory. Cannot handle very large differences between the base functions.
Public classQuickLinearRegression Class for doing a quick and dirty regression of order 1 only returning intercept and slope. Cannot handle input values that are very large or very small.
Public classQuickQuadraticRegression Provides a fast, lightweight quadratic (order 2) regression that returns the parameters A0, A1, and A2.
Public classQuickStatistics Uses the method of running sums to calculate mean, sample standard deviation, and population standard deviation of a data set.
Public classSavitzkyGolay Implements the calculation of Savitzky-Golay filter coefficients and their application to smooth data, and to calculate derivatives.
Public classSavitzkyGolayParameters Stores the set of parameters necessary to calculate Savitzky-Golay coefficients.
Public classWeightedSavitzkyGolaySmoother A C# implementation of Savitzky-Golay smoothing with optional weighting. Weights provide improved stopband suppression compared to traditional Savitzky-Golay (SG). Traditional SG smoothing can be obtained by using NONE.
Public classWhittakerHendersonSmoother A simple C# implementation of Whittaker-Henderson smoothing for data at equally spaced points, popularized by P. H. C. Eilers in "A Perfect Smoother", Anal. Chem. 75, 3631 (2003).
C#
It minimizes
sum(f - y)^2 + sum(lambda* f'(p))
where y are the data, f are the smoothed data, and f'(p) is the p-th
derivative of the smoothed function evaluated numerically. In other
words, the filter imposes a penalty on the p-th derivative of the
data, which is taken as a measure of non-smoothness.
Smoothing increases with increasing value of lambda.

The current implementation works up to p = 5; usually one should use
p = 2 or 3.

For points far from the boundaries of the data series, the frequency
response of the smoother is given by

   1/(1+lambda* (2-2* cos(omega))^2p);

where n is the order of the penalized derivative and
omega = 2 * pi * f / fs, with fs being the sampling frequency
(reciprocal of the distance between the data points).

Note that strong smoothing leads to numerical noise (which is smoothed
similarly to the input data, thus not obvious in the output).
For lambda = 1e9, the noise is about 1e-6 times the magnitude of the
data. Since higher p values require a higher value of lambda for
the same extent of smoothing (the same bandwidth), numerical noise
is increasingly bothersome for large p, but not for p <= 2.
Interfaces
 InterfaceDescription
Public interfaceIDynamicParameterEstimationSolver Provides a least-squares solver for the linear system used by DynamicParameterEstimation.
Delegates
 DelegateDescription
Public delegateFunctionBaseEvaluator Evaluates a function base at a given value of x. The evaluated base function values are written into functionbase.
Public delegateNLFitLMFunction User-supplied subroutine which calculates the functions to minimize.
Public delegateNonLinearFit2FitFunction Delegate describing the model function that maps a parameter vector to the predicted measurements.
Public delegateNonLinearFit2JacobianFunction Delegate describing a function that evaluates the Jacobian matrix of the model function.
Enumerations
 EnumerationDescription
Public enumerationWeightedSavitzkyGolaySmootherWeightType Specifies the weight function to use. The default is NONE, which results in traditional SG smoothing.