Basic Concepts¶
This page introduces the conventions used throughout pysib.
Signals¶
Most functions work with two measured signals:
u: input signal.y: output signal.
Signals are converted internally to one-dimensional NumPy arrays.
Estimated models¶
All estimators return two values:
The theta array contains the estimated parameters. The model dictionary contains the polynomial representation used by predict and simulate.
Every model dictionary has the same keys:
Each value is a one-dimensional NumPy array of polynomial coefficients.
Model structures¶
pysib implements classical polynomial input/output model structures.
ARX¶
Output Error¶
ARMAX¶
Box-Jenkins¶
Order parameters¶
Estimator arguments specify how many parameters are estimated in each polynomial:
na: number of estimatedAparameters.nb: number of estimatedBparameters.nc: number of estimatedCparameters.nd: number of estimatedDparameters.nf: number of estimatedFparameters.nz: input delay in samples.
For example, na=2 estimates two parameters after the leading 1 in A(z).
Input delay convention¶
The returned model["B"] array includes nz leading zeros before the estimated B coefficients:
This convention lets predict and simulate use the polynomial arrays directly with scipy.signal.lfilter.
Prediction and simulation¶
predict and simulate use the same model dictionary but answer different questions.
predict(u, y, model)computes a one-step-ahead prediction using the measured outputy.simulate(u, model)computes the noise-free model response to the input signalu.
Use predict to evaluate one-step prediction performance. Use simulate to inspect the deterministic input/output response of the estimated model.