class_docstr: Sum of structural time series components.
  
  This class enables compositional specification of a structural time series
  model from basic components. Given a list of component models, it represents
  an additive model, i.e., a model of time series that may be decomposed into a
  sum of terms corresponding to the component models.
  
  Formally, the additive model represents a random process
  `g[t] = f1[t] + f2[t] + ... + fN[t] + eps[t]`, where the `f`'s are the
  random processes represented by the components, and
  `eps[t] ~ Normal(loc=0, scale=observation_noise_scale)` is an observation
  noise term. See the `AdditiveStateSpaceModel` documentation for mathematical
  details.
  
  This model inherits the parameters (with priors) of its components, and
  adds an `observation_noise_scale` parameter governing the level of noise in
  the observed time series.
  
  #### Examples
  
  To construct a model combining a local linear trend with a day-of-week effect:
  
  ```
    local_trend = tfp.sts.LocalLinearTrend(
        observed_time_series=observed_time_series,
        name='local_trend')
    day_of_week_effect = tfp.sts.Seasonal(
        num_seasons=7,
        observed_time_series=observed_time_series,
        name='day_of_week_effect')
    additive_model = tfp.sts.Sum(
        components=[local_trend, day_of_week_effect],
        observed_time_series=observed_time_series)
  
    print([p.name for p in additive_model.parameters])
    # => `[observation_noise_scale,
    #      local_trend_level_scale,
    #      local_trend_slope_scale,
    #      day_of_week_effect_drift_scale`]
  
    print(local_trend.latent_size,
          seasonal.latent_size,
          additive_model.latent_size)
    # => `2`, `7`, `9`
  ```
class_docstr_tok: ["Sum","of","structural","time","series","components",".","This","class","enables","compositional","specification","of","a","structural","time","series","model","from","basic","components",".","Given","a","list","of","component","models",",","it","represents","an","additive","model",",","i.e.",",","a","model","of","time","series","that","may","be","decomposed","into","a","sum","of","terms","corresponding","to","the","component","models",".","Formally",",","the","additive","model","represents","a","random","process","`","g","[","t","]","=","f1","[","t","]","+","f2","[","t","]","+","...","+","fN","[","t","]","+","eps","[","t","]","`",",","where","the","`","f","`","'s","are","the","random","processes","represented","by","the","components",",","and","`","eps","[","t","]","~","Normal","(","loc=0",",","scale=observation_noise_scale",")","`","is","an","observation","noise","term",".","See","the","`","AdditiveStateSpaceModel","`","documentation","for","mathematical","details",".","This","model","inherits","the","parameters","(","with","priors",")","of","its","components",",","and","adds","an","`","observation_noise_scale","`","parameter","governing","the","level","of","noise","in","the","observed","time","series",".","#","#","#","#","Examples","To","construct","a","model","combining","a","local","linear","trend","with","a","day-of-week","effect",":","``","`","local_trend","=","tfp.sts.LocalLinearTrend","(","observed_time_series=observed_time_series",",","name='local_trend","'",")","day_of_week_effect","=","tfp.sts.Seasonal","(","num_seasons=7",",","observed_time_series=observed_time_series",",","name='day_of_week_effect","'",")","additive_model","=","tfp.sts.Sum","(","components=","[","local_trend",",","day_of_week_effect","]",",","observed_time_series=observed_time_series",")","print","(","[","p.name","for","p","in","additive_model.parameters","]",")","#","=",">","`","[","observation_noise_scale",",","#","local_trend_level_scale",",","#","local_trend_slope_scale",",","#","day_of_week_effect_drift_scale","`","]","print","(","local_trend.latent_size",",","seasonal.latent_size",",","additive_model.latent_size",")","#","=",">","`","2","`",",","`","7","`",",","`","9","`","``","`"]
docstr: List of component `StructuralTimeSeries` models.
docstr_tok: ["List","of","component","`","StructuralTimeSeries","`","models","."]
code: def components(self):
      """List of component `StructuralTimeSeries` models."""
      return self._components
  
imports: import collections
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import chain
  from tensorflow_probability.python.bijectors import scale
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.distributions import linear_gaussian_ssm
  from tensorflow_probability.python.distributions import lognormal
  from tensorflow_probability.python.distributions import mvn_diag
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.sts.internal import util
  from tensorflow_probability.python.sts.structural_time_series import Parameter
  from tensorflow_probability.python.sts.structural_time_series import StructuralTimeSeries
label_desc: Use image node_id 2 for calling the Sum obj's underlying member method code with example usage: obj.components() and returns: self