View source on GitHub |
Posterior predictive Normal distribution w. conjugate prior on the mean.
tf.contrib.distributions.normal_conjugates_known_scale_predictive(
prior, scale, s, n
)
This model assumes that n
observations (with sum s
) come from a
Normal with unknown mean loc
(described by the Normal prior
)
and known variance scale**2
. The "known scale predictive"
is the distribution of new observations, conditioned on the existing
observations and our prior.
Accepts a prior Normal distribution object, having parameters
loc0
and scale0
, as well as known scale
values of the predictive
distribution(s) (also assumed Normal),
and statistical estimates s
(the sum(s) of the observations) and
n
(the number(s) of observations).
Calculates the Normal distribution(s) p(x | sigma**2)
:
p(x | sigma**2) = int N(x | mu, sigma**2)N(mu | prior.loc, prior.scale**2) dmu
= N(x | prior.loc, 1 / (sigma**2 + prior.scale**2))
Returns the predictive posterior distribution object, with parameters
(loc', scale'**2)
, where:
sigma_n**2 = 1/(1/sigma0**2 + n/sigma**2),
mu' = (mu0/sigma0**2 + s/sigma**2) * sigma_n**2.
sigma'**2 = sigma_n**2 + sigma**2,
Distribution parameters from prior
, as well as scale
, s
, and n
.
will broadcast in the case of multidimensional sets of parameters.
Args | |
---|---|
prior
|
Normal object of type dtype :
the prior distribution having parameters (loc0, scale0) .
|
scale
|
tensor of type dtype , taking values scale > 0 .
The known stddev parameter(s).
|
s
|
Tensor of type dtype . The sum(s) of observations.
|
n
|
Tensor of type int . The number(s) of observations.
|
Returns | |
---|---|
A new Normal predictive distribution object. |
Raises | |
---|---|
TypeError
|
if dtype of s does not match dtype , or prior is not a
Normal object.
|