Skip to content

Commit 41dd3a7

Browse files
authored
Update ModelBuilder to show regression lines (#538)
* Update ModelBuilder to show regression lines * Update to show correct regression lines * Pre-commit rerun * Delete linear_model_v1.nc
1 parent cfb9b45 commit 41dd3a7

File tree

2 files changed

+46
-318
lines changed

2 files changed

+46
-318
lines changed

examples/howto/model_builder.ipynb

+35-309
Large diffs are not rendered by default.

examples/howto/model_builder.myst.md

+11-9
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ jupytext:
55
format_name: myst
66
format_version: 0.13
77
kernelspec:
8-
display_name: pymc5
8+
display_name: pymc-dev
99
language: python
10-
name: pymc5
10+
name: python3
1111
---
1212

1313
# Using ModelBuilder class for deploying PyMC models
@@ -37,6 +37,7 @@ import matplotlib.pyplot as plt
3737
import numpy as np
3838
import pandas as pd
3939
import pymc as pm
40+
import xarray as xr
4041
4142
from numpy.random import RandomState
4243
@@ -269,14 +270,15 @@ After using the `predict()`, we can plot our data and see graphically how satisf
269270

270271
```{code-cell} ipython3
271272
fig, ax = plt.subplots(figsize=(7, 7))
272-
ax.plot(
273-
x_pred,
274-
pred_mean["y"],
275-
"x",
276-
label="predict",
277-
)
273+
posterior = az.extract(idata, num_samples=20)
274+
x_plot = xr.DataArray(np.linspace(1, 2, 100))
275+
y_plot = posterior["b"] * x_plot + posterior["a"]
276+
Line2 = ax.plot(x_plot, y_plot.transpose(), color="C1")
277+
Line1 = ax.plot(x_pred, pred_mean["y"], "x")
278278
ax.set(title="Posterior predictive regression lines", xlabel="x", ylabel="y")
279-
plt.legend(loc=0);
279+
ax.legend(
280+
handles=[Line1[0], Line2[0]], labels=["predicted average", "inferred regression line"], loc=0
281+
);
280282
```
281283

282284
```{code-cell} ipython3

0 commit comments

Comments
 (0)