class_docstr: Formal representation of a local linear trend model.
  
  The local linear trend model posits a `level` and `slope`, each
  evolving via a Gaussian random walk:
  
  ```
  level[t] = level[t-1] + slope[t-1] + Normal(0., level_scale)
  slope[t] = slope[t-1] + Normal(0., slope_scale)
  ```
  
  The latent state is the two-dimensional tuple `[level, slope]`. At each
  timestep we observe a noisy realization of the current level:
  `f[t] = level[t] + Normal(0., observation_noise_scale)`. This model
  is appropriate for data where the trend direction and magnitude (latent
  `slope`) is consistent within short periods but may evolve over time.
  
  Note that this model can produce very high uncertainty forecasts, as
  uncertainty over the slope compounds quickly. If you expect your data to
  have nonzero long-term trend, i.e. that slopes tend to revert to some mean,
  then the `SemiLocalLinearTrend` model may produce sharper forecasts.
class_docstr_tok: ["Formal","representation","of","a","local","linear","trend","model",".","The","local","linear","trend","model","posits","a","`","level","`","and","`","slope","`",",","each","evolving","via","a","Gaussian","random","walk",":","``","`","level","[","t","]","=","level","[","t-1","]","+","slope","[","t-1","]","+","Normal","(","0.",",","level_scale",")","slope","[","t","]","=","slope","[","t-1","]","+","Normal","(","0.",",","slope_scale",")","``","`","The","latent","state","is","the","two-dimensional","tuple","`","[","level",",","slope","]","`",".","At","each","timestep","we","observe","a","noisy","realization","of","the","current","level",":","`","f","[","t","]","=","level","[","t","]","+","Normal","(","0.",",","observation_noise_scale",")","`",".","This","model","is","appropriate","for","data","where","the","trend","direction","and","magnitude","(","latent","`","slope","`",")","is","consistent","within","short","periods","but","may","evolve","over","time",".","Note","that","this","model","can","produce","very","high","uncertainty","forecasts",",","as","uncertainty","over","the","slope","compounds","quickly",".","If","you","expect","your","data","to","have","nonzero","long-term","trend",",","i.e",".","that","slopes","tend","to","revert","to","some","mean",",","then","the","`","SemiLocalLinearTrend","`","model","may","produce","sharper","forecasts","."]
docstr: Prior distribution on the initial latent state (level and scale).
docstr_tok: ["Prior","distribution","on","the","initial","latent","state","(","level","and","scale",")","."]
code: def initial_state_prior(self):
      """Prior distribution on the initial latent state (level and scale)."""
      return self._initial_state_prior
  
imports: 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.distributions import normal
  from tensorflow_probability.python.internal import distribution_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import samplers
  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 LocalLinearTrend obj's underlying member method code with example usage: obj.initial_state_prior() and returns: self