class_docstr: Univariate unobserved components time series model
  
  These are also known as structural time series models, and decompose a
  (univariate) time series into trend, seasonal, cyclical, and irregular
  components.
  
  Parameters
  ----------
  
  endog : array_like
      The observed time-series process :math:`y`
  level : {bool, str}, optional
      Whether or not to include a level component. Default is False. Can also
      be a string specification of the level / trend component; see Notes
      for available model specification strings.
  trend : bool, optional
      Whether or not to include a trend component. Default is False. If True,
      `level` must also be True.
  seasonal : {int, None}, optional
      The period of the seasonal component, if any. Default is None.
  freq_seasonal : {list[dict], None}, optional.
      Whether (and how) to model seasonal component(s) with trig. functions.
      If specified, there is one dictionary for each frequency-domain
      seasonal component.  Each dictionary must have the key, value pair for
      'period' -- integer and may have a key, value pair for
      'harmonics' -- integer. If 'harmonics' is not specified in any of the
      dictionaries, it defaults to the floor of period/2.
  cycle : bool, optional
      Whether or not to include a cycle component. Default is False.
  autoregressive : {int, None}, optional
      The order of the autoregressive component. Default is None.
  exog : {array_like, None}, optional
      Exogenous variables.
  irregular : bool, optional
      Whether or not to include an irregular component. Default is False.
  stochastic_level : bool, optional
      Whether or not any level component is stochastic. Default is False.
  stochastic_trend : bool, optional
      Whether or not any trend component is stochastic. Default is False.
  stochastic_seasonal : bool, optional
      Whether or not any seasonal component is stochastic. Default is True.
  stochastic_freq_seasonal : list[bool], optional
      Whether or not each seasonal component(s) is (are) stochastic.  Default
      is True for each component.  The list should be of the same length as
      freq_seasonal.
  stochastic_cycle : bool, optional
      Whether or not any cycle component is stochastic. Default is False.
  damped_cycle : bool, optional
      Whether or not the cycle component is damped. Default is False.
  cycle_period_bounds : tuple, optional
      A tuple with lower and upper allowed bounds for the period of the
      cycle. If not provided, the following default bounds are used:
      (1) if no date / time information is provided, the frequency is
      constrained to be between zero and :math:`\pi`, so the period is
      constrained to be in [0.5, infinity].
      (2) If the date / time information is provided, the default bounds
      allow the cyclical component to be between 1.5 and 12 years; depending
      on the frequency of the endogenous variable, this will imply different
      specific bounds.
  mle_regression : bool, optional
      Whether or not to estimate regression coefficients by maximum likelihood
      as one of hyperparameters. Default is True.
      If False, the regression coefficients are estimated by recursive OLS,
      included in the state vector.
  use_exact_diffuse : bool, optional
      Whether or not to use exact diffuse initialization for non-stationary
      states. Default is False (in which case approximate diffuse
      initialization is used).
  
  See Also
  --------
  statsmodels.tsa.statespace.structural.UnobservedComponentsResults
  statsmodels.tsa.statespace.mlemodel.MLEModel
  
  Notes
  -----
  
  These models take the general form (see [1]_ Chapter 3.2 for all details)
  
  .. math::
  
      y_t = \mu_t + \gamma_t + c_t + \varepsilon_t
  
  where :math:`y_t` refers to the observation vector at time :math:`t`,
  :math:`\mu_t` refers to the trend component, :math:`\gamma_t` refers to the
  seasonal component, :math:`c_t` refers to the cycle, and
  :math:`\varepsilon_t` is the irregular. The modeling details of these
  components are given below.
  
  **Trend**
  
  The trend component is a dynamic extension of a regression model that
  includes an intercept and linear time-trend. It can be written:
  
  .. math::
  
      \mu_t = \mu_{t-1} + \beta_{t-1} + \eta_{t-1} \\
      \beta_t = \beta_{t-1} + \zeta_{t-1}
  
  where the level is a generalization of the intercept term that can
  dynamically vary across time, and the trend is a generalization of the
  time-trend such that the slope can dynamically vary across time.
  
  Here :math:`\eta_t \sim N(0, \sigma_\eta^2)` and
  :math:`\zeta_t \sim N(0, \sigma_\zeta^2)`.
  
  For both elements (level and trend), we can consider models in which:
  
  - The element is included vs excluded (if the trend is included, there must
    also be a level included).
  - The element is deterministic vs stochastic (i.e. whether or not the
    variance on the error term is confined to be zero or not)
  
  The only additional parameters to be estimated via MLE are the variances of
  any included stochastic components.
  
  The level/trend components can be specified using the boolean keyword
  arguments `level`, `stochastic_level`, `trend`, etc., or all at once as a
  string argument to `level`. The following table shows the available
  model specifications:
  
  +----------------------------------+--------------------------------------+--------------------+--------------------------------------------------+
  | Model name                       | Full string syntax                   | Abbreviated syntax | Model                                            |
  +==================================+======================================+====================+==================================================+
  | No trend                         | `'irregular'`                        | `'ntrend'`         | .. math:: y_t = \varepsilon_t                    |
  +----------------------------------+--------------------------------------+--------------------+--------------------------------------------------+
  | Fixed intercept                  | `'fixed intercept'`                  |                    | .. math:: y_t = \mu                              |
  +----------------------------------+--------------------------------------+--------------------+--------------------------------------------------+
  | Deterministic constant           | `'deterministic constant'`           | `'dconstant'`      | .. math:: y_t = \mu + \varepsilon_t              |
  +----------------------------------+--------------------------------------+--------------------+--------------------------------------------------+
  | Local level                      | `'local level'`                      | `'llevel'`         | .. math:: y_t &= \mu_t + \varepsilon_t \\        |
  |                                  |                                      |                    |     \mu_t &= \mu_{t-1} + \eta_t                  |
  +----------------------------------+--------------------------------------+--------------------+--------------------------------------------------+
  | Random walk                      | `'random walk'`                      | `'rwalk'`          | .. math:: y_t &= \mu_t \\                        |
  |                                  |                                      |                    |     \mu_t &= \mu_{t-1} + \eta_t                  |
  +----------------------------------+--------------------------------------+--------------------+--------------------------------------------------+
  | Fixed slope                      | `'fixed slope'`                      |                    | .. math:: y_t &= \mu_t \\                        |
  |                                  |                                      |                    |     \mu_t &= \mu_{t-1} + \beta                   |
  +----------------------------------+--------------------------------------+--------------------+--------------------------------------------------+
  | Deterministic trend              | `'deterministic trend'`              | `'dtrend'`         | .. math:: y_t &= \mu_t + \varepsilon_t \\        |
  |                                  |                                      |                    |     \mu_t &= \mu_{t-1} + \beta                   |
  +----------------------------------+--------------------------------------+--------------------+--------------------------------------------------+
  | Local linear deterministic trend | `'local linear deterministic trend'` | `'lldtrend'`       | .. math:: y_t &= \mu_t + \varepsilon_t \\        |
  |                                  |                                      |                    |     \mu_t &= \mu_{t-1} + \beta + \eta_t          |
  +----------------------------------+--------------------------------------+--------------------+--------------------------------------------------+
  | Random walk with drift           | `'random walk with drift'`           | `'rwdrift'`        | .. math:: y_t &= \mu_t \\                        |
  |                                  |                                      |                    |     \mu_t &= \mu_{t-1} + \beta + \eta_t          |
  +----------------------------------+--------------------------------------+--------------------+--------------------------------------------------+
  | Local linear trend               | `'local linear trend'`               | `'lltrend'`        | .. math:: y_t &= \mu_t + \varepsilon_t \\        |
  |                                  |                                      |                    |     \mu_t &= \mu_{t-1} + \beta_{t-1} + \eta_t \\ |
  |                                  |                                      |                    |     \beta_t &= \beta_{t-1} + \zeta_t             |
  +----------------------------------+--------------------------------------+--------------------+--------------------------------------------------+
  | Smooth trend                     | `'smooth trend'`                     | `'strend'`         | .. math:: y_t &= \mu_t + \varepsilon_t \\        |
  |                                  |                                      |                    |     \mu_t &= \mu_{t-1} + \beta_{t-1} \\          |
  |                                  |                                      |                    |     \beta_t &= \beta_{t-1} + \zeta_t             |
  +----------------------------------+--------------------------------------+--------------------+--------------------------------------------------+
  | Random trend                     | `'random trend'`                     | `'rtrend'`         | .. math:: y_t &= \mu_t \\                        |
  |                                  |                                      |                    |     \mu_t &= \mu_{t-1} + \beta_{t-1} \\          |
  |                                  |                                      |                    |     \beta_t &= \beta_{t-1} + \zeta_t             |
  +----------------------------------+--------------------------------------+--------------------+--------------------------------------------------+
  
  Following the fitting of the model, the unobserved level and trend
  component time series are available in the results class in the
  `level` and `trend` attributes, respectively.
  
  **Seasonal (Time-domain)**
  
  The seasonal component is modeled as:
  
  .. math::
  
      \gamma_t = - \sum_{j=1}^{s-1} \gamma_{t+1-j} + \omega_t \\
      \omega_t \sim N(0, \sigma_\omega^2)
  
  The periodicity (number of seasons) is s, and the defining character is
  that (without the error term), the seasonal components sum to zero across
  one complete cycle. The inclusion of an error term allows the seasonal
  effects to vary over time (if this is not desired, :math:`\sigma_\omega^2`
  can be set to zero using the `stochastic_seasonal=False` keyword argument).
  
  This component results in one parameter to be selected via maximum
  likelihood: :math:`\sigma_\omega^2`, and one parameter to be chosen, the
  number of seasons `s`.
  
  Following the fitting of the model, the unobserved seasonal component
  time series is available in the results class in the `seasonal`
  attribute.
  
  **Frequency-domain Seasonal**
  
  Each frequency-domain seasonal component is modeled as:
  
  .. math::
  
      \gamma_t & =  \sum_{j=1}^h \gamma_{j, t} \\
      \gamma_{j, t+1} & = \gamma_{j, t}\cos(\lambda_j)
                      + \gamma^{*}_{j, t}\sin(\lambda_j) + \omega_{j,t} \\
      \gamma^{*}_{j, t+1} & = -\gamma^{(1)}_{j, t}\sin(\lambda_j)
                          + \gamma^{*}_{j, t}\cos(\lambda_j)
                          + \omega^{*}_{j, t}, \\
      \omega^{*}_{j, t}, \omega_{j, t} & \sim N(0, \sigma_{\omega^2}) \\
      \lambda_j & = \frac{2 \pi j}{s}
  
  where j ranges from 1 to h.
  
  The periodicity (number of "seasons" in a "year") is s and the number of
  harmonics is h.  Note that h is configurable to be less than s/2, but
  s/2 harmonics is sufficient to fully model all seasonal variations of
  periodicity s.  Like the time domain seasonal term (cf. Seasonal section,
  above), the inclusion of the error terms allows for the seasonal effects to
  vary over time.  The argument stochastic_freq_seasonal can be used to set
  one or more of the seasonal components of this type to be non-random,
  meaning they will not vary over time.
  
  This component results in one parameter to be fitted using maximum
  likelihood: :math:`\sigma_{\omega^2}`, and up to two parameters to be
  chosen, the number of seasons s and optionally the number of harmonics
  h, with :math:`1 \leq h \leq \lfloor s/2 \rfloor`.
  
  After fitting the model, each unobserved seasonal component modeled in the
  frequency domain is available in the results class in the `freq_seasonal`
  attribute.
  
  **Cycle**
  
  The cyclical component is intended to capture cyclical effects at time
  frames much longer than captured by the seasonal component. For example,
  in economics the cyclical term is often intended to capture the business
  cycle, and is then expected to have a period between "1.5 and 12 years"
  (see Durbin and Koopman).
  
  .. math::
  
      c_{t+1} & = \rho_c (\tilde c_t \cos \lambda_c t
              + \tilde c_t^* \sin \lambda_c) +
              \tilde \omega_t \\
      c_{t+1}^* & = \rho_c (- \tilde c_t \sin \lambda_c  t +
              \tilde c_t^* \cos \lambda_c) +
              \tilde \omega_t^* \\
  
  where :math:`\omega_t, \tilde \omega_t iid N(0, \sigma_{\tilde \omega}^2)`
  
  The parameter :math:`\lambda_c` (the frequency of the cycle) is an
  additional parameter to be estimated by MLE.
  
  If the cyclical effect is stochastic (`stochastic_cycle=True`), then there
  is another parameter to estimate (the variance of the error term - note
  that both of the error terms here share the same variance, but are assumed
  to have independent draws).
  
  If the cycle is damped (`damped_cycle=True`), then there is a third
  parameter to estimate, :math:`\rho_c`.
  
  In order to achieve cycles with the appropriate frequencies, bounds are
  imposed on the parameter :math:`\lambda_c` in estimation. These can be
  controlled via the keyword argument `cycle_period_bounds`, which, if
  specified, must be a tuple of bounds on the **period** `(lower, upper)`.
  The bounds on the frequency are then calculated from those bounds.
  
  The default bounds, if none are provided, are selected in the following
  way:
  
  1. If no date / time information is provided, the frequency is
     constrained to be between zero and :math:`\pi`, so the period is
     constrained to be in :math:`[0.5, \infty]`.
  2. If the date / time information is provided, the default bounds
     allow the cyclical component to be between 1.5 and 12 years; depending
     on the frequency of the endogenous variable, this will imply different
     specific bounds.
  
  Following the fitting of the model, the unobserved cyclical component
  time series is available in the results class in the `cycle`
  attribute.
  
  **Irregular**
  
  The irregular components are independent and identically distributed (iid):
  
  .. math::
  
      \varepsilon_t \sim N(0, \sigma_\varepsilon^2)
  
  **Autoregressive Irregular**
  
  An autoregressive component (often used as a replacement for the white
  noise irregular term) can be specified as:
  
  .. math::
  
      \varepsilon_t = \rho(L) \varepsilon_{t-1} + \epsilon_t \\
      \epsilon_t \sim N(0, \sigma_\epsilon^2)
  
  In this case, the AR order is specified via the `autoregressive` keyword,
  and the autoregressive coefficients are estimated.
  
  Following the fitting of the model, the unobserved autoregressive component
  time series is available in the results class in the `autoregressive`
  attribute.
  
  **Regression effects**
  
  Exogenous regressors can be pass to the `exog` argument. The regression
  coefficients will be estimated by maximum likelihood unless
  `mle_regression=False`, in which case the regression coefficients will be
  included in the state vector where they are essentially estimated via
  recursive OLS.
  
  If the regression_coefficients are included in the state vector, the
  recursive estimates are available in the results class in the
  `regression_coefficients` attribute.
  
  References
  ----------
  .. [1] Durbin, James, and Siem Jan Koopman. 2012.
     Time Series Analysis by State Space Methods: Second Edition.
     Oxford University Press.
class_docstr_tok: ["Univariate","unobserved","components","time","series","model","These","are","also","known","as","structural","time","series","models",",","and","decompose","a","(","univariate",")","time","series","into","trend",",","seasonal",",","cyclical",",","and","irregular","components",".","Parameters","--","--","--","--","--","endog",":","array_like","The","observed","time-series","process",":","math",":","`","y","`","level",":","{","bool",",","str","}",",","optional","Whether","or","not","to","include","a","level","component",".","Default","is","False",".","Can","also","be","a","string","specification","of","the","level","\/","trend","component",";","see","Notes","for","available","model","specification","strings",".","trend",":","bool",",","optional","Whether","or","not","to","include","a","trend","component",".","Default","is","False",".","If","True",",","`","level","`","must","also","be","True",".","seasonal",":","{","int",",","None","}",",","optional","The","period","of","the","seasonal","component",",","if","any",".","Default","is","None",".","freq_seasonal",":","{","list","[","dict","]",",","None","}",",","optional",".","Whether","(","and","how",")","to","model","seasonal","component","(","s",")","with","trig",".","functions",".","If","specified",",","there","is","one","dictionary","for","each","frequency-domain","seasonal","component",".","Each","dictionary","must","have","the","key",",","value","pair","for","'period","'","--","integer","and","may","have","a","key",",","value","pair","for","'harmonics","'","--","integer",".","If","'harmonics","'","is","not","specified","in","any","of","the","dictionaries",",","it","defaults","to","the","floor","of","period\/2",".","cycle",":","bool",",","optional","Whether","or","not","to","include","a","cycle","component",".","Default","is","False",".","autoregressive",":","{","int",",","None","}",",","optional","The","order","of","the","autoregressive","component",".","Default","is","None",".","exog",":","{","array_like",",","None","}",",","optional","Exogenous","variables",".","irregular",":","bool",",","optional","Whether","or","not","to","include","an","irregular","component",".","Default","is","False",".","stochastic_level",":","bool",",","optional","Whether","or","not","any","level","component","is","stochastic",".","Default","is","False",".","stochastic_trend",":","bool",",","optional","Whether","or","not","any","trend","component","is","stochastic",".","Default","is","False",".","stochastic_seasonal",":","bool",",","optional","Whether","or","not","any","seasonal","component","is","stochastic",".","Default","is","True",".","stochastic_freq_seasonal",":","list","[","bool","]",",","optional","Whether","or","not","each","seasonal","component","(","s",")","is","(","are",")","stochastic",".","Default","is","True","for","each","component",".","The","list","should","be","of","the","same","length","as","freq_seasonal",".","stochastic_cycle",":","bool",",","optional","Whether","or","not","any","cycle","component","is","stochastic",".","Default","is","False",".","damped_cycle",":","bool",",","optional","Whether","or","not","the","cycle","component","is","damped",".","Default","is","False",".","cycle_period_bounds",":","tuple",",","optional","A","tuple","with","lower","and","upper","allowed","bounds","for","the","period","of","the","cycle",".","If","not","provided",",","the","following","default","bounds","are","used",":","(","1",")","if","no","date","\/","time","information","is","provided",",","the","frequency","is","constrained","to","be","between","zero","and",":","math",":","`","\\pi","`",",","so","the","period","is","constrained","to","be","in","[","0.5",",","infinity","]",".","(","2",")","If","the","date","\/","time","information","is","provided",",","the","default","bounds","allow","the","cyclical","component","to","be","between","1.5","and","12","years",";","depending","on","the","frequency","of","the","endogenous","variable",",","this","will","imply","different","specific","bounds",".","mle_regression",":","bool",",","optional","Whether","or","not","to","estimate","regression","coefficients","by","maximum","likelihood","as","one","of","hyperparameters",".","Default","is","True",".","If","False",",","the","regression","coefficients","are","estimated","by","recursive","OLS",",","included","in","the","state","vector",".","use_exact_diffuse",":","bool",",","optional","Whether","or","not","to","use","exact","diffuse","initialization","for","non-stationary","states",".","Default","is","False","(","in","which","case","approximate","diffuse","initialization","is","used",")",".","See","Also","--","--","--","--","statsmodels.tsa.statespace.structural.UnobservedComponentsResults","statsmodels.tsa.statespace.mlemodel.MLEModel","Notes","--","--","-","These","models","take","the","general","form","(","see","[","1","]","_","Chapter","3.2","for","all","details",")","..","math",":",":","y_t","=","\\mu_t","+","\\gamma_t","+","c_t","+","\\varepsilon_t","where",":","math",":","`","y_t","`","refers","to","the","observation","vector","at","time",":","math",":","`","t","`",",",":","math",":","`","\\mu_t","`","refers","to","the","trend","component",",",":","math",":","`","\\gamma_t","`","refers","to","the","seasonal","component",",",":","math",":","`","c_t","`","refers","to","the","cycle",",","and",":","math",":","`","\\varepsilon_t","`","is","the","irregular",".","The","modeling","details","of","these","components","are","given","below",".","*","*","Trend","*","*","The","trend","component","is","a","dynamic","extension","of","a","regression","model","that","includes","an","intercept","and","linear","time-trend",".","It","can","be","written",":","..","math",":",":","\\mu_t","=","\\mu_","{","t-1","}","+","\\beta_","{","t-1","}","+","\\eta_","{","t-1","}","\\\\","\\beta_t","=","\\beta_","{","t-1","}","+","\\zeta_","{","t-1","}","where","the","level","is","a","generalization","of","the","intercept","term","that","can","dynamically","vary","across","time",",","and","the","trend","is","a","generalization","of","the","time-trend","such","that","the","slope","can","dynamically","vary","across","time",".","Here",":","math",":","`","\\eta_t","\\sim","N","(","0",",","\\sigma_\\eta^2",")","`","and",":","math",":","`","\\zeta_t","\\sim","N","(","0",",","\\sigma_\\zeta^2",")","`",".","For","both","elements","(","level","and","trend",")",",","we","can","consider","models","in","which",":","-","The","element","is","included","vs","excluded","(","if","the","trend","is","included",",","there","must","also","be","a","level","included",")",".","-","The","element","is","deterministic","vs","stochastic","(","i.e",".","whether","or","not","the","variance","on","the","error","term","is","confined","to","be","zero","or","not",")","The","only","additional","parameters","to","be","estimated","via","MLE","are","the","variances","of","any","included","stochastic","components",".","The","level\/trend","components","can","be","specified","using","the","boolean","keyword","arguments","`","level","`",",","`","stochastic_level","`",",","`","trend","`",",","etc.",",","or","all","at","once","as","a","string","argument","to","`","level","`",".","The","following","table","shows","the","available","model","specifications",":","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","Model","name","|","Full","string","syntax","|","Abbreviated","syntax","|","Model","|","+==================================+======================================+====================+==================================================+","|","No","trend","|","`","'irregular","'","`","|","`","'ntrend","'","`","|","..","math",":",":","y_t","=","\\varepsilon_t","|","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","Fixed","intercept","|","`","'fixed","intercept","'","`","|","|","..","math",":",":","y_t","=","\\mu","|","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","Deterministic","constant","|","`","'deterministic","constant","'","`","|","`","'dconstant","'","`","|","..","math",":",":","y_t","=","\\mu","+","\\varepsilon_t","|","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","Local","level","|","`","'local","level","'","`","|","`","'llevel","'","`","|","..","math",":",":","y_t","&","=","\\mu_t","+","\\varepsilon_t","\\\\","|","|","|","|","|","\\mu_t","&","=","\\mu_","{","t-1","}","+","\\eta_t","|","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","Random","walk","|","`","'random","walk","'","`","|","`","'rwalk","'","`","|","..","math",":",":","y_t","&","=","\\mu_t","\\\\","|","|","|","|","|","\\mu_t","&","=","\\mu_","{","t-1","}","+","\\eta_t","|","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","Fixed","slope","|","`","'fixed","slope","'","`","|","|","..","math",":",":","y_t","&","=","\\mu_t","\\\\","|","|","|","|","|","\\mu_t","&","=","\\mu_","{","t-1","}","+","\\beta","|","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","Deterministic","trend","|","`","'deterministic","trend","'","`","|","`","'dtrend","'","`","|","..","math",":",":","y_t","&","=","\\mu_t","+","\\varepsilon_t","\\\\","|","|","|","|","|","\\mu_t","&","=","\\mu_","{","t-1","}","+","\\beta","|","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","Local","linear","deterministic","trend","|","`","'local","linear","deterministic","trend","'","`","|","`","'lldtrend","'","`","|","..","math",":",":","y_t","&","=","\\mu_t","+","\\varepsilon_t","\\\\","|","|","|","|","|","\\mu_t","&","=","\\mu_","{","t-1","}","+","\\beta","+","\\eta_t","|","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","Random","walk","with","drift","|","`","'random","walk","with","drift","'","`","|","`","'rwdrift","'","`","|","..","math",":",":","y_t","&","=","\\mu_t","\\\\","|","|","|","|","|","\\mu_t","&","=","\\mu_","{","t-1","}","+","\\beta","+","\\eta_t","|","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","Local","linear","trend","|","`","'local","linear","trend","'","`","|","`","'lltrend","'","`","|","..","math",":",":","y_t","&","=","\\mu_t","+","\\varepsilon_t","\\\\","|","|","|","|","|","\\mu_t","&","=","\\mu_","{","t-1","}","+","\\beta_","{","t-1","}","+","\\eta_t","\\\\","|","|","|","|","|","\\beta_t","&","=","\\beta_","{","t-1","}","+","\\zeta_t","|","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","Smooth","trend","|","`","'smooth","trend","'","`","|","`","'strend","'","`","|","..","math",":",":","y_t","&","=","\\mu_t","+","\\varepsilon_t","\\\\","|","|","|","|","|","\\mu_t","&","=","\\mu_","{","t-1","}","+","\\beta_","{","t-1","}","\\\\","|","|","|","|","|","\\beta_t","&","=","\\beta_","{","t-1","}","+","\\zeta_t","|","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","|","Random","trend","|","`","'random","trend","'","`","|","`","'rtrend","'","`","|","..","math",":",":","y_t","&","=","\\mu_t","\\\\","|","|","|","|","|","\\mu_t","&","=","\\mu_","{","t-1","}","+","\\beta_","{","t-1","}","\\\\","|","|","|","|","|","\\beta_t","&","=","\\beta_","{","t-1","}","+","\\zeta_t","|","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","+","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","--","+","Following","the","fitting","of","the","model",",","the","unobserved","level","and","trend","component","time","series","are","available","in","the","results","class","in","the","`","level","`","and","`","trend","`","attributes",",","respectively",".","*","*","Seasonal","(","Time-domain",")","*","*","The","seasonal","component","is","modeled","as",":","..","math",":",":","\\gamma_t","=","-","\\sum_","{","j=1","}","^","{","s-1","}","\\gamma_","{","t+1-j","}","+","\\omega_t","\\\\","\\omega_t","\\sim","N","(","0",",","\\sigma_\\omega^2",")","The","periodicity","(","number","of","seasons",")","is","s",",","and","the","defining","character","is","that","(","without","the","error","term",")",",","the","seasonal","components","sum","to","zero","across","one","complete","cycle",".","The","inclusion","of","an","error","term","allows","the","seasonal","effects","to","vary","over","time","(","if","this","is","not","desired",",",":","math",":","`","\\sigma_\\omega^2","`","can","be","set","to","zero","using","the","`","stochastic_seasonal=False","`","keyword","argument",")",".","This","component","results","in","one","parameter","to","be","selected","via","maximum","likelihood",":",":","math",":","`","\\sigma_\\omega^2","`",",","and","one","parameter","to","be","chosen",",","the","number","of","seasons","`","s","`",".","Following","the","fitting","of","the","model",",","the","unobserved","seasonal","component","time","series","is","available","in","the","results","class","in","the","`","seasonal","`","attribute",".","*","*","Frequency-domain","Seasonal","*","*","Each","frequency-domain","seasonal","component","is","modeled","as",":","..","math",":",":","\\gamma_t","&","=","\\sum_","{","j=1","}","^h","\\gamma_","{","j",",","t","}","\\\\","\\gamma_","{","j",",","t+1","}","&","=","\\gamma_","{","j",",","t","}","\\cos","(","\\lambda_j",")","+","\\gamma^","{","*","}","_","{","j",",","t","}","\\sin","(","\\lambda_j",")","+","\\omega_","{","j",",","t","}","\\\\","\\gamma^","{","*","}","_","{","j",",","t+1","}","&","=","-\\gamma^","{","(","1",")","}","_","{","j",",","t","}","\\sin","(","\\lambda_j",")","+","\\gamma^","{","*","}","_","{","j",",","t","}","\\cos","(","\\lambda_j",")","+","\\omega^","{","*","}","_","{","j",",","t","}",",","\\\\","\\omega^","{","*","}","_","{","j",",","t","}",",","\\omega_","{","j",",","t","}","&","\\sim","N","(","0",",","\\sigma_","{","\\omega^2","}",")","\\\\","\\lambda_j","&","=","\\frac","{","2","\\pi","j","}","{","s","}","where","j","ranges","from","1","to","h.","The","periodicity","(","number","of","``","seasons","''","in","a","``","year","''",")","is","s","and","the","number","of","harmonics","is","h.","Note","that","h","is","configurable","to","be","less","than","s\/2",",","but","s\/2","harmonics","is","sufficient","to","fully","model","all","seasonal","variations","of","periodicity","s.","Like","the","time","domain","seasonal","term","(","cf",".","Seasonal","section",",","above",")",",","the","inclusion","of","the","error","terms","allows","for","the","seasonal","effects","to","vary","over","time",".","The","argument","stochastic_freq_seasonal","can","be","used","to","set","one","or","more","of","the","seasonal","components","of","this","type","to","be","non-random",",","meaning","they","will","not","vary","over","time",".","This","component","results","in","one","parameter","to","be","fitted","using","maximum","likelihood",":",":","math",":","`","\\sigma_","{","\\omega^2","}","`",",","and","up","to","two","parameters","to","be","chosen",",","the","number","of","seasons","s","and","optionally","the","number","of","harmonics","h",",","with",":","math",":","`","1","\\leq","h","\\leq","\\lfloor","s\/2","\\rfloor","`",".","After","fitting","the","model",",","each","unobserved","seasonal","component","modeled","in","the","frequency","domain","is","available","in","the","results","class","in","the","`","freq_seasonal","`","attribute",".","*","*","Cycle","*","*","The","cyclical","component","is","intended","to","capture","cyclical","effects","at","time","frames","much","longer","than","captured","by","the","seasonal","component",".","For","example",",","in","economics","the","cyclical","term","is","often","intended","to","capture","the","business","cycle",",","and","is","then","expected","to","have","a","period","between","``","1.5","and","12","years","''","(","see","Durbin","and","Koopman",")",".","..","math",":",":","c_","{","t+1","}","&","=","\\rho_c","(","\\tilde","c_t","\\cos","\\lambda_c","t","+","\\tilde","c_t^","*","\\sin","\\lambda_c",")","+","\\tilde","\\omega_t","\\\\","c_","{","t+1","}","^","*","&","=","\\rho_c","(","-","\\tilde","c_t","\\sin","\\lambda_c","t","+","\\tilde","c_t^","*","\\cos","\\lambda_c",")","+","\\tilde","\\omega_t^","*","\\\\","where",":","math",":","`","\\omega_t",",","\\tilde","\\omega_t","iid","N","(","0",",","\\sigma_","{","\\tilde","\\omega","}","^2",")","`","The","parameter",":","math",":","`","\\lambda_c","`","(","the","frequency","of","the","cycle",")","is","an","additional","parameter","to","be","estimated","by","MLE",".","If","the","cyclical","effect","is","stochastic","(","`","stochastic_cycle=True","`",")",",","then","there","is","another","parameter","to","estimate","(","the","variance","of","the","error","term","-","note","that","both","of","the","error","terms","here","share","the","same","variance",",","but","are","assumed","to","have","independent","draws",")",".","If","the","cycle","is","damped","(","`","damped_cycle=True","`",")",",","then","there","is","a","third","parameter","to","estimate",",",":","math",":","`","\\rho_c","`",".","In","order","to","achieve","cycles","with","the","appropriate","frequencies",",","bounds","are","imposed","on","the","parameter",":","math",":","`","\\lambda_c","`","in","estimation",".","These","can","be","controlled","via","the","keyword","argument","`","cycle_period_bounds","`",",","which",",","if","specified",",","must","be","a","tuple","of","bounds","on","the","*","*","period","*","*","`","(","lower",",","upper",")","`",".","The","bounds","on","the","frequency","are","then","calculated","from","those","bounds",".","The","default","bounds",",","if","none","are","provided",",","are","selected","in","the","following","way",":","1",".","If","no","date","\/","time","information","is","provided",",","the","frequency","is","constrained","to","be","between","zero","and",":","math",":","`","\\pi","`",",","so","the","period","is","constrained","to","be","in",":","math",":","`","[","0.5",",","\\infty","]","`",".","2",".","If","the","date","\/","time","information","is","provided",",","the","default","bounds","allow","the","cyclical","component","to","be","between","1.5","and","12","years",";","depending","on","the","frequency","of","the","endogenous","variable",",","this","will","imply","different","specific","bounds",".","Following","the","fitting","of","the","model",",","the","unobserved","cyclical","component","time","series","is","available","in","the","results","class","in","the","`","cycle","`","attribute",".","*","*","Irregular","*","*","The","irregular","components","are","independent","and","identically","distributed","(","iid",")",":","..","math",":",":","\\varepsilon_t","\\sim","N","(","0",",","\\sigma_\\varepsilon^2",")","*","*","Autoregressive","Irregular","*","*","An","autoregressive","component","(","often","used","as","a","replacement","for","the","white","noise","irregular","term",")","can","be","specified","as",":","..","math",":",":","\\varepsilon_t","=","\\rho","(","L",")","\\varepsilon_","{","t-1","}","+","\\epsilon_t","\\\\","\\epsilon_t","\\sim","N","(","0",",","\\sigma_\\epsilon^2",")","In","this","case",",","the","AR","order","is","specified","via","the","`","autoregressive","`","keyword",",","and","the","autoregressive","coefficients","are","estimated",".","Following","the","fitting","of","the","model",",","the","unobserved","autoregressive","component","time","series","is","available","in","the","results","class","in","the","`","autoregressive","`","attribute",".","*","*","Regression","effects","*","*","Exogenous","regressors","can","be","pass","to","the","`","exog","`","argument",".","The","regression","coefficients","will","be","estimated","by","maximum","likelihood","unless","`","mle_regression=False","`",",","in","which","case","the","regression","coefficients","will","be","included","in","the","state","vector","where","they","are","essentially","estimated","via","recursive","OLS",".","If","the","regression_coefficients","are","included","in","the","state","vector",",","the","recursive","estimates","are","available","in","the","results","class","in","the","`","regression_coefficients","`","attribute",".","References","--","--","--","--","--","..","[","1","]","Durbin",",","James",",","and","Siem","Jan","Koopman",".","2012",".","Time","Series","Analysis","by","State","Space","Methods",":","Second","Edition",".","Oxford","University","Press","."]
docstr: Reverse the transformation
docstr_tok: ["Reverse","the","transformation"]
code: def untransform_params(self, constrained):
      """
      Reverse the transformation
      """
      constrained = np.array(constrained, ndmin=1)
      unconstrained = np.zeros(
          constrained.shape, dtype=constrained.dtype
      )
  
      # Positive parameters: obs_cov, state_cov
      offset = self.k_obs_cov + self.k_state_cov
      unconstrained[:offset] = constrained[:offset] ** 0.5
  
      # Cycle parameters
      if self.cycle:
          # Cycle frequency must be between between our bounds
          low, high = self.cycle_frequency_bound
          x = (constrained[offset] - low) / (high - low)
          unconstrained[offset] = np.log(x / (1 - x))
          offset += 1
  
          # Cycle damping (if present) must be between 0 and 1
          if self.damped_cycle:
              unconstrained[offset] = np.log(
                  constrained[offset] / (1 - constrained[offset])
              )
              offset += 1
  
      # Autoregressive coefficients must be stationary
      if self.autoregressive:
          unconstrained[
              offset : offset + self.ar_order
          ] = unconstrain_stationary_univariate(
              constrained[offset : offset + self.ar_order]
          )
          offset += self.ar_order
  
      # Nothing to do with betas
      unconstrained[offset : offset + self.k_exog] = constrained[
          offset : offset + self.k_exog
      ]
  
      return unconstrained
  
imports: from warnings import warn
  import numpy
  from statsmodels.compat.pandas import Appender
  from statsmodels.tools.tools import Bunch
  from statsmodels.tools.sm_exceptions import OutputWarning, SpecificationWarning
  import statsmodels.base.wrapper
  from statsmodels.tsa.filters.hp_filter import hpfilter
  from statsmodels.tsa.tsatools import lagmat
  from .mlemodel import MLEModel, MLEResults, MLEResultsWrapper
  from .initialization import Initialization
  from .tools import companion_matrix, constrain_stationary_univariate, unconstrain_stationary_univariate, prepare_exog
label_desc: Use image node_id 11 for calling the UnobservedComponents obj's underlying member method code with example usage: obj.untransform_params(constrained) and returns: unconstrained