# statsmodels.tsa.statespace.representation.Representation¶

class statsmodels.tsa.statespace.representation.Representation(k_endog, k_states, k_posdef=None, initial_variance=1000000.0, nobs=0, dtype=<class 'numpy.float64'>, design=None, obs_intercept=None, obs_cov=None, transition=None, state_intercept=None, selection=None, state_cov=None, statespace_classes=None, **kwargs)[source]

State space representation of a time series process

Parameters: k_endog (array_like or integer) – The observed time-series process $$y$$ if array like or the number of variables in the process if an integer. k_states (int) – The dimension of the unobserved state process. k_posdef (int, optional) – The dimension of a guaranteed positive definite covariance matrix describing the shocks in the measurement equation. Must be less than or equal to k_states. Default is k_states. initial_variance (float, optional) – Initial variance used when approximate diffuse initialization is specified. Default is 1e6. initialization (Initialization object or string, optional) – Initialization method for the initial state. If a string, must be one of {‘diffuse’, ‘approximate_diffuse’, ‘stationary’, ‘known’}. initial_state (array_like, optional) – If initialization=’known’ is used, the mean of the initial state’s distribution. initial_state_cov (array_like, optional) – If initialization=’known’ is used, the covariance matrix of the initial state’s distribution. nobs (integer, optional) – If an endogenous vector is not given (i.e. k_endog is an integer), the number of observations can optionally be specified. If not specified, they will be set to zero until data is bound to the model. dtype (np.dtype, optional) – If an endogenous vector is not given (i.e. k_endog is an integer), the default datatype of the state space matrices can optionally be specified. Default is np.float64. design (array_like, optional) – The design matrix, $$Z$$. Default is set to zeros. obs_intercept (array_like, optional) – The intercept for the observation equation, $$d$$. Default is set to zeros. obs_cov (array_like, optional) – The covariance matrix for the observation equation $$H$$. Default is set to zeros. transition (array_like, optional) – The transition matrix, $$T$$. Default is set to zeros. state_intercept (array_like, optional) – The intercept for the transition equation, $$c$$. Default is set to zeros. selection (array_like, optional) – The selection matrix, $$R$$. Default is set to zeros. state_cov (array_like, optional) – The covariance matrix for the state equation $$Q$$. Default is set to zeros. **kwargs – Additional keyword arguments. Not used directly. It is present to improve compatibility with subclasses, so that they can use **kwargs to specify any default state space matrices (e.g. design) without having to clean out any other keyword arguments they might have been passed.
nobs

The number of observations.

Type: int
k_endog

The dimension of the observation series.

Type: int
k_states

The dimension of the unobserved state process.

Type: int
k_posdef

The dimension of a guaranteed positive definite covariance matrix describing the shocks in the measurement equation.

Type: int
shapes

A dictionary recording the initial shapes of each of the representation matrices as tuples.

Type: dictionary of name:tuple
initialization

Kalman filter initialization method. Default is unset.

Type: str
initial_variance

Initial variance for approximate diffuse initialization. Default is 1e6.

Type: float

Notes

A general state space model is of the form

$\begin{split}y_t & = Z_t \alpha_t + d_t + \varepsilon_t \\ \alpha_t & = T_t \alpha_{t-1} + c_t + R_t \eta_t \\\end{split}$

where $$y_t$$ refers to the observation vector at time $$t$$, $$\alpha_t$$ refers to the (unobserved) state vector at time $$t$$, and where the irregular components are defined as

$\begin{split}\varepsilon_t \sim N(0, H_t) \\ \eta_t \sim N(0, Q_t) \\\end{split}$

The remaining variables ($$Z_t, d_t, H_t, T_t, c_t, R_t, Q_t$$) in the equations are matrices describing the process. Their variable names and dimensions are as follows

Z : design $$(k\_endog \times k\_states \times nobs)$$

d : obs_intercept $$(k\_endog \times nobs)$$

H : obs_cov $$(k\_endog \times k\_endog \times nobs)$$

T : transition $$(k\_states \times k\_states \times nobs)$$

c : state_intercept $$(k\_states \times nobs)$$

R : selection $$(k\_states \times k\_posdef \times nobs)$$

Q : state_cov $$(k\_posdef \times k\_posdef \times nobs)$$

In the case that one of the matrices is time-invariant (so that, for example, $$Z_t = Z_{t+1} ~ \forall ~ t$$), its last dimension may be of size $$1$$ rather than size nobs.

References

 [*] Durbin, James, and Siem Jan Koopman. 2012. Time Series Analysis by State Space Methods: Second Edition. Oxford University Press.

Methods

 bind(endog) Bind data to the statespace representation initialize(initialization[, …]) initialize_approximate_diffuse([variance]) Initialize the statespace model with approximate diffuse values. initialize_diffuse() Initialize the statespace model as stationary. initialize_known(constant, stationary_cov) Initialize the statespace model with known distribution for initial state. initialize_stationary() Initialize the statespace model as stationary.

Attributes

 design $$Z~(k\_endog \times k\_states \times nobs)$$ dtype (dtype) Datatype of currently active representation matrices endog (array) The observation vector, alias for obs. obs $$y~(k\_endog \times nobs)$$ obs_cov $$H~(k\_endog \times k\_endog \times nobs)$$ obs_intercept $$d~(k\_endog \times nobs)$$ prefix (str) BLAS prefix of currently active representation matrices selection $$R~(k\_states \times k\_posdef \times nobs)$$ state_cov $$Q~(k\_posdef \times k\_posdef \times nobs)$$ state_intercept $$c~(k\_states \times nobs)$$ time_invariant (bool) Whether or not currently active representation matrices are time-invariant transition $$T~(k\_states \times k\_states \times nobs)$$