def __init__(self,<EOL>design_matrix,<EOL>drift_scale_prior=None,<EOL>initial_weights_prior=None,<EOL>observed_time_series=None,<EOL>name=None):
with tf.compat.v1.name_scope(<EOL>name, '<STR_LIT>', values=[observed_time_series]) as name:<EOL><INDENT>dtype = dtype_util.common_dtype(<EOL>[design_matrix, drift_scale_prior, initial_weights_prior])<EOL>num_features = prefer_static.shape(design_matrix)[-<NUM_LIT:1>]<EOL>if initial_weights_prior is None:<EOL><INDENT>initial_weights_prior = tfd.MultivariateNormalDiag(<EOL>scale_diag=<NUM_LIT> * tf.ones([num_features], dtype=dtype))<EOL><DEDENT>if drift_scale_prior is None:<EOL><INDENT>if observed_time_series is None:<EOL><INDENT>observed_stddev = tf.constant(<NUM_LIT:1.0>, dtype=dtype)<EOL><DEDENT>else:<EOL><INDENT>_, observed_stddev, _ = sts_util.empirical_statistics(<EOL>observed_time_series)<EOL><DEDENT>drift_scale_prior = tfd.LogNormal(<EOL>loc=tf.math.log(<NUM_LIT> * observed_stddev),<EOL>scale=<NUM_LIT>,<EOL>name='<STR_LIT>')<EOL><DEDENT>self._initial_state_prior = initial_weights_prior<EOL>self._design_matrix = design_matrix<EOL>super(DynamicLinearRegression, self).__init__(<EOL>parameters=[<EOL>Parameter('<STR_LIT>', drift_scale_prior, tfb.Softplus())<EOL>],<EOL>latent_size=num_features,<EOL>name=name)<EOL><DEDENT>
Specify a dynamic linear regression.

        Args:
          design_matrix: float `Tensor` of shape `concat([batch_shape,
            [num_timesteps, num_features]])`.
          drift_scale_prior: instance of `tfd.Distribution` specifying a prior on
            the `drift_scale` parameter. If `None`, a heuristic default prior is
            constructed based on the provided `observed_time_series`.
            Default value: `None`.
          initial_weights_prior: instance of `tfd.MultivariateNormal` representing
            the prior distribution on the latent states (the regression weights).
            Must have event shape `[num_features]`. If `None`, a weakly-informative
            Normal(0., 10.) prior is used.
            Default value: `None`.
          observed_time_series: `float` `Tensor` of shape `batch_shape + [T, 1]`
            (omitting the trailing unit dimension is also supported when `T > 1`),
            specifying an observed time series. Any priors not explicitly set will
            be given default values according to the scale of the observed time
            series (or batch of time series). May optionally be an instance of
            `tfp.sts.MaskedTimeSeries`, which includes a mask `Tensor` to specify
            timesteps with missing observations.
            Default value: `None`.
          name: Python `str` for the name of this component.
            Default value: 'DynamicLinearRegression'.