io
¶
Input-Output Models
Every identified linear input-output model is returned according to the following structure:
where \( G(z) \) and \( H(z) \) are transfer function matrices of polynomials in \( z \), which is the forward shift operator (see Figure~ ef{fig:gen_model}).
Modules:
Name | Description |
---|---|
armax |
Created on Fri Jul 28 2017 |
arx |
Created on Wed Jul 26 2017 |
base |
Helper functions for nonlinear optimization problem used by some of the identification functions. |
opt |
Created on 2021 |
rls |
Created on 2021 |
Classes:
Name | Description |
---|---|
Armax |
|
Functions:
Name | Description |
---|---|
ARX_MISO_id |
Auto-Regressive with eXogenous Inputs model (ARX) identification. |
ARX_id |
Auto-Regressive with eXogenous Inputs model (ARX) identification. |
Armax
¶
Armax(
G: TransferFunction,
H: TransferFunction,
*order_bounds: tuple[int, int],
Vn: float | floating,
y_id: ndarray,
method: ICMethods = "AIC"
)
The AutoRegressive-Moving-Average with eXogenous inputs model is computed based on a recursive lest-square regression between the input data (U) and the measured output data (Y). As Y is noisy in practice, a white noise (E) is identified within the model. This model is designed to deal with potential time-delays between U and Y.
SIPPY implements an iterative procedure, with extit{iterative least-square regression} = ILLS
.
The following equations summarize the equations involved in the model:
$$ Y = G.U + H.E
G = B / A H = C / A
A = 1 + a_1z^(-1) + ... + a_naz^(-na) B = b_1z^(-1-theta) + ... + b_nbz^(-nb-theta) C = c_1z^(-1) + ... + c_ncz^(-nc) $$
Parameters:
Name | Type | Description | Default |
---|---|---|---|
|
TransferFunction
|
output response |
required |
|
TransferFunction
|
noise response |
required |
|
tuple[int, int]
|
extended range of the order of: - na_bounds: the common denominator - nb_bounds: the G numerator - nc_bounds: the H numerator - theta_bounds: the discrete theta in B |
()
|
|
float | floating
|
The estimated error norm. |
required |
|
ndarray
|
The model output including non-identified outputs. |
required |
|
ICMethods
|
Method used of to attribute a performance to the model |
'AIC'
|
ARX_MISO_id
¶
ARX_MISO_id(
y: ndarray,
u: ndarray,
na: int,
nb: ndarray,
theta: ndarray,
) -> tuple[
ndarray, ndarray, ndarray, ndarray, floating, ndarray
]
Auto-Regressive with eXogenous Inputs model (ARX) identification.
Identified through the computation of the pseudo-inverse of the regressor matrix ($ \phi $).
Parameters:
Name | Type | Description | Default |
---|---|---|---|
|
ndarray
|
Measured data |
required |
|
ndarray
|
Input data |
required |
|
int
|
Order of the autoregressive part. |
required |
|
ndarray
|
Order of the exogenous part. |
required |
|
ndarray
|
Delay of the exogenous part. |
required |
Returns:
Name | Type | Description |
---|---|---|
numerator |
ndarray
|
|
denominator |
ndarray
|
|
numerator_h |
ndarray
|
|
denominator_h |
ndarray
|
|
Vn |
floating
|
The estimated error norm. |
y_id |
ndarray
|
The model output including non-identified outputs. |
ARX_id
¶
ARX_id(
y: ndarray,
u: ndarray,
na: int,
nb: ndarray,
theta: ndarray,
y_std: float = 1.0,
U_std: ndarray = array(1.0),
) -> tuple[
ndarray, ndarray, ndarray, ndarray, floating, ndarray
]
Auto-Regressive with eXogenous Inputs model (ARX) identification.
Identified through the computation of the pseudo-inverse of the regressor matrix ($ \phi $).
Parameters:
Name | Type | Description | Default |
---|---|---|---|
|
ndarray
|
Measured data |
required |
|
ndarray
|
Input data |
required |
|
int
|
Order of the autoregressive part. |
required |
|
ndarray
|
Order of the exogenous part. |
required |
|
ndarray
|
Delay of the exogenous part. |
required |
|
float
|
Standard deviation of the output data. |
1.0
|
|
ndarray
|
Standard deviation of the input data. |
array(1.0)
|
Returns:
Name | Type | Description |
---|---|---|
numerator |
ndarray
|
|
denominator |
ndarray
|
|
numerator_h |
ndarray
|
|
denominator_h |
ndarray
|
|
Vn |
floating
|
The estimated error norm. |
y_id |
ndarray
|
The model output including non-identified outputs. |