class_docstr: State space representation of a time series process, with Kalman filter
  
  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 transition equation. Must be less than
      or equal to `k_states`. Default is `k_states`.
  loglikelihood_burn : int, optional
      The number of initial periods during which the loglikelihood is not
      recorded. Default is 0.
  tolerance : float, optional
      The tolerance at which the Kalman filter determines convergence to
      steady-state. Default is 1e-19.
  results_class : class, optional
      Default results class to use to save filtering output. Default is
      `FilterResults`. If specified, class must extend from `FilterResults`.
  **kwargs
      Keyword arguments may be used to provide values for the filter,
      inversion, and stability methods. See `set_filter_method`,
      `set_inversion_method`, and `set_stability_method`.
      Keyword arguments may be used to provide default values for state space
      matrices. See `Representation` for more details.
  
  See Also
  --------
  FilterResults
  statsmodels.tsa.statespace.representation.Representation
  
  Notes
  -----
  There are several types of options available for controlling the Kalman
  filter operation. All options are internally held as bitmasks, but can be
  manipulated by setting class attributes, which act like boolean flags. For
  more information, see the `set_*` class method documentation. The options
  are:
  
  filter_method
      The filtering method controls aspects of which
      Kalman filtering approach will be used.
  inversion_method
      The Kalman filter may contain one matrix inversion: that of the
      forecast error covariance matrix. The inversion method controls how and
      if that inverse is performed.
  stability_method
      The Kalman filter is a recursive algorithm that may in some cases
      suffer issues with numerical stability. The stability method controls
      what, if any, measures are taken to promote stability.
  conserve_memory
      By default, the Kalman filter computes a number of intermediate
      matrices at each iteration. The memory conservation options control
      which of those matrices are stored.
  filter_timing
      By default, the Kalman filter follows Durbin and Koopman, 2012, in
      initializing the filter with predicted values. Kim and Nelson, 1999,
      instead initialize the filter with filtered values, which is
      essentially just a different timing convention.
  
  The `filter_method` and `inversion_method` options intentionally allow
  the possibility that multiple methods will be indicated. In the case that
  multiple methods are selected, the underlying Kalman filter will attempt to
  select the optional method given the input data.
  
  For example, it may be that INVERT_UNIVARIATE and SOLVE_CHOLESKY are
  indicated (this is in fact the default case). In this case, if the
  endogenous vector is 1-dimensional (`k_endog` = 1), then INVERT_UNIVARIATE
  is used and inversion reduces to simple division, and if it has a larger
  dimension, the Cholesky decomposition along with linear solving (rather
  than explicit matrix inversion) is used. If only SOLVE_CHOLESKY had been
  set, then the Cholesky decomposition method would *always* be used, even in
  the case of 1-dimensional data.
class_docstr_tok: ["State","space","representation","of","a","time","series","process",",","with","Kalman","filter","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","transition","equation",".","Must","be","less","than","or","equal","to","`","k_states","`",".","Default","is","`","k_states","`",".","loglikelihood_burn",":","int",",","optional","The","number","of","initial","periods","during","which","the","loglikelihood","is","not","recorded",".","Default","is","0.","tolerance",":","float",",","optional","The","tolerance","at","which","the","Kalman","filter","determines","convergence","to","steady-state",".","Default","is","1e-19",".","results_class",":","class",",","optional","Default","results","class","to","use","to","save","filtering","output",".","Default","is","`","FilterResults","`",".","If","specified",",","class","must","extend","from","`","FilterResults","`",".","*","*","kwargs","Keyword","arguments","may","be","used","to","provide","values","for","the","filter",",","inversion",",","and","stability","methods",".","See","`","set_filter_method","`",",","`","set_inversion_method","`",",","and","`","set_stability_method","`",".","Keyword","arguments","may","be","used","to","provide","default","values","for","state","space","matrices",".","See","`","Representation","`","for","more","details",".","See","Also","--","--","--","--","FilterResults","statsmodels.tsa.statespace.representation.Representation","Notes","--","--","-","There","are","several","types","of","options","available","for","controlling","the","Kalman","filter","operation",".","All","options","are","internally","held","as","bitmasks",",","but","can","be","manipulated","by","setting","class","attributes",",","which","act","like","boolean","flags",".","For","more","information",",","see","the","`","set_","*","`","class","method","documentation",".","The","options","are",":","filter_method","The","filtering","method","controls","aspects","of","which","Kalman","filtering","approach","will","be","used",".","inversion_method","The","Kalman","filter","may","contain","one","matrix","inversion",":","that","of","the","forecast","error","covariance","matrix",".","The","inversion","method","controls","how","and","if","that","inverse","is","performed",".","stability_method","The","Kalman","filter","is","a","recursive","algorithm","that","may","in","some","cases","suffer","issues","with","numerical","stability",".","The","stability","method","controls","what",",","if","any",",","measures","are","taken","to","promote","stability",".","conserve_memory","By","default",",","the","Kalman","filter","computes","a","number","of","intermediate","matrices","at","each","iteration",".","The","memory","conservation","options","control","which","of","those","matrices","are","stored",".","filter_timing","By","default",",","the","Kalman","filter","follows","Durbin","and","Koopman",",","2012",",","in","initializing","the","filter","with","predicted","values",".","Kim","and","Nelson",",","1999",",","instead","initialize","the","filter","with","filtered","values",",","which","is","essentially","just","a","different","timing","convention",".","The","`","filter_method","`","and","`","inversion_method","`","options","intentionally","allow","the","possibility","that","multiple","methods","will","be","indicated",".","In","the","case","that","multiple","methods","are","selected",",","the","underlying","Kalman","filter","will","attempt","to","select","the","optional","method","given","the","input","data",".","For","example",",","it","may","be","that","INVERT_UNIVARIATE","and","SOLVE_CHOLESKY","are","indicated","(","this","is","in","fact","the","default","case",")",".","In","this","case",",","if","the","endogenous","vector","is","1-dimensional","(","`","k_endog","`","=","1",")",",","then","INVERT_UNIVARIATE","is","used","and","inversion","reduces","to","simple","division",",","and","if","it","has","a","larger","dimension",",","the","Cholesky","decomposition","along","with","linear","solving","(","rather","than","explicit","matrix","inversion",")","is","used",".","If","only","SOLVE_CHOLESKY","had","been","set",",","then","the","Cholesky","decomposition","method","would","*","always","*","be","used",",","even","in","the","case","of","1-dimensional","data","."]
docstr: Apply the Kalman filter to the statespace model.
  
  Parameters
  ----------
  filter_method : int, optional
      Determines which Kalman filter to use. Default is conventional.
  inversion_method : int, optional
      Determines which inversion technique to use. Default is by Cholesky
      decomposition.
  stability_method : int, optional
      Determines which numerical stability techniques to use. Default is
      to enforce symmetry of the predicted state covariance matrix.
  conserve_memory : int, optional
      Determines what output from the filter to store. Default is to
      store everything.
  filter_timing : int, optional
      Determines the timing convention of the filter. Default is that
      from Durbin and Koopman (2012), in which the filter is initialized
      with predicted values.
  tolerance : float, optional
      The tolerance at which the Kalman filter determines convergence to
      steady-state. Default is 1e-19.
  loglikelihood_burn : int, optional
      The number of initial periods during which the loglikelihood is not
      recorded. Default is 0.
  
  Notes
  -----
  This function by default does not compute variables required for
  smoothing.
docstr_tok: ["Apply","the","Kalman","filter","to","the","statespace","model",".","Parameters","--","--","--","--","--","filter_method",":","int",",","optional","Determines","which","Kalman","filter","to","use",".","Default","is","conventional",".","inversion_method",":","int",",","optional","Determines","which","inversion","technique","to","use",".","Default","is","by","Cholesky","decomposition",".","stability_method",":","int",",","optional","Determines","which","numerical","stability","techniques","to","use",".","Default","is","to","enforce","symmetry","of","the","predicted","state","covariance","matrix",".","conserve_memory",":","int",",","optional","Determines","what","output","from","the","filter","to","store",".","Default","is","to","store","everything",".","filter_timing",":","int",",","optional","Determines","the","timing","convention","of","the","filter",".","Default","is","that","from","Durbin","and","Koopman","(","2012",")",",","in","which","the","filter","is","initialized","with","predicted","values",".","tolerance",":","float",",","optional","The","tolerance","at","which","the","Kalman","filter","determines","convergence","to","steady-state",".","Default","is","1e-19",".","loglikelihood_burn",":","int",",","optional","The","number","of","initial","periods","during","which","the","loglikelihood","is","not","recorded",".","Default","is","0",".","Notes","--","--","-","This","function","by","default","does","not","compute","variables","required","for","smoothing","."]
code: def filter(
      self,
      filter_method=None,
      inversion_method=None,
      stability_method=None,
      conserve_memory=None,
      filter_timing=None,
      tolerance=None,
      loglikelihood_burn=None,
      complex_step=False,
  ):
      r"""
      Apply the Kalman filter to the statespace model.
  
      Parameters
      ----------
      filter_method : int, optional
          Determines which Kalman filter to use. Default is conventional.
      inversion_method : int, optional
          Determines which inversion technique to use. Default is by Cholesky
          decomposition.
      stability_method : int, optional
          Determines which numerical stability techniques to use. Default is
          to enforce symmetry of the predicted state covariance matrix.
      conserve_memory : int, optional
          Determines what output from the filter to store. Default is to
          store everything.
      filter_timing : int, optional
          Determines the timing convention of the filter. Default is that
          from Durbin and Koopman (2012), in which the filter is initialized
          with predicted values.
      tolerance : float, optional
          The tolerance at which the Kalman filter determines convergence to
          steady-state. Default is 1e-19.
      loglikelihood_burn : int, optional
          The number of initial periods during which the loglikelihood is not
          recorded. Default is 0.
  
      Notes
      -----
      This function by default does not compute variables required for
      smoothing.
      """
      # Handle memory conservation
      if conserve_memory is None:
          conserve_memory = self.conserve_memory | MEMORY_NO_SMOOTHING
      conserve_memory_cache = self.conserve_memory
      self.set_conserve_memory(conserve_memory)
  
      # Run the filter
      kfilter = self._filter(
          filter_method,
          inversion_method,
          stability_method,
          conserve_memory,
          filter_timing,
          tolerance,
          loglikelihood_burn,
          complex_step,
      )
  
      # Create the results object
      results = self.results_class(self)
      results.update_representation(self)
      results.update_filter(kfilter)
  
      # Resent memory conservation
      self.set_conserve_memory(conserve_memory_cache)
  
      return results
  
imports: import contextlib
  from warnings import warn
  import numpy
  from .representation import OptionWrapper, Representation, FrozenRepresentation
  from .tools import reorder_missing_matrix, reorder_missing_vector
  from .None import tools
  from statsmodels.tools.sm_exceptions import ValueWarning
label_desc: Use image node_id 18 for calling the KalmanFilter obj's underlying member method code with example usage: obj.filter(filter_method, inversion_method, stability_method, conserve_memory, filter_timing, tolerance, loglikelihood_burn, complex_step) and returns: results