DynamicParameterEstimation Type

Algorithms to estimate the parameters of a dynamic difference equation.

Constructors

Constructor Description

DynamicParameterEstimation(numX, numY, backgroundOrder)

Full Usage: DynamicParameterEstimation(numX, numY, backgroundOrder)

Parameters:
    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.

Constructur for the dynamic parameter estimation.

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.

DynamicParameterEstimation(numX, numY, backgroundOrder, solver)

Full Usage: DynamicParameterEstimation(numX, numY, backgroundOrder, solver)

Parameters:
    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.
    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.

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.

solver : IDynamicParameterEstimationSolver

The solver to use with dynamic parameter estimation. Use the static getter methods DynamicParameterEstimation.SVDSolver or DynamicParameterEstimation.LUSolver to get a solver.

DynamicParameterEstimation(x, y, numX, numY, backgroundOrder)

Full Usage: DynamicParameterEstimation(x, y, numX, numY, backgroundOrder)

Parameters:
    x : 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.

x : 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.

Instance members

Instance member Description

this.CalculateCrossPredictionError

Full Usage: this.CalculateCrossPredictionError

Parameters:
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.

x : 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.

this.CalculateCrossPredictionError

Full Usage: this.CalculateCrossPredictionError

Parameters:
    x : 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.

x : 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.

this.CalculatePredictionError

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).

Returns: float

The mean prediction error.i.e. Sqrt(Sum((y-yprediced)²)/N).

this.CalculatePredictionError

Full Usage: this.CalculatePredictionError

Parameters:
    predictedOutput : 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)²)).

predictedOutput : 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).

this.CalculateSelfPredictionError

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)²)).

Returns: float

The mean prediction error.i.e. Sqrt(Sum((y-yprediced)²)/N).

this.CalculateSelfPredictionError

Full Usage: this.CalculateSelfPredictionError

Parameters:
Returns: float
Modifiers: abstract

predictedOutput : IVector<float>
Returns: float

this.EstimateParameterByBurgsAlgorithm

Full Usage: this.EstimateParameterByBurgsAlgorithm

Parameters:

data : IReadOnlyList<float>
m : int
xms : byref<float>

this.GetFrequencyResponse

Full Usage: this.GetFrequencyResponse

Parameters:
    fdt : 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.

fdt : 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.

this.GetTransferFunction

Full Usage: this.GetTransferFunction

Parameters:
    yValueBeforePulse : 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.

yValueBeforePulse : 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.

this.MakeEstimation

Full Usage: this.MakeEstimation

Parameters:
    x : 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.

x : 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").

this.OffsetX

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]...

this.Parameter

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.

Returns: float[]

this.StartingPoint

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.

Returns: int

Static members

Static member Description

DynamicParameterEstimation.Extrapolate(yTraining, yPredValues, len, yOrder)

Full Usage: DynamicParameterEstimation.Extrapolate(yTraining, yPredValues, len, yOrder)

Parameters:
    yTraining : 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 len-1 must contain valid values used for initialization of the extrapolation. At the end of the procedure, the upper end (len .. yPredValues.Count-1 contain the extrapolated data.
    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.

yTraining : 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 len-1 must contain valid values used for initialization of the extrapolation. At the end of the procedure, the upper end (len .. yPredValues.Count-1 contain the extrapolated data.

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

DynamicParameterEstimation.LUSolver

Full Usage: DynamicParameterEstimation.LUSolver

Returns: IDynamicParameterEstimationSolver

Returns a fresh instance of a LU decomposition solver that can be used for parameter estimation.

Returns: IDynamicParameterEstimationSolver

DynamicParameterEstimation.QRSolver

Full Usage: DynamicParameterEstimation.QRSolver

Returns: IDynamicParameterEstimationSolver

Returns a fresh instance of a QR decomposition solver that can be used for parameter estimation.

Returns: IDynamicParameterEstimationSolver

DynamicParameterEstimation.SVDSolver

Full Usage: DynamicParameterEstimation.SVDSolver

Returns: IDynamicParameterEstimationSolver

Returns a fresh instance of a singular value decomposition solver that can be used for parameter estimation.

Returns: IDynamicParameterEstimationSolver