Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
probml
GitHub Repository: probml/pyprobml
Path: blob/master/notebooks/book1/02/beta_dist_plot.ipynb
1193 views
Kernel: Python 3

Beta Distributions

import jax import jax.numpy as jnp from jax.scipy.stats import beta import matplotlib.pyplot as plt import seaborn as sns try: from probml_utils import savefig, latexify except ModuleNotFoundError: %pip install -qq git+https://github.com/probml/probml-utils.git from probml_utils import savefig, latexify
latexify(width_scale_factor=2, fig_height=2)
def make_graph(data): x = data["x"] a_list = data["a_list"] b_list = data["b_list"] props = data["props"] for a, b, prop in zip(a_list, b_list, props): y = beta.pdf(x, a, b) plt.plot(x, y, prop, label="a=%.1f, b=%.1f" % (a, b)) plt.xlabel("$x$") plt.ylabel("$p(x)$") plt.legend(loc="best", prop={"size": 8}) plt.title("Beta distributions") sns.despine() savefig("betadist")
x = jnp.linspace(0, 1, 100) a_list = [0.1, 0.1, 1.0, 2.0, 2.0] b_list = [0.1, 1.0, 1.0, 2.0, 8.0] props = ["b", "r", "k", "g", "c"] data = {"x": x, "a_list": a_list, "b_list": b_list, "props": props} make_graph(data)
from ipywidgets import interact @interact(a=(0.1, 10), b=(0.1, 10)) def generate_random(a, b): data = {"x": jnp.linspace(0, 1, 100), "a_list": [a], "b_list": [b], "props": ["r"]} make_graph(data) plt.yticks(jnp.arange(0, 11, step=1))