Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Theano
Agent Success
Agent success rate when using this tile
68%
Improvement
Agent success rate improvement when using this tile compared to baseline
0.94x
Baseline
Agent success rate without this tile
72%
{
"context": "Evaluates whether the solution uses PyMC's DifferentialEquation to build, fit, and forecast a logistic ODE model, capturing posterior samples, log likelihoods, and predictive draws via the library's inference utilities. Focuses strictly on correct use of PyMC APIs for ODE modeling, sampling, and prediction.",
"type": "weighted_checklist",
"checklist": [
{
"name": "DifferentialEquation",
"description": "Defines the logistic RHS and instantiates pm.ode.DifferentialEquation with n_states=1, n_theta=2, and the provided time_points, using its y0/theta callable output inside the model instead of any manual integration.",
"max_score": 25
},
{
"name": "Latent priors",
"description": "Creates named latent variables for growth rate and carrying capacity inside a pm.Model context with positive-support priors (e.g., pm.Lognormal/HalfNormal) and feeds them to the DifferentialEquation solution.",
"max_score": 15
},
{
"name": "Observable data",
"description": "Attaches observed_counts through pm.Data/pm.MutableData (or pm.set_data) so the likelihood can be updated without rebuilding the ODE op, and links them to the ODE solution with pm.Normal using the provided observation_sigma.",
"max_score": 15
},
{
"name": "MCMC sampling",
"description": "sample_posterior calls pm.sample with gradient-based steps (auto NUTS acceptable), honors draws/tune/random_seed arguments, returns InferenceData, and enables log_likelihood storage (e.g., idata_kwargs={'log_likelihood': True} or pm.compute_log_likelihood).",
"max_score": 15
},
{
"name": "Posterior predictive",
"description": "forecast_counts uses pm.sample_posterior_predictive (or pm.draw using posterior samples) configured with a DifferentialEquation built for forecast_times so trajectories come from the package ODE solver rather than custom numpy integration.",
"max_score": 15
},
{
"name": "Predictive outputs",
"description": "Returns posterior predictive arrays taken from pm.sample_posterior_predictive or an InferenceData posterior_predictive group with shape (draws, forecast_times) and computes means directly from that output via numpy/xarray operations.",
"max_score": 15
}
]
}docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10