Skip to content

Commit 14c4f39

Browse files
committed
Include potential terms in Model.point_logps
1 parent e6fc2ec commit 14c4f39

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

pymc/model.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1699,17 +1699,16 @@ def point_logps(self, point=None, round_vals=2):
16991699
if point is None:
17001700
point = self.recompute_initial_point()
17011701

1702+
factors = self.basic_RVs + self.potentials
17021703
return Series(
17031704
{
1704-
rv.name: np.round(np.asarray(logp), round_vals)
1705-
for rv, logp in zip(
1706-
self.basic_RVs,
1707-
self.fn(
1708-
[at.sum(factor) for factor in self.logp_elemwiset(vars=self.basic_RVs)]
1709-
)(point),
1705+
factor.name: np.round(np.asarray(factor_logp), round_vals)
1706+
for factor, factor_logp in zip(
1707+
factors,
1708+
self.fn([at.sum(factor) for factor in self.logp_elemwiset(factors)])(point),
17101709
)
17111710
},
1712-
name="Log-probability of test_point",
1711+
name="Point log-probability",
17131712
)
17141713

17151714

pymc/tests/test_model.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,15 @@ def test_point_logps():
533533
assert "a" in logp_vals.keys()
534534

535535

536+
def test_point_logps_potential():
537+
with pm.Model() as model:
538+
x = pm.Flat("x", initval=1)
539+
y = pm.Potential("y", x * 2)
540+
541+
logps = model.point_logps()
542+
assert np.isclose(logps["y"], 2)
543+
544+
536545
class TestShapeEvaluation:
537546
def test_eval_rv_shapes(self):
538547
with pm.Model(

0 commit comments

Comments
 (0)