class_docstr: State space representation of a time series process
  
  Parameters
  ----------
  k_endog : {array_like, int}
      The observed time-series process :math:`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, :math:`Z`. Default is set to zeros.
  obs_intercept : array_like, optional
      The intercept for the observation equation, :math:`d`. Default is set
      to zeros.
  obs_cov : array_like, optional
      The covariance matrix for the observation equation :math:`H`. Default
      is set to zeros.
  transition : array_like, optional
      The transition matrix, :math:`T`. Default is set to zeros.
  state_intercept : array_like, optional
      The intercept for the transition equation, :math:`c`. Default is set to
      zeros.
  selection : array_like, optional
      The selection matrix, :math:`R`. Default is set to zeros.
  state_cov : array_like, optional
      The covariance matrix for the state equation :math:`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.
  
  Attributes
  ----------
  nobs : int
      The number of observations.
  k_endog : int
      The dimension of the observation series.
  k_states : int
      The dimension of the unobserved state process.
  k_posdef : int
      The dimension of a guaranteed positive
      definite covariance matrix describing
      the shocks in the measurement equation.
  shapes : dictionary of name:tuple
      A dictionary recording the initial shapes
      of each of the representation matrices as
      tuples.
  initialization : str
      Kalman filter initialization method. Default is unset.
  initial_variance : float
      Initial variance for approximate diffuse
      initialization. Default is 1e6.
  
  Notes
  -----
  A general state space model is of the form
  
  .. math::
  
      y_t & = Z_t \alpha_t + d_t + \varepsilon_t \\
      \alpha_t & = T_t \alpha_{t-1} + c_t + R_t \eta_t \\
  
  where :math:`y_t` refers to the observation vector at time :math:`t`,
  :math:`\alpha_t` refers to the (unobserved) state vector at time
  :math:`t`, and where the irregular components are defined as
  
  .. math::
  
      \varepsilon_t \sim N(0, H_t) \\
      \eta_t \sim N(0, Q_t) \\
  
  The remaining variables (:math:`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`          :math:`(k\_endog \times k\_states \times nobs)`
  
  d : `obs_intercept`   :math:`(k\_endog \times nobs)`
  
  H : `obs_cov`         :math:`(k\_endog \times k\_endog \times nobs)`
  
  T : `transition`      :math:`(k\_states \times k\_states \times nobs)`
  
  c : `state_intercept` :math:`(k\_states \times nobs)`
  
  R : `selection`       :math:`(k\_states \times k\_posdef \times nobs)`
  
  Q : `state_cov`       :math:`(k\_posdef \times k\_posdef \times nobs)`
  
  In the case that one of the matrices is time-invariant (so that, for
  example, :math:`Z_t = Z_{t+1} ~ \forall ~ t`), its last dimension may
  be of size :math:`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.
class_docstr_tok: ["State","space","representation","of","a","time","series","process","Parameters","--","--","--","--","--","k_endog",":","{","array_like",",","int","}","The","observed","time-series","process",":","math",":","`","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",",",":","math",":","`","Z","`",".","Default","is","set","to","zeros",".","obs_intercept",":","array_like",",","optional","The","intercept","for","the","observation","equation",",",":","math",":","`","d","`",".","Default","is","set","to","zeros",".","obs_cov",":","array_like",",","optional","The","covariance","matrix","for","the","observation","equation",":","math",":","`","H","`",".","Default","is","set","to","zeros",".","transition",":","array_like",",","optional","The","transition","matrix",",",":","math",":","`","T","`",".","Default","is","set","to","zeros",".","state_intercept",":","array_like",",","optional","The","intercept","for","the","transition","equation",",",":","math",":","`","c","`",".","Default","is","set","to","zeros",".","selection",":","array_like",",","optional","The","selection","matrix",",",":","math",":","`","R","`",".","Default","is","set","to","zeros",".","state_cov",":","array_like",",","optional","The","covariance","matrix","for","the","state","equation",":","math",":","`","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",".","Attributes","--","--","--","--","--","nobs",":","int","The","number","of","observations",".","k_endog",":","int","The","dimension","of","the","observation","series",".","k_states",":","int","The","dimension","of","the","unobserved","state","process",".","k_posdef",":","int","The","dimension","of","a","guaranteed","positive","definite","covariance","matrix","describing","the","shocks","in","the","measurement","equation",".","shapes",":","dictionary","of","name",":","tuple","A","dictionary","recording","the","initial","shapes","of","each","of","the","representation","matrices","as","tuples",".","initialization",":","str","Kalman","filter","initialization","method",".","Default","is","unset",".","initial_variance",":","float","Initial","variance","for","approximate","diffuse","initialization",".","Default","is","1e6",".","Notes","--","--","-","A","general","state","space","model","is","of","the","form","..","math",":",":","y_t","&","=","Z_t","\\alpha_t","+","d_t","+","\\varepsilon_t","\\\\","\\alpha_t","&","=","T_t","\\alpha_","{","t-1","}","+","c_t","+","R_t","\\eta_t","\\\\","where",":","math",":","`","y_t","`","refers","to","the","observation","vector","at","time",":","math",":","`","t","`",",",":","math",":","`","\\alpha_t","`","refers","to","the","(","unobserved",")","state","vector","at","time",":","math",":","`","t","`",",","and","where","the","irregular","components","are","defined","as","..","math",":",":","\\varepsilon_t","\\sim","N","(","0",",","H_t",")","\\\\","\\eta_t","\\sim","N","(","0",",","Q_t",")","\\\\","The","remaining","variables","(",":","math",":","`","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","`",":","math",":","`","(","k\\_endog","\\times","k\\_states","\\times","nobs",")","`","d",":","`","obs_intercept","`",":","math",":","`","(","k\\_endog","\\times","nobs",")","`","H",":","`","obs_cov","`",":","math",":","`","(","k\\_endog","\\times","k\\_endog","\\times","nobs",")","`","T",":","`","transition","`",":","math",":","`","(","k\\_states","\\times","k\\_states","\\times","nobs",")","`","c",":","`","state_intercept","`",":","math",":","`","(","k\\_states","\\times","nobs",")","`","R",":","`","selection","`",":","math",":","`","(","k\\_states","\\times","k\\_posdef","\\times","nobs",")","`","Q",":","`","state_cov","`",":","math",":","`","(","k\\_posdef","\\times","k\\_posdef","\\times","nobs",")","`","In","the","case","that","one","of","the","matrices","is","time-invariant","(","so","that",",","for","example",",",":","math",":","`","Z_t","=","Z_","{","t+1","}","~","\\forall","~","t","`",")",",","its","last","dimension","may","be","of","size",":","math",":","`","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","."]
docstr: Create an Initialization object if necessary
docstr_tok: ["Create","an","Initialization","object","if","necessary"]
code: def initialize(
      self,
      initialization,
      approximate_diffuse_variance=None,
      constant=None,
      stationary_cov=None,
      a=None,
      Pstar=None,
      Pinf=None,
      A=None,
      R0=None,
      Q0=None,
  ):
      """Create an Initialization object if necessary"""
      if initialization == "known":
          initialization = Initialization(
              self.k_states,
              "known",
              constant=constant,
              stationary_cov=stationary_cov,
          )
      elif initialization == "components":
          initialization = Initialization.from_components(
              a=a, Pstar=Pstar, Pinf=Pinf, A=A, R0=R0, Q0=Q0
          )
      elif initialization == "approximate_diffuse":
          if approximate_diffuse_variance is None:
              approximate_diffuse_variance = self.initial_variance
          initialization = Initialization(
              self.k_states,
              "approximate_diffuse",
              approximate_diffuse_variance=approximate_diffuse_variance,
          )
      elif initialization == "stationary":
          initialization = Initialization(self.k_states, "stationary")
      elif initialization == "diffuse":
          initialization = Initialization(self.k_states, "diffuse")
  
      # We must have an initialization object at this point
      if not isinstance(initialization, Initialization):
          raise ValueError("Invalid state space initialization method.")
  
      self.initialization = initialization
  
imports: import warnings
  import numpy
  from .tools import find_best_blas_type, validate_matrix_shape, validate_vector_shape
  from .initialization import Initialization
  from .None import tools
label_desc: Use image node_id 14 for calling the Representation obj's underlying member method code with example usage: obj.initialize(initialization, approximate_diffuse_variance, constant, stationary_cov, a, Pstar, Pinf, A, R0, Q0) without return types