Click or drag to resize

DynamicParameterEstimation Class

Algorithms to estimate the parameters of a dynamic difference equation.
Inheritance Hierarchy

Namespace: Altaxo.Calc.Regression
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3448.0 (4.8.3448.0)
Syntax
C#
public class DynamicParameterEstimation

The DynamicParameterEstimation type exposes the following members.

Constructors
 NameDescription
Public methodDynamicParameterEstimation(Int32, Int32, Int32) Constructor for the dynamic parameter estimation.
Public methodDynamicParameterEstimation(Int32, Int32, Int32, IDynamicParameterEstimationSolver) Constructor for the dynamic parameter estimation.
Public methodDynamicParameterEstimation(IReadOnlyListDouble, IReadOnlyListDouble, Int32, Int32, Int32) Calculates the dynamic parameter estimation in the constructor.
Top
Properties
 NameDescription
Public propertyStatic memberLUSolver Gets a fresh instance of an LU decomposition solver that can be used for parameter estimation.
Public propertyOffsetX Gets or sets the offset that "moves" the sequence x in relation to sequence y. Normally, y[i] is considered in dependence on x[i], x[i-1], and so on. By setting the offset, y[i] is considered in dependence on x[i-offset], x[i-offset-1], etc.
Public propertyParameter Gets the resulting parameters of the estimation. Index 0..numX-1 are the parameters for x history. Following from numX to numX+numY-1 are the parameters for y. Finally, the remaining parameters are the parameters for the background fit.
Public propertyStatic memberQRSolver Gets a fresh instance of a QR decomposition solver that can be used for parameter estimation.
Public propertyStartingPoint Gets the starting point, i.e. the first index in the y array that can be used for the right side of the linear equation. The starting point increases when more x or y parameters are evaluated, since more "history" samples are needed in this case.
Public propertyStatic memberSVDSolver Gets a fresh instance of a singular value decomposition solver that can be used for parameter estimation.
Top
Methods
 NameDescription
Public methodCalculateCrossPredictionError(IReadOnlyListDouble, IReadOnlyListDouble) With the already evaluated parameters, calculates the mean error for another piece of data. Note that both vectors must have a length of at least _startingPoint + 1, since the first _startingPoint samples are used for the history.
Public methodCalculateCrossPredictionError(IReadOnlyListDouble, IReadOnlyListDouble, IVectorDouble) With the already evaluated parameters, calculates the mean error for another piece of data. Note that both vectors must have a length of at least _startingPoint + 1, since the first _startingPoint samples are used for the history.
Protected methodCalculateNumberOfData Calculates the number of points that can be used on the right side of the linear equation (i.e. the number of rows of the equation). With the same length of x and y, the number of usable data points decreases when more x or y parameters are evaluated, since more samples are needed for the history and those samples cannot be used on the right side of the equation.
Public methodCalculatePredictionError Calculates the mean prediction error, i.e. Sqrt(Sum((y-yPredicted)²)/N).
Public methodCalculatePredictionError(VectorDouble) Calculates the mean prediction error, i.e. Sqrt(Sum((y-yPredicted)²)/N).
Protected methodCalculateResultingParameter Calculates the resulting parameter array by calling the solver.
Public methodCalculateSelfPredictionError Calculates the mean prediction error using recursive prediction of y (self-prediction).
Public methodCalculateSelfPredictionError(IVectorDouble) Calculates the mean prediction error using recursive prediction of y (self-prediction).
Protected methodCalculateSelfPredictionError(MatrixDouble, IReadOnlyListDouble, IVectorDouble) Calculates the mean prediction error using recursive prediction of y (self-prediction) for the given matrix and comparison y values.
Protected methodCalculateStartingPoint Calculates the starting point, i.e. the first index in the y array that can be used for the right side of the linear equation. The starting point increases when more x or y parameters are evaluated, since more "history" samples are needed in this case.
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodEstimateParameterByBurgsAlgorithm Estimates the parameters using Burg's algorithm.
Public methodStatic memberExtrapolate Extrapolates y-values until the end of the vector by using linear prediction.
Protected methodFillBacksubstitutionY Fills the back-substitution array with data from the provided y vector.
Protected methodFillInputMatrix Fills the input matrix, i.e. the left side of the linear equation.
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodGetFrequencyResponse Calculates the frequency response for a given frequency.
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTransferFunction Gets the impulse response to a pulse at t=0, i.e. to x[0]==1, x[1]..x[n]==0. The background component is not taken into account.
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodMakeEstimation Calculates the dynamic parameter estimation.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Protected methodSetHelperMembers Sets all helper values such as _numX, _numY, _backgroundOrderPlus1, _numberOfParameter, and _startingPoint.
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Fields
 NameDescription
Protected field_backgroundOrderPlus1Number of background parameters to estimate.
Protected field_inputMatrixHolds the input matrix.
Protected field_numberOfParameterTotal number of parameters, i.e. _numX + _numY + _backgroundOrderPlus1.
Protected field_numXNumber of x parameters to estimate.
Protected field_numYNumber of y parameters to estimate.
Protected field_offsetX "Moves" the sequence x in relation to sequence y. Normally, y[i] is considered in dependence on x[i], x[i-1], and so on. By setting the offset, y[i] is considered in dependence on x[i-offset], x[i-offset-1], etc.
Protected field_parameter Array to store the estimated parameters. First in the array, the x parameters are stored (indices 0.._numX-1). Then the y parameters (indices _numX.._numX+_numY-1). Lastly, the background parameters are stored in the array (indices _numX+_numY..end).
Protected field_scaledY Array of y-values necessary for back-substitution. This is a copy of the input y vector only for the elements _startingPoint..end.
Protected field_solver Stores an instance of a solver used to solve the linear equation. The solver should keep and recycle the memory necessary for solving the equation.
Protected field_startingPointIndex of the point where the calculation can start.
Top
See Also