class_docstr: Formal representation of a dynamic linear regresson model.
  
  The dynamic linear regression model is a special case of a linear Gaussian SSM
  and a generalization of typical (static) linear regression. The model
  represents regression `weights` with a latent state which evolves via a
  Gaussian random walk:
  
  ```
  weights[t] ~ Normal(weights[t-1], drift_scale)
  ```
  
  The latent state has dimension `num_features`, while the parameters
  `drift_scale` and `observation_noise_scale` are each (a batch of) scalars. The
  batch shape of this `Distribution` is the broadcast batch shape of these
  parameters, the `initial_state_prior`, and the `design_matrix`. `num_features`
  is determined from the last dimension of `design_matrix` (equivalent to the
  number of columns in the design matrix in linear regression).
class_docstr_tok: ["Formal","representation","of","a","dynamic","linear","regresson","model",".","The","dynamic","linear","regression","model","is","a","special","case","of","a","linear","Gaussian","SSM","and","a","generalization","of","typical","(","static",")","linear","regression",".","The","model","represents","regression","`","weights","`","with","a","latent","state","which","evolves","via","a","Gaussian","random","walk",":","``","`","weights","[","t","]","~","Normal","(","weights","[","t-1","]",",","drift_scale",")","``","`","The","latent","state","has","dimension","`","num_features","`",",","while","the","parameters","`","drift_scale","`","and","`","observation_noise_scale","`","are","each","(","a","batch","of",")","scalars",".","The","batch","shape","of","this","`","Distribution","`","is","the","broadcast","batch","shape","of","these","parameters",",","the","`","initial_state_prior","`",",","and","the","`","design_matrix","`",".","`","num_features","`","is","determined","from","the","last","dimension","of","`","design_matrix","`","(","equivalent","to","the","number","of","columns","in","the","design","matrix","in","linear","regression",")","."]
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.internal import distribution_util
  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 DynamicLinearRegression obj's underlying member method code with example usage: obj.initial_state_prior() and returns: self