Algorithms to estimate the parameters of a dynamic difference equation.
Constructor | Description |
Full Usage:
DynamicParameterEstimation(numX, numY, backgroundOrder)
Parameters:
int
-
Number of history x samples to be taken into account for the parameter estimation (samples x[i], x[i-1]..x[i+1-numX]).
numY : int
-
Number of history y samples to be taken into account for the parameter estimation (samples y[i-1], y[i-2]..x[i-numY].
backgroundOrder : int
-
Order of the background fit, i.e. components 1, i, i² are fitted additionally to x and y. A order of 0 fits a constant
background, 1 a linear depencence, and so on. Set this parameter to -1 if you don't need a background fit.
|
Constructur for the dynamic parameter estimation.
|
Full Usage:
DynamicParameterEstimation(numX, numY, backgroundOrder, solver)
Parameters:
int
-
Number of history x samples to be taken into account for the parameter estimation (samples x[i], x[i-1]..x[i+1-numX]).
numY : int
-
Number of history y samples to be taken into account for the parameter estimation (samples y[i-1], y[i-2]..x[i-numY].
backgroundOrder : int
-
Order of the background fit, i.e. components 1, i, i² are fitted additionally to x and y. A order of 0 fits a constant
background, 1 a linear depencence, and so on. Set this parameter to -1 if you don't need a background fit.
solver : IDynamicParameterEstimationSolver
-
The solver to use with dynamic parameter estimation. Use the static getter methods DynamicParameterEstimation.SVDSolver or DynamicParameterEstimation.LUSolver to get a solver.
|
Constructur for the dynamic parameter estimation.
|
Full Usage:
DynamicParameterEstimation(x, y, numX, numY, backgroundOrder)
Parameters:
IReadOnlyList<float>
-
Vector of x values ("input values"). This parameter can be null (in this case only y values are taken into account).
y : IReadOnlyList<float>
-
Vector of y values ("response values").
numX : int
-
Number of history x samples to be taken into account for the parameter estimation (samples x[i], x[i-1]..x[i+1-numX]).
numY : int
-
Number of history y samples to be taken into account for the parameter estimation (samples y[i-1], y[i-2]..x[i-numY].
backgroundOrder : int
-
Order of the background fit, i.e. components 1, i, i² are fitted additionally to x and y. A order of 0 fits a constant
background, 1 a linear depencence, and so on. Set this parameter to -1 if you don't need a background fit.
|
Calculates the dynamic parameter estimation in the constructor.
|
Instance member | Description |
Full Usage:
this.CalculateCrossPredictionError
Parameters:
IReadOnlyList<float>
-
Vector of x data.
y : IReadOnlyList<float>
-
Vector of y data.
Returns: float
The mean error between y prediction values and actual y values.
Modifiers: abstract |
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.
|
Full Usage:
this.CalculateCrossPredictionError
Parameters:
IReadOnlyList<float>
-
Vector of x data.
y : IReadOnlyList<float>
-
Vector of y data.
predictedOutput : IVector<float>
-
Vector to store the predicted y values. Can be null.
Returns: float
The mean error between y prediction values and actual y values.
Modifiers: abstract |
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.
|
Full Usage:
this.CalculatePredictionError
Returns: float
The mean prediction error.i.e. Sqrt(Sum((y-yprediced)²)/N).
Modifiers: abstract |
Calculates the mean prediction error, i.e. Sqrt(Sum((y-yprediced)²)/N).
|
Full Usage:
this.CalculatePredictionError
Parameters:
IVector<float>
-
The resultant predicted output. If null, a temporary vector is allocated for calculation.
Returns: float
The mean prediction error.i.e. Sqrt(Sum((y-yprediced)²)/N).
Modifiers: abstract |
Calculates the mean prediction error, i.e. Sqrt(Sum((y-yprediced)²)).
|
Full Usage:
this.CalculateSelfPredictionError
Returns: float
The mean prediction error.i.e. Sqrt(Sum((y-yprediced)²)/N).
Modifiers: abstract |
Calculates the mean prediction error, i.e. Sqrt(Sum((y-yprediced)²)).
|
Full Usage:
this.CalculateSelfPredictionError
Parameters:
IVector<float>
Returns: float
Modifiers: abstract |
|
Full Usage:
this.EstimateParameterByBurgsAlgorithm
Parameters:
IReadOnlyList<float>
m : int
xms : byref<float>
|
|
Full Usage:
this.GetFrequencyResponse
Parameters:
float
-
Frequency. Must be given as f*dt, meaning the product of frequency and sample interval.
Returns: Complex
The complex frequency response at the given frequency.
Modifiers: abstract |
Calculates the frequency response for a given frequency.
|
Full Usage:
this.GetTransferFunction
Parameters:
float
-
This is the y-value (not x!) before the pulse. If the NumberOfY is set to zero, this parameter is ignored, since no information about y for t<0 is neccessary.
output : IVector<float>
-
Used to store the output result. Can be of arbitrary size.
Modifiers: abstract |
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.
|
Full Usage:
this.MakeEstimation
Parameters:
IReadOnlyList<float>
-
Vector of x values ("input values"). This parameter can be null when numX was set to 0 (in this case only y values are taken into account).
y : IReadOnlyList<float>
-
Vector of y values ("response values").
|
Calculates the dynamic parameter estimation.
|
Full Usage:
this.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]... |
Full Usage:
this.Parameter
Returns: float[]
|
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.
|
Full Usage:
this.StartingPoint
Returns: int
|
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.
|
Static member | Description |
Full Usage:
DynamicParameterEstimation.Extrapolate(yTraining, yPredValues, len, yOrder)
Parameters:
IReadOnlyList<float>
-
Input vector of y values used to calculated the prediction coefficients.
Input/output vector of y values to extrapolate.
The fields beginning from 0 to yPredValues : IVector<float>
len : int
-
Number of valid input data points for extrapolation (not for the training data!).
yOrder : int
-
Number of history samples used for prediction. Must be greater or equal to 1.
Returns: DynamicParameterEstimation
|
Extrapolates y-values until the end of the vector by using linear prediction.
|
|
Returns a fresh instance of a LU decomposition solver that can be used for parameter estimation.
|
|
Returns a fresh instance of a QR decomposition solver that can be used for parameter estimation.
|
|
Returns a fresh instance of a singular value decomposition solver that can be used for parameter estimation.
|