File tree Expand file tree Collapse file tree 2 files changed +11
-4
lines changed Expand file tree Collapse file tree 2 files changed +11
-4
lines changed Original file line number Diff line number Diff line change @@ -1292,7 +1292,7 @@ def sample_prior_predictive(samples=500,
1292
1292
samples. *DEPRECATED* - Use ``var_names`` argument instead.
1293
1293
var_names : Iterable[str]
1294
1294
A list of names of variables for which to compute the posterior predictive
1295
- samples. Defaults to ``model.named_vars`` .
1295
+ samples. Defaults to both observed and unobserved RVs .
1296
1296
random_seed : int
1297
1297
Seed for the random number generator.
1298
1298
@@ -1305,8 +1305,13 @@ def sample_prior_predictive(samples=500,
1305
1305
model = modelcontext (model )
1306
1306
1307
1307
if vars is None and var_names is None :
1308
- vars = set (model .named_vars .keys ())
1309
- vars_ = model .named_vars
1308
+ prior_pred_vars = model .observed_RVs
1309
+ prior_vars = (
1310
+ get_default_varnames (model .unobserved_RVs , include_transformed = True ) +
1311
+ model .potentials
1312
+ )
1313
+ vars_ = [var .name for var in prior_vars + prior_pred_vars ]
1314
+ vars = set (vars_ )
1310
1315
elif vars is None :
1311
1316
vars = var_names
1312
1317
vars_ = vars
Original file line number Diff line number Diff line change @@ -505,12 +505,14 @@ def test_ignores_observed(self):
505
505
observed = np .random .normal (10 , 1 , size = 200 )
506
506
with pm .Model ():
507
507
# Use a prior that's way off to show we're ignoring the observed variables
508
+ observed_data = pm .Data ("observed_data" , observed )
508
509
mu = pm .Normal ("mu" , mu = - 100 , sigma = 1 )
509
510
positive_mu = pm .Deterministic ("positive_mu" , np .abs (mu ))
510
511
z = - 1 - positive_mu
511
- pm .Normal ("x_obs" , mu = z , sigma = 1 , observed = observed )
512
+ pm .Normal ("x_obs" , mu = z , sigma = 1 , observed = observed_data )
512
513
prior = pm .sample_prior_predictive ()
513
514
515
+ assert "observed_data" not in prior
514
516
assert (prior ["mu" ] < 90 ).all ()
515
517
assert (prior ["positive_mu" ] > 90 ).all ()
516
518
assert (prior ["x_obs" ] < 90 ).all ()
You can’t perform that action at this time.
0 commit comments