statsmodels.tsa.statespace.dynamic_factor.DynamicFactor.update

DynamicFactor.update(params, transformed=True, complex_step=False)[source]

Update the parameters of the model

Updates the representation matrices to fill in the new parameter values.

Parameters:
  • params (array_like) – Array of new parameters.
  • transformed (boolean, optional) – Whether or not params is already transformed. If set to False, transform_params is called. Default is True..
Returns:

params – Array of parameters.

Return type:

array_like

Notes

Let n = k_endog, m = k_factors, and p = factor_order. Then the params vector has length \([n imes m] + [n] + [m^2 imes p]\). It is expanded in the following way:

  • The first \(n imes m\) parameters fill out the factor loading matrix, starting from the [0,0] entry and then proceeding along rows. These parameters are not modified in transform_params.
  • The next \(n\) parameters provide variances for the error_cov errors in the observation equation. They fill in the diagonal of the observation covariance matrix, and are constrained to be positive by transofrm_params.
  • The next \(m^2 imes p\) parameters are used to create the p coefficient matrices for the vector autoregression describing the factor transition. They are transformed in transform_params to enforce stationarity of the VAR(p). They are placed so as to make the transition matrix a companion matrix for the VAR. In particular, we assume that the first \(m^2\) parameters fill the first coefficient matrix (starting at [0,0] and filling along rows), the second \(m^2\) parameters fill the second matrix, etc.