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.3179.0 (4.8.3179.0)
Syntax
C#
public class DynamicParameterEstimation

The DynamicParameterEstimation type exposes the following members.

Constructors
 NameDescription
Public methodDynamicParameterEstimation(Int32, Int32, Int32) Constructur for the dynamic parameter estimation.
Public methodDynamicParameterEstimation(Int32, Int32, Int32, IDynamicParameterEstimationSolver) Constructur 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 Returns a fresh instance of a LU decomposition solver that can be used for parameter estimation.
Public propertyOffsetX"Moves" the sequence x in relation to sequence y. Normally, the y[i] is considered in dependence on x[i], x[i-1].. and so on. By setting the offset, the y[i] is considered in dependence on x[i-offset], x[x-offset-1]...
Public propertyParameter 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, and at least there are the parameters for the background fit.
Public propertyStatic memberQRSolver Returns a fresh instance of a QR decomposition solver that can be used for parameter estimation.
Public propertyStartingPoint Calculates and returns 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 increase when more x or y parameters are to evaluate, since more "history" samples are needed in this case.
Public propertyStatic memberSVDSolver Returns 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 evalulated parameters (!), calculates the mean error for another piece of data. Please not 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 evalulated parameters (!), calculates the mean error for another piece of data. Please not that both vectors must have a length of at least _startingPoint+1, since the first _startingPoint samples are used for the history.
Protected methodCalculateNumberOfData Calculate the number of points that can be used at 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 data reduces when more x or y parameters are to evaluate, since more samples are needed for the history and that samples can not be used on the right side of the equation.
Public methodCalculatePredictionError Calculates the mean prediction error, i.e. Sqrt(Sum((y-yprediced)²)/N).
Public methodCalculatePredictionError(VectorDouble) Calculates the mean prediction error, i.e. Sqrt(Sum((y-yprediced)²)).
Protected methodCalculateResultingParameter Calculates the resulting parameter array by calling the solver.
Public methodCalculateSelfPredictionError Calculates the mean prediction error, i.e. Sqrt(Sum((y-yprediced)²)).
Public methodCalculateSelfPredictionError(IVectorDouble) 
Protected methodCalculateSelfPredictionError(MatrixDouble, IReadOnlyListDouble, IVectorDouble) 
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 increase when more x or y parameters are to evaluate, 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 
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 data of 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, _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 parameter, 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, the y[i] is considered in dependence on x[i], x[i-1].. and so on. By setting the offset, the y[i] is considered in dependence on x[i-offset], x[x-offset-1]...
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, having indices of (_numX.._numX+_numY-1). Lastly, the background parameters are stored in the array (indices _numX+_numY ... end_of_array)
Protected field_scaledYArray of y-values neccessary for backsubstitution. Is a copy of the input y vector, but only for the elements _startingPoint...end_of_y_vector.
Protected field_solverStores an instance of a solver used to solve the linear equation. The solver should keep and recycle the memory neccessary for solving the equation.
Protected field_startingPointIndex of the point where the calculation can start.
Top
See Also