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, int}) – 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 str, 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 (int, 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.
- k_posdef¶
The dimension of a guaranteed positive definite covariance matrix describing the shocks in the measurement equation.
- Type:
- shapes¶
A dictionary recording the initial shapes of each of the representation matrices as tuples.
- Type:
dictionary of name:tuple
- initial_variance¶
Initial variance for approximate diffuse initialization. Default is 1e6.
- Type:
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
Methods
bind(endog)Bind data to the statespace representation
clone(endog, **kwargs)Clone a state space representation while overriding some elements
diff_endog(new_endog[, tolerance])extend(endog[, start, end])Extend the current state space model, or a specific (time) subset
initialize(initialization[, ...])Create an Initialization object if necessary
initialize_approximate_diffuse([variance])Initialize the statespace model with approximate diffuse values.
initialize_components([a, Pstar, Pinf, A, ...])Initialize the statespace model with component matrices
Initialize the statespace model as diffuse.
initialize_known(constant, stationary_cov)Initialize the statespace model with known distribution for initial state.
Initialize the statespace model as stationary.
Properties
\(Z~(k\_endog \times k\_states \times nobs)\)
(dtype) Datatype of currently active representation matrices
(array) The observation vector, alias for obs.
\(y~(k\_endog \times nobs)\)
(array) Observation covariance matrix: \(H~(k\_endog \times k\_endog \times nobs)\)
\(d~(k\_endog \times nobs)\)
(str) BLAS prefix of currently active representation matrices
(array) Selection matrix: \(R~(k\_states \times k\_posdef \times nobs)\)
(array) State covariance matrix: \(Q~(k\_posdef \times k\_posdef \times nobs)\)
\(c~(k\_states \times nobs)\)
(bool) Whether or not currently active representation matrices are time-invariant
(array) Transition matrix: \(T~(k\_states \times k\_states \times nobs)\)