{ "cells": [ { "cell_type": "markdown", "id": "69b07efe-98e7-4a92-a9ff-05b9bdb92839", "metadata": {}, "source": [ "# Lesson 13: probability distributions\n", "\n", "## Outline\n", "\n", "1. Probability & random variables\n", "2. Discrete probability distributions\n", "3. Continuous probability distributions\n", "4. PMF vs PDF\n", "5. Bayes' theorem\n", "6. Estimation theory\n", "7. Central limit theorem" ] }, { "cell_type": "markdown", "id": "f3a03be6-ed1a-4658-9483-ce9b6d929e79", "metadata": {}, "source": [ "## 1. Probability & random variables\n", "\n", "**Probability (P)**: number between 0 an 1 that quantifies the likelihood of an event occurring:\n", "\n", "$$P(\\text{event}) = \\frac{\\text{Number of ways event can occur}}{\\text{Total number of outcomes}}$$\n", "\n", "**Random variable**: outcome of a random experiment\n", "- **Discrete** - limited number of outcomes\n", "- **Continuous** - takes any value in some range" ] }, { "cell_type": "code", "execution_count": 1, "id": "78f1ee5e-5fc3-4e9a-bb6a-66f47383fc9d", "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "markdown", "id": "25130c4c-24ff-4d79-8491-7955d6fe4e56", "metadata": {}, "source": [ "### 1.1. Theoretical probability" ] }, { "cell_type": "code", "execution_count": 2, "id": "6ce1cf5c-c6cd-49b0-9897-c8587ba66421", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Probability of rolling a six = 0.17\n" ] } ], "source": [ "events = [1, 2, 3, 4, 5, 6]\n", "p_each = 1 / len(events)\n", "\n", "print(f'Probability of rolling a six = {p_each:.2f}')" ] }, { "cell_type": "code", "execution_count": 3, "id": "13be9539-0e97-4233-bea0-bd26b8306bb2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Two ones = 0.03\n" ] } ], "source": [ "print(f'Two ones = {(p_each * p_each):.2f}')" ] }, { "cell_type": "markdown", "id": "1257c7cb-00d6-4ec4-8cfe-60088a3d6bbb", "metadata": {}, "source": [ "## 1.2. Empirical probability\n", "\n", "Estimated probability from an experiment." ] }, { "cell_type": "code", "execution_count": 4, "id": "558b05c1-5db1-48b0-ab93-3d68b8e04026", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Empirical p_six = 0.0000\n", "Empirical p_six = 0.1800\n", "Empirical p_six = 0.1650\n", "Empirical p_six = 0.1700\n", "Empirical p_six = 0.1600\n" ] } ], "source": [ "trial_sizes = [10, 50, 200, 1000, 10000]\n", "\n", "for n in trial_sizes:\n", " rolls = np.random.randint(1, 7, size=n)\n", " p_empirical = np.mean(rolls == 6)\n", " print(f'Empirical p_six = {p_empirical:.4f}')" ] }, { "cell_type": "markdown", "id": "61e396d3-6731-464d-b265-f2cb12517823", "metadata": {}, "source": [ "## 2. Discrete probability distributions:\n", "\n", "- **Bernoulli**: single yes/no trial\n", "- **Binomial**: number successes in n bernoulli trials\n", "- **Poisson**: number of events in a fixed interval\n", "\n", "### 2.2. Bernoulli" ] }, { "cell_type": "code", "execution_count": 5, "id": "912c0e16-ba55-41ca-874e-35a5bb44f0d2", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "from scipy.stats import bernoulli" ] }, { "cell_type": "code", "execution_count": 6, "id": "a9035d10-b8ca-499a-9cc5-303799ca3539", "metadata": {}, "outputs": [ { "data": { "image/png": "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WS5ztmzZssT9XX311S6PGzZsKEnOtSeHDh2SJJeXdi5o166d83lTDh06JA8PD7Vu3dqlvbh6L9arVy8NGjRIU6ZMkb+/v+688069+eabRdZQlKZWrVq66qqryt3/mmuuKdLWtm3bKn/vkwtfpzZt2ri0BwYGqkGDBkX+Hy/+vpB+/964eE0S8FfHmhGgEnh4eKh3796aM2eO9u7dq44dO8rhcKhp06Z65513ih1zYWHjBaXdOVPS3SWWZbldq81mK3ZcYWGh23NdDjabTStXrtTXX3+tTz75RGvXrtX999+vWbNm6euvv1a9evXKnMNut8vDo3L/9qrKr2N53witMr8vAJO4MgJUkvPnz0uSzpw5I0lq3bq1fvrpJ914443Oqyh/3rp27Vpp+27RooWk3xfBXmzPnj3O56Xf/3I+depUkX5VefWkRYsWcjgc2r9/f5Hayuv666/XtGnT9O233+qdd97Rzp07tWzZMknl/+VdXnv37i3S9sMPP7jceVPer6M7tV34Ol28/8zMTJ06dcrl/xGoSQgjQCX47bff9Pnnn8vLy0vt27eXJA0ZMkSFhYWaOnVqkf7nz58v9hdZRYWHh6tp06aaP3++y8sXn332mXbt2uVy10rr1q21e/duZWdnO9u2b9+uTZs2VVo9F+vXr58kae7cuS7tiYmJZY795ZdfivylHxoaKknOY71wd0xlfU0/+ugjl1ui09LStHnzZudxSOX/OrpT22233Sap6Ndl9uzZklSuu4+A6oiXaYAK+Oyzz7R7925Jv996+u6772rv3r2aMGGCfH19Jf2+1uHBBx9UQkKC0tPT1bdvX9WuXVt79+7VihUrNGfOHA0ePLhS6qldu7ZefPFFxcbGqlevXho2bJjz1t6QkBA99thjzr7333+/Zs+erejoaD3wwAPKysrS/Pnz1bFjR+Xm5lZKPRcLDQ3VsGHDNG/ePOXk5OiGG25QSkpKse+VcrElS5Zo3rx5uuuuu9S6dWudPn1aCxYskK+vr/OXt4+Pjzp06KDly5erbdu2atSokTp16qROnTpVqN42bdropptu0kMPPaT8/HwlJiaqcePGeuqpp5x9yvt1dKe2rl27auTIkXrjjTd06tQp9erVS2lpaVqyZIkGDhyo3r17V+h4gL88o/fyANVMcbf2ent7W6GhodZrr71mORyOImPeeOMNKyws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np7Otg0bNui6666T3W5XmzZttHjxYpcxzz77rKZNm+b8oEagpsvIyNDDDz+sVq1ayW63Kzg4WAMGDCjyxpUXBAcH68SJE1X6Vg2//vqrnnvuOcXHxzvbdu7cqUGDBikkJEQ2m83lj5sLOH+rF8LIFczb21svvviifvnlF6N1BAYGVun7DWzcuFH79+/XoEGDnG0HDhxQ//791bt3b6Wnp+sf//iHRo8erbVr1zr7dOrUSa1bt9bSpUurrDbgr+LgwYMKCwvTunXrNGPGDO3YsUPJycnq3bu3xo0bV+wYT09PBQYGqlatqvuYs5UrV8rX11c33nijs+3s2bNq1aqVpk+fXuJHi3D+Vi+EkStYVFSUAgMDne+WW5IPPvhAHTt2lN1uV0hISLkufX7yySfq3r27vL295e/vr7vuuqvEvhe/THP06FENGzZMjRo1Ut26dRUeHq7NmzcXO3b//v1q1aqVxo8fX+JHVC9btkx9+vSRt7e3s23+/Plq2bKlZs2apfbt22v8+PEaPHiwXn75ZZexAwYM0LJly8o8XqC6Gzt2rGw2m9LS0jRo0CC1bdtWHTt2VFxcnL7++utixxT3Ms3OnTt1++23y9fXV/Xr11fPnj21f//+Ysd/8803atKkiV588cUS61q2bJkGDBjg0ta9e3fNmDFDQ4cOLfUPGc7f6oMwcgXz9PTUCy+8oFdeeUVHjx4tts+WLVs0ZMgQDR06VDt27NDkyZP13HPPFXlJ489Wr16tu+66S7fddpu2bdumlJQURURElKumM2fOqFevXjp27Jj+/e9/a/v27XrqqafkcDiK9P3Pf/6jm266Sffee69effXVEl9e+vLLLxUeHu7SlpqaqqioKJe26OhopaamurRFREQoLS1N+fn55aofqI5+/vlnJScna9y4capbt26R58v7QaXHjh3TzTffLLvdrnXr1mnLli26//77df78+SJ9161bpz59+mjatGl6+umnS5xz48aNRc7f8uL8rT6q7toaqoW77rpLoaGhio+P18KFC4s8P3v2bN1666167rnnJElt27bV999/rxkzZmjUqFHFzjlt2jQNHTpUU6ZMcbZ17dq1XPW8++67ys7O1jfffKNGjRpJktq0aVOk31dffaXbb79dzzzzjB5//PFS5zx06FCRj6/OyMhwfoTBBQEBAcrNzdW5c+fk4+MjSWrevLkKCgqUkZGhFi1alOsYgOpm3759sixL7dq1u6R5kpKS5Ofnp2XLlql27dqSfv+ZcbFVq1ZpxIgR+te//qWYmJgS5zt16pRycnLK/Pj5knD+Vh9cGYFefPFFLVmyRLt27Sry3K5du1xeq5WkG2+8UXv37i3xzpT09HTdeuutFaolPT1d3bp1cwaR4hw+fFh9+vTRpEmTygwiknTu3DmXl2jccSGUnD17tkLjgeqgsj4VJD09XT179nQGkeJs3rxZ99xzj95+++1Sg4j0+7krifP3CkAYgW6++WZFR0dr4sSJlTLfhR8AVTW2SZMmioiI0Hvvvafc3Nwy+/v7+xdZpBsYGKjMzEyXtszMTPn6+rrU8PPPPzv3CdRU11xzjWw2m3bv3n1J85Tn/G3durXatWunRYsW6bfffiu1b+PGjWWz2Sq8yJ7zt/ogjECSNH36dH3yySdF1ky0b99emzZtcmnbtGmT2rZt63Kb7J916dKlxFsBy9KlSxelp6c7f4gUx8fHR59++qm8vb0VHR2t06dPlzpnt27d9P3337u0RUZGFqnxiy++UGRkpEvbd999p6uuukr+/v5uHglQfTRq1EjR0dFKSkpSXl5ekedPnTpVrnm6dOmiL7/8stSQ4e/vr3Xr1mnfvn0aMmRIqX29vLzUoUOHIudveXH+Vh+EEUiSOnfurOHDh2vu3Lku7Y8//rhSUlI0depU/fDDD1qyZIleffVVPfHEEyXOFR8fr/fee0/x8fHatWuXduzYUepq+T8bNmyYAgMDNXDgQG3atEk//vijPvjggyIhqW7dulq9erVq1aqlfv366cyZMyXOGR0drY0bN7q0/b//9//0448/6qmnntLu3bs1b948vf/++3rsscdc+n355Zduv9kSUB0lJSWpsLBQERER+uCDD7R3717t2rVLc+fOLRLSSzJ+/Hjl5uZq6NCh+vbbb7V37169/fbb2rNnj0u/pk2bat26ddq9e7eGDRtW7ALXC4o7fwsKCpSenq709HQVFBTo2LFjSk9P1759+1z6cf5WIxauSCNHjrTuvPNOl7YDBw5YXl5e1sXfFitXrrQ6dOhg1a5d27r66qutGTNmlDn/Bx98YIWGhlpeXl6Wv7+/dffddzufa9GihfXyyy87H0uyVq1a5Xx88OBBa9CgQZavr69Vp04dKzw83Nq8ebNlWZYVHx9vde3a1dn39OnT1g033GDdfPPN1pkzZ4qt5aeffrK8vb2t3bt3u7SvX7/eWWOrVq2sN9980+X5c+fOWX5+flZqamqZxwvUBMePH7fGjRtntWjRwvLy8rKCgoKsO+64w1q/fr2zz5/P1wMHDliSrG3btjmf3759u9W3b1+rTp06Vv369a2ePXta+/fvtyyr6M+d48ePW23btrWGDBlinT9/vtiadu7cafn4+FinTp1ytl3Y78Vbr169nH04f6sXm2VV0sol4C/sySefVG5url5//fVyj3nttde0atUqff7551VYGYCy3HPPPbruuuvcWtfG+Vu98DINrgjPPPOMWrRoUez7lZSkdu3aeuWVV6qwKgDlMWPGDNWrV8+tMZy/1QtXRgAAgFFcGQEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABG/X8CUzHkl+eVzAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p = 0.3\n", "dist = bernoulli(p)\n", "\n", "outcomes = [0, 1]\n", "probs = [dist.pmf(k) for k in outcomes]\n", "\n", "plt.title(f'Bernoulli distribution\\np = {p}')\n", "plt.bar(['No click (0)', 'Click (1)'], probs)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "2aa8f161-c65e-4868-ba0e-8508d5c4deb0", "metadata": {}, "source": [ "### 2.3. Binomial distribution\n", "\n", "Number of successes in n Bernoulli trials." ] }, { "cell_type": "code", "execution_count": 7, "id": "d92640fa-cec5-4ba5-a34c-63b2ef13e927", "metadata": {}, "outputs": [], "source": [ "from scipy.stats import binom" ] }, { "cell_type": "code", "execution_count": 8, "id": "3912aec0-a527-4be6-8319-9c9fcb4676b3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean: 9.00, std: 0.95\n" ] } ], "source": [ "p, n = 0.9, 10\n", "dist = binom(n, p)\n", "\n", "k = np.arange(0, n + 1)\n", "pmf = dist.pmf(k)\n", "probs = [dist.pmf(k) for k in outcomes]\n", "\n", "print(f'Mean: {dist.mean():.2f}, std: {dist.std():.2f}')" ] }, { "cell_type": "code", "execution_count": 9, "id": "223da31c-c4b4-4586-a979-5f38fc773d12", "metadata": {}, "outputs": [ { "data": { "image/png": "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449XHc/T01OS5O/vX2r75c+5ks8++0wWi0W1a9dW/fr11ahRI02ePFmSyh2ALh9LixYtbNrbtGlzzX0jIyP10EMPafr06fL29taAAQO0YsWKEnNirqZGjRq65ZZbyty/VatWJdpat25d5c8mut7fufTLf0fX+t0C1REBCHBQzs7Ouvvuu3XixAnt27fvmv2vdKeTYRg262V9UN6Vxivr5/zWgQMH1KtXL506dUoLFizQBx98oA0bNuj555+XJBUXF5eppsrg5OSkt956S+np6YqJidGxY8c0YsQIdenSRefOnSvTGG5ubled71TRukpTVFRUZWP/XkV+t0B1RQACHNilS5ckqcx/mK+mWbNmKi4uLhGmsrKylJOTU67n5JTXe++9p4KCAr377rt65plndO+998pisdhcFiuPy8dy4MABm/byPIPnjjvu0KxZs/TFF19o9erV+vbbb7V27VpJZQ8MZVVagP3+++9t7hjz8vJSTk5OiX6/P0tTntrs+TsH7I0ABDioixcv6uOPP5arq6vatWt33ePde++9kqSkpCSb9gULFkhSme6gqqjLZxZ+eyYhNzdXK1asqNB4ffv2lSQtXLjQpv33x1aaM2fOlDijERISIknWy2CX7+oqLZBUxPr163Xs2DHr+rZt27R161brcUhSixYttGfPHp08edLa9tVXX+mzzz6zGas8tdnzdw7YG7fBAw7iv//9r/bs2SPpl1u116xZo3379mnSpEmqV6/edY8fHBysYcOG6bXXXlNOTo4iIyO1bds2rVy5UgMHDtTdd9993Z9xJb1795arq6v69++vZ555RufOndOyZcvUuHFjnThxotzjhYSEaPDgwXr11VeVm5urrl27KjU1Vfv377/mvitXrtSrr76qBx54QC1atNDZs2e1bNky1atXzxoYPDw81L59e61bt06tW7dWgwYN1LFjR3Xs2LHctUpSy5Yt1a1bN40aNUoFBQVKSkpSw4YNNXHiRGufESNGaMGCBYqKitKTTz6p7OxsJScnq0OHDtaJ7OWtzZ6/c8DeCECAg4iPj7f+7O7urrZt22rp0qV65plnKu0z/va3v6l58+Z6/fXX9c4778jX11dxcXFKSEiotM8oTZs2bfTWW29pypQpmjBhgnx9fTVq1Cg1atTI+gDC8lq+fLkaNWqk1atXa/369erZs6c++OCDEpO0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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.title(f'Binomial distribution\\n(p = {p})')\n", "plt.bar(k, pmf)\n", "plt.xlabel('Number of clicks')\n", "plt.ylabel('Probability')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "807f15ac", "metadata": {}, "source": [ "## 3. Continuous distributions\n", "\n", "### 3.1. Normal distribution\n", "\n", "Normal distribution (gaussian or 'bell curve'):\n", "\n", "- **Mean**: center of bell\n", "- **Variance/standard deviation**: width (spread)\n", "- **Symmetric**: mean = median\n", "- **68-95-99.7% rule**: the percent of the data with 1, 2 or 3 standard deviations of the mean\n", "\n", "Natural variation often follows normal distribution (ex: people's heigh)." ] }, { "cell_type": "code", "execution_count": null, "id": "56249308", "metadata": {}, "outputs": [ { "data": { "image/png": "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//0X8fHx2L17N6ZMmYIbN25o65WUlGDcuHE4f/48/vzzT8yZMweTJk2CTCaDlZUV3nzzTUybNg0//PADrl69iuPHj2Px4sX44Ycf9I536tSp+O6777By5UpcunQJc+bMwblz53TqzJs3D1FRUfjiiy9w6dIlnDlzBitXrsSnn36q93E8PT2Rl5eH6OhoZGRk6HRjVfTMM8/g9u3bmDBhAvr27avTXenj44OjR4/i77//xqVLlzB79mwcOXJE7zg0WrVqhdLSUixevBhxcXFYtWoVli9fXqmesbExJk+ejEOHDuHYsWN48cUX0a1bN23CVFFtXCuihogJEhHdl0wmw2+//YbCwkJ07doV48ePxwcffKBTx9zcHHv37kWLFi3wzDPPoG3bttrp9Xe3KPXr1w8+Pj7o3bs3IiIi8NRTT+lMj3/vvfcwe/ZsREVFoW3btujfvz/++OMPeHl56R1vREQEZs+ejenTpyMwMBDXrl3T6dICgPHjx+Obb77BypUr0aFDB4SGhuL777+v1nG6d++OV199FREREXB0dMTChQvvWdfKygpPPvkkTp06Vakl5pVXXsEzzzyDiIgIBAcHIzMzU6c1SV/+/v749NNPsWDBAvj5+WH16tWIioqqVM/c3BxvvfUWRowYgR49esDS0hLr1q27535r41oRNUSCKIqi1EEQUeP34osvIjs7u8HcnoSImja2IBERERFVwASJiIiIqAJ2sRERERFVwBYkIiIiogqYIBERERFVwASJiIiIqAImSEREREQVMEEiIiIiqoAJEhEREVEFTJCIiIiIKmCCRERERFQBEyQiIiKiCv4fWq/FjKNpuZIAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from scipy.stats import norm\n", "\n", "mean, variance = 65, 12\n", "dist = norm(mean, variance)\n", "\n", "x = np.linspace(mean - 4*variance, mean + 4*variance, 100)\n", "\n", "plt.title(f'Normal distribution\\n(mean = {mean}, variance = {variance})')\n", "plt.plot(x, dist.pdf(x))\n", "plt.xlabel('Independent variable')\n", "plt.ylabel('Probability density')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "d201604e", "metadata": {}, "source": [ "## 4. Probability density function vs probability mass function\n", "\n", "| | **PMF (probability mass function)** | **PDF (probability density function)** |\n", "|----------------|----------------------------------------|-----------------------------------------|\n", "| Variable type | Discrete (quantized) | Continuous |\n", "| y-axis meaning | Exact probability | Density, no probability itself |\n", "| How to get probability | Just read y axis | Compute area under curve between two point |\n", "| Total | Sums to 1 | Sums to 1 |" ] }, { "cell_type": "markdown", "id": "e5450d8d", "metadata": {}, "source": [ "## 5. Bayes' theorem\n", "\n", "**Reviews**\n", "1. The food was good - positive \n", "2. The food was awesome - positive\n", "3. The food was terrible - negative\n", "\n", "**Word counts**\n", "- the: 3\n", "- food: 3\n", "- good: 1\n", "- awesome: 1\n", "- terrible: 1\n", "---\n", "- Probability of negative review = 1/3\n", "- Probability of negative review given it contains 'terrible' = 1/1\n", "\n", "Bayes' theorem describes how to update a probability estimate when you have more information.\n", "\n", "$$P(A \\mid B) = \\frac{P(B \\mid A) \\cdot P(A)}{P(B)}$$\n", "\n", "| Terms | Name | Meaning |\n", "|-------|-------|---------|\n", "| $$P(A)$$ | Prior | Your belief about the probability of A before new information |\n", "| $$P(B \\mid A)$$| Likelihood | How probable the new evidence B is, give A is true |\n", "| $$P(B)$$ | Marginal likelihood | Probability of B by itself |\n", "| $$P(A \\mid B)$$ | Posterior | New probability of A after seeing new information about B |\n", "\n", "**Posterior ~ Likelihood * prior**\n" ] }, { "cell_type": "markdown", "id": "e588d69e", "metadata": {}, "source": [ "## 7. Estimation theory\n", "\n", "We deal with samples from populations. Have a sample to train model, calculate statistic, etc; want to generalize and understand/predict the population.\n", "\n", "| Term | Definition |\n", "|------|------------|\n", "| Population| All examples/observations that exist (almost never have access to whole population)|\n", "| Sample | Subset we have in our dataset |\n", "| Parameter | True value in the population, ex: mean |\n", "| Statistic | Value from a sample ex: mean |\n", "| Point estimate| Single 'best-guess' number |\n", "| Interval estimate| Range of possible/likely values |\n" ] }, { "cell_type": "markdown", "id": "d94c5969", "metadata": {}, "source": [ "## 8. Central limit theorem\n", "\n", "When sampling repeatedly from a distribution, the distribution of a sample statistic approaches a normal distribution as the sample size increases, regardless of the original distribution." ] }, { "cell_type": "code", "execution_count": null, "id": "cd067a7e", "metadata": {}, "outputs": [], "source": [ "from scipy.stats import gamma\n", "\n", "a = 1\n", "dist = gamma(a)\n", "\n", "x = np.linspace(0, 20, 10000)" ] }, { "cell_type": "code", "execution_count": null, "id": "e4dc3a47", "metadata": {}, "outputs": [], "source": [ "# Use a loop to sample dist multiple times and find the mean of each sample\n", "# Then, plot the distribution of the means Repeat the procedure for different\n", "# sample sizes and observe the results\n", "\n", "sample_sizes = [10, 20, 40, 80, 160]\n", "\n", "for sample_size in sample_sizes:\n", " for i in range(sample_size):\n", "\n", " # Draw sample_size random points from dist\n", "\n", " # Calculate the mean and collect it\n" ] }, { "cell_type": "code", "execution_count": null, "id": "bd6f86e9", "metadata": {}, "outputs": [], "source": [ "# Plot a histogram of the distribution of means for each sample size" ] }, { "cell_type": "code", "execution_count": null, "id": "b1d78e7c", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }