LinearGaussianSSM.mixed_frequency_state_space#

classmethod LinearGaussianSSM.mixed_frequency_state_space(coefficients, sigma_u, *, kinds, period, weights=None)[source]#

Put a latent high-frequency autoregression into observable form.

The state carries the companion of the high-frequency system, padded to at least period lags so that a flow reading can reach every sub-period it accumulates. The observation matrix is constant: a flow variable’s row always computes its weighted sum, and a stock variable’s row always selects the current sub-period. What varies is the data, not the model – a variable that is not observed this sub-period is nan, and the filter drops that row from the update by itself.

Building it this way rather than with a time-varying observation matrix is what keeps the representation honest about its own content. There is one measurement equation per variable and it holds at every date; the calendar lives in the sample, where anyone can see it.

Parameters:
  • coefficients (NDArray[double]) – (p, k, k) autoregressive matrices of the latent system.

  • sigma_u (NDArray[double]) – (k, k) innovation covariance of the latent system.

  • kinds (Sequence[str]) – One Frequency per variable.

  • period (int) – Sub-periods per low-frequency period.

  • weights (Sequence[ArrayLike | None] | None) – Optional per-variable flow weights; None entries take the default from aggregation_weights().

Return type:

_LinearGaussianStateSpace

Returns:

A configured _LinearGaussianStateSpace whose state is the latent path and whose observation is what the calendar reveals of it.

Raises:
  • DimensionError – If the coefficient stack and covariance disagree, or the kinds do not cover the variables.

  • SpecificationError – If a kind or the period is unrecognized.