{ "cells": [ { "cell_type": "markdown", "id": "03000000", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "# Rozkłady i symulacje\n", "\n", "W tej części kursu uczymy się, jak korzystać z rozkładów teoretycznych (jako modeli matematycznych) oraz jak wspierać się symulacją Monte Carlo, gdy rachunek „dokładny” jest niewygodny albo chcemy zbudować intuicję." ] }, { "cell_type": "markdown", "id": "03000001", "metadata": { "jp-MarkdownHeadingCollapsed": true }, "source": [ "## Cele\n", "\n", "Po tym wykładzie:\n", "\n", "- Rozpoznajesz, co znaczy „rozkład teoretyczny” i jakie ma parametry.\n", "- Umiesz w Pythonie policzyć: gęstość/masę (`pdf`/`pmf`), dystrybuantę (`cdf`), kwantyl (`ppf`) oraz wylosować próbę (`rvs`).\n", "- Umiesz policzyć prawdopodobieństwa ogonów rozkładu (np. $P(X \\ge x)$, $P(X \\le x)$) korzystając z `cdf`/`sf`.\n", "- Rozumiesz po co ustawiamy *seed* i jak to pomaga w reprodukowalności.\n", "- Potrafisz porównać wynik „z rozkładu” z estymacją z symulacji.\n" ] }, { "cell_type": "markdown", "id": "03000003", "metadata": { "editable": true, "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "## Rozkłady teoretyczne\n", "\n", "**Rozkład teoretyczny**\n", "\n", "- Jest opisany przez funkcję matematyczną.\n", "- Jest określony przez parametry tej funkcji.\n", "\n", "W Pythonie do pracy z rozkładami teoretycznymi używamy głównie modułu `scipy.stats`.\n", "\n", "W `scipy.stats` większość rozkładów jest dostępna jako obiekt z metodami (dla przykładu: rozkład normalny `stats.norm`):\n", "\n", "- `pdf(...)` — funkcja gęstości (*density*) dla rozkładów ciągłych,\n", "- `pmf(...)` — funkcja masy prawdopodobieństwa dla rozkładów dyskretnych,\n", "- `cdf(...)` — dystrybuanta (*cumulative distribution function*),\n", "- `ppf(...)` — odwrotna dystrybuanta (kwantyle),\n", "- `rvs(...)` — generator liczb losowych.\n", "\n", "Dodatkowo bardzo przydatne są:\n", "\n", "- `sf(...)` (*survival function*) = $P(X > x)$ — „prawy ogon” rozkładu bez odejmowania od 1,\n", "- `isf(...)` — odwrotność `sf`, przydatna np. do wyznaczania granicy obszaru krytycznego." ] }, { "cell_type": "markdown", "id": "03000004", "metadata": {}, "source": [ "## Cztery podstawowe operacje na rozkładzie (`pdf`/`cdf`/`ppf`/`rvs`) — przykład: rozkład normalny\n", "\n", "Omówmy teraz zestaw czterech operacji dla rozkładu normalnego.\n", "\n", "W Pythonie (SciPy) będziemy pisać odpowiednio:\n", "\n", "- `stats.norm.pdf(...)`\n", "- `stats.norm.cdf(...)`\n", "- `stats.norm.ppf(...)`\n", "- `stats.norm.rvs(...)` (albo bezpośrednio `rng.normal(...)`)\n", "\n", "Zobaczmy definicje (intuicje) i spróbujmy powiedzieć sobie, co te funkcje robią.\n", "\n", "### `pdf`\n", "\n", "> Funkcja gęstości prawdopodobieństwa (gęstość zmiennej losowej) – nieujemna funkcja rzeczywista, określona dla rozkładu prawdopodobieństwa, taka że całka z tej funkcji, obliczona w odpowiednich granicach, jest równa prawdopodobieństwu wystąpienia danego zdarzenia losowego.\n", "\n", "Ta definicja ma ważną konsekwencję:\n", "\n", "- dla rozkładów **ciągłych** wartość `pdf(x)` **nie** jest prawdopodobieństwem „w punkcie” $x$;\n", "- prawdopodobieństwa dotyczą **przedziałów**, np. $P(80 \\le X \\le 90)$.\n", "\n", "`pdf` będzie nam służyć m.in. do rysowania krzywych rozkładu.\n", "\n", "### `cdf`\n", "\n", "> Dystrybuanta jest definiowana jako prawdopodobieństwo tego, że zmienna $X$ ma wartości mniejsze bądź równe $x$.\n", "\n", "Czyli `cdf(x)` to $P(X \\le x)$. Czasami interesują nas wartości **większe** od $x$ — wtedy wygodnie używać `sf(x)` zamiast pisać `1 - cdf(x)`.\n", "\n", "### `ppf`\n", "\n", "> Odwrotna dystrybuanta (wygodniej myśleć: *kwantyle*).\n", "\n", "Jeśli `cdf` odpowiada na pytanie „jakie jest $P(X \\le x)$?”, to `ppf` odpowiada na pytanie odwrotne:\n", "\n", "> „Jaka jest taka wartość $x$, że poniżej niej leży np. 80% rozkładu?”\n", "\n", "### `rvs`\n", "\n", "Funkcje losujące pozwalają nam generować próbę z danego rozkładu. Przy dużej liczbie losowań rozkład empiryczny będzie dążył do rozkładu teoretycznego.\n", "\n", "W dalszej części notatnika wiele zadań zrobimy **na dwa sposoby**:\n", "\n", "1) korzystając z rozkładu teoretycznego (dokładnie),\n", "2) estymując prawdopodobieństwo z losowań (Monte Carlo).\n" ] }, { "cell_type": "markdown", "id": "99fb0450", "metadata": {}, "source": [ "## Matematycznie: `pmf`, `pdf`, `cdf`\n", "\n", "Poniżej zapisujemy wersję formalną. Najpierw ustalamy nośnik zmiennej losowej $S_X$ (zbiór możliwych wartości).\n", "\n", "### Dla zmiennej dyskretnej $X$ (nośnik skończony lub przeliczalny)\n", "\n", "#### Funkcja masy prawdopodobieństwa (`pmf`)\n", "\n", "$$\n", "p_X(k) = P(X = k), \\qquad p_X(k) \\ge 0, \\qquad \\sum_{k\\in S_X} p_X(k) = 1.\n", "$$\n", "\n", "#### Dystrybuanta (`cdf`)\n", "\n", "$$\n", "F_X(x) = P(X \\le x) = \\sum_{k\\in S_X:\\,k\\le x} p_X(k).\n", "$$\n", "\n", "### Dla zmiennej ciągłej opisywanej gęstością $f_X$ (`pdf`)\n", "\n", "#### Funkcja gęstości prawdopodobieństwa (`pdf`)\n", "\n", "$$\n", "f_X(x) \\ge 0, \\qquad \\int_{-\\infty}^{\\infty} f_X(t)\\,dt = 1.\n", "$$\n", "\n", "#### Dystrybuanta (`cdf`)\n", "\n", "$$\n", "F_X(x) = P(X \\le x) = \\int_{-\\infty}^{x} f_X(t)\\,dt.\n", "$$\n", "\n", "$$\n", "P(a < X \\le b) = \\int_a^b f_X(t)\\,dt = F_X(b) - F_X(a).\n", "$$\n", "\n", "Dla takiej zmiennej ciągłej: $P(X=x)=0$, więc w praktyce\n", "$P(a < X \\le b)=P(a \\le X \\le b)=P(a < X < b)$.\n", "\n" ] }, { "cell_type": "markdown", "id": "1809f05f", "metadata": {}, "source": [ "### Rozkład normalny: wzory\n", "\n", "Jeśli $X \\sim N(\\mu, \\sigma)$ (z $\\sigma>0$), to gęstość ma postać:\n", "\n", "$$\n", "f(x)=\\frac{1}{\\sigma\\sqrt{2\\pi}}\\exp\\!\\left(-\\frac{(x-\\mu)^2}{2\\sigma^2}\\right).\n", "$$\n", "\n", "Standaryzacja:\n", "\n", "$$\n", "Z = \\frac{X-\\mu}{\\sigma} \\sim N(0,1).\n", "$$\n", "\n", "Dla rozkładu standaryzowanego używamy oznaczeń:\n", "\n", "$$\n", "\\varphi(z)=\\frac{1}{\\sqrt{2\\pi}}e^{-z^2/2},\n", "\\qquad\n", "\\Phi(z)=P(Z\\le z)=\\int_{-\\infty}^{z}\\varphi(t)\\,dt.\n", "$$\n", "\n", "Stąd:\n", "\n", "$$\n", "F_X(x)=P(X\\le x)=\\Phi\\!\\left(\\frac{x-\\mu}{\\sigma}\\right).\n", "$$\n", "\n", "Kwantyl rzędu $q$ spełnia:\n", "\n", "$$\n", "x_q = \\mu + \\sigma\\,\\Phi^{-1}(q).\n", "$$\n", "\n", "W `scipy.stats.norm` odpowiada to parametrom: `loc=mu`, `scale=sigma`.\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "id": "03000005", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from scipy import stats\n", "\n", "from IPython.display import display\n", "\n", "SEED = 20250116\n", "\n", "sns.set_theme(style=\"whitegrid\")\n", "\n", "try:\n", " import ipywidgets as widgets\n", "\n", " WIDGETY_DOSTEPNE = True\n", "except ImportError:\n", " widgets = None\n", " WIDGETY_DOSTEPNE = False\n" ] }, { "cell_type": "markdown", "id": "03000006", "metadata": {}, "source": [ "## `pdf`, `cdf` i `ppf` w praktyce (SciPy: `stats.norm`)\n", "\n", "Zacznijmy od narysowania krzywej ilustrującej rozkład normalny o parametrach $\\mu=100$ i $\\sigma=15$.\n", "\n", "Znamy regułę „trzech sigm”, a tu dla wygody weźmiemy zakres od $-4\\sigma$ do $4\\sigma$ (czyli w praktyce prawie cały rozkład)." ] }, { "cell_type": "code", "execution_count": 13, "id": "03000007", "metadata": {}, "outputs": [ { "data": { "image/png": "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RtOmTTFkyBDcvHmzLMMGBCr3lEqlMGDAAMHZ2Vn4+++/BUEQhMTERKFly5bC559/LoSFhQl//fWX0KRJE+Gvv/6SONqKb9euXYKbm5vw22+/CZGRkcLq1asFV1dX4eLFi4JSqRS6desmjBkzRrh165bw77//Cj4+PsLy5culDrvCW7FihdCmTRvh9OnTQkREhPDll18KzZs3F+Li4vh6LwW//fab4OrqKgwbNkwsK0o7r1y5UmjZsqVw/PhxISQkRBg5cqTQrVs3QaFQSPEwKpzC2v3ChQtCo0aNhDVr1gj37t0TTpw4IbRr10747LPPxDqfffaZ0KVLF+HChQvClStXhH79+glDhw6V4iFUSIW1e37//vuv4OzsLHTs2FGrnK/311NYuysUCqFXr17CoEGDhBs3bgiXL18WevbsKYwaNUqss2PHDqFp06bC7t27hTt37gjTpk0TfHx8hMePH5dZ7EyQK4DFixcLw4cP10qQ165dK/j5+Qk5OTla9bp16yZVmJWCWq0WOnbsKHz//fda5SNHjhTWrl0r7N27V2jcuLGQnJwsbvv9998FLy8vvmG+pr59+wrz588X76elpQnOzs7CoUOH+HovQbGxscLYsWMFDw8PoUePHlofXC9rZ4VCIXh6egpbtmwRt6ekpAhNmzYV9u7dW3YPogJ6UbtPnTpV+N///qdVf+fOnYK7u7ugUCiE2NhYwdXVVThx4oS4PTw8XHB2dhYuXrxYZo+hInpRu+eJi4sTWrVqJQwbNkwrQebrvfhe1O5///234OHhISQkJIhlp06dEjp37iykpaUJgiAI3bp1ExYuXChuz8nJEdq3by+sXbu2zB4Dh1iUcxcuXMD27dvx/fffa5UHBQXBx8cHurq6YlmrVq0QERGBR48elXWYlca9e/fw4MED9OnTR6t848aNGDt2LIKCguDu7o7q1auL21q1aoX09HSEhISUdbiVipWVFY4fP47o6GioVCps374d+vr6cHV15eu9BN24cQN6enrYs2cPmjVrprXtZe0cGhqKjIwM+Pr6itvNzMzg5uaGCxculNljqIhe1O4jR47EjBkztMp0dHSQk5OD9PR0BAcHA9A8F3nq1q0LW1tbtvtLvKjdAUAQBHz22Wd488034ePjo7WNr/fie1G7nzlzBq1atUKNGjXEsrZt2+LIkSMwMTHB48ePERER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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mu = 100\n", "sigma = 15\n", "\n", "x = np.linspace(-4, 4, num=1000) * sigma + mu\n", "pdf_values = stats.norm.pdf(x, loc=mu, scale=sigma)\n", "\n", "plt.figure(figsize=(8, 4))\n", "plt.plot(x, pdf_values, linewidth=2)\n", "plt.title(\"Rozkład normalny: gęstość (pdf)\")\n", "plt.xlabel(\"Wartość zmiennej X\")\n", "plt.ylabel(\"Gęstość\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "03000008", "metadata": {}, "source": [ "Przyjrzyjmy się teraz, jak działa dystrybuanta.\n", "\n", "Chcemy dowiedzieć się, jakie jest prawdopodobieństwo, że $X \\le 80$.\n", "\n", "W rozkładzie normalnym odpowiada za to `stats.norm.cdf(80, loc=..., scale=...)`.\n" ] }, { "cell_type": "code", "execution_count": 11, "id": "03000009", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(0.09121121972586788)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x0 = 80\n", "\n", "p_x_le_80 = stats.norm.cdf(x0, loc=mu, scale=sigma)\n", "p_x_le_80" ] }, { "cell_type": "code", "execution_count": 12, "id": "0300000a", "metadata": {}, "outputs": [ { "data": { "image/png": "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blW/fn06derErl27eO2114psP3LkCM7OzqVaCMTc3JyJEycydepUzM3N6dGjB2lpaSxatMg4rKYkhgwZwnfffcczzzzD888/T7169dizZw9ffvklI0aMwNLSkhUrVvDbb7/x/PPPY2FhwZEjR4z7W1lZGa83W1tbBgwYwJo1axg+fHiJklflxqwtEydOxNzcnAULFlC7dm3jynbjx49nx44dPP3004wZMwZLS0u+++47YmJiWLZs2V23W4EZM2YQFhZmnEaw8Guyt7enWbNmZdK+Q4cO5bvvvuO5557jpZdewt3dnT179rBixQqefPJJ4/CkcePG8cwzz/Dyyy/zyCOPcPjwYZYvX86kSZOKDB0BaNWq1T3NgCJEZSYJshCCJk2a8NRTT7FixQq+//57RowYwdKlS5k3bx4rV64kOTkZT09PXn31VZ555hnA0MOZl5dHWFhYsYnjtm3bipTZ2toydepUxo4dyxdffGH8uLzA2LFjSUlJ4ZtvvmHhwoXUq1ePhx9+GI1Gw9KlS0lLS8PR0ZF3332XunXr8t1335GamkrXrl15/vnn+eyzz+65LV566SXjsdesWYOTkxP9+vXjlVdeueNY4tJo1KgRc+bMYcGCBYwbN47atWsTEBDAt99+y1NPPWWcx/dedO/enb179xqn8SvsscceY/DgwXz88celOvawYcOoVasWy5YtY82aNdjZ2REUFMTs2bNLPCTFzs6OVatWMWfOHGbNmkV6ejoNGjRg0qRJjBo1Crj5CcGSJUtYsmSJyf4NGjRg+/btJq93zZo1DBkypETnr1+/PqNGjeKjjz4iOzubTp06sXjxYpycnADD3L+rV6/m008/5a233kKj0dCmTRu++eYbk5v77lbBa3rvvfeKbAsJCeHbb78tk/a1t7dn9erVzJkzh48//picnBwaNWrEu+++y7Bhw4z1QkNDmT9/PvPmzePFF1/E3d2d119/3fgzuNW9XjtCVGYa5V4/vxNCCFGpjR49GmtraxYuXKh2KBXi3Xff5ejRo6xbt+6Odd98803CwsJMEuyqZvbs2Xz33XcmPdBCiHsjPchCCFFNLVy4kIsXL7Jr1y5Wr16tdjjl7ptvvuHChQv8+OOPxuWSq7OMjAz+/vtv/v7771INkRFC3J4kyEIIUU1t376dS5cu8frrr5fLDYaVzcGDB9m5cycjR44s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KytGjBjB7Nmz2bZtGxEREUycOBEPDw/69OmjcvRV14wZM4iJiWHWrFk4OzuTlJRk/NLpdLi7uzNgwACmTJnC/v37OXbsGK+++iohISEEBASoHX6VZGNjU+RvbO3atbGwsKBRo0bY2NjI9V5OHn/8cczNzZk0aRJnz54lPDycKVOm0KFDB/z9/QHDzC5fffUVv/76K+fOnePtt98mJyeHoUOHVlicMga5inJxcWHZsmV8+OGHDB48GFdXV15//XXjuFlRei+88AK2trbMnTuXhIQEmjZtyvz58+nQoQMAy5YtY/r06Tz66KPUrl2bJ554ghdeeEHlqKs2MzMzFi9ezGeffcZbb71FamoqPj4+rFy50jgziFzv5a8k7ysTJkwgPz+fKVOmkJOTQ3BwMMuXLzf5uFSUnE6nY/PmzeTl5TFy5Mgi27dt24anpyfvv/8+H330EePHjwegW7duTJkypaLDrXHkei97zs7OrFq1ihkzZjBs2DCsrKzo1asXb775prHOo48+Snp6Op999hnXr1+nVatWfPXVVzg7O1dYnBpFUZQKO5sQQgghhBCVnAyxEEIIIYQQohBJkIUQQgghhChEEmQhhBBCCCEKkQRZCCGEEEKIQiRBFkIIIYQQohBJkIUQQgghhChEEmQhhKhgMrumEEJUbpIgCyFqnJdfftm48Ethx48fx9fXl6CgIPLy8ky2nThxAl9fX+Oy76W1bds23njjjVLvf+HCBVq2bMnbb7992zpvvvkmgYGBRZburijz58/H19dXlXOX1FNPPcVTTz112+2ffvopvr6+bNy4sci29PR0evXqxeOPP05+fn55himEUIkkyEKIGic0NJTr169z4cIFk/KdO3fi5OREZmYmhw8fNtl28OBBADp37nxP5165ciVxcXGl3n/RokUEBQUxffr0YrdHR0ezceNG5syZo1qSOmzYMNasWaPKuUvq3Xff5d13373t9pdeegl/f3+mT59OfHy8yba3336btLQ0Pv30UywsZEFaIaojSZCFEDVOaGgoAIcOHTIp37VrF/369aN+/frs3LnTZNuBAwfw8fHB1dW1wuIszvjx4/niiy9uu9RtnTp1+OOPP+jZs2cFR3aTh4cHAQEBqp2/JJo1a0azZs1uu93S0pJZs2ah1Wp54403jMNivv76a7Zs2cJHH31E/fr1KypcIUQFkwRZ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8, 4))\n", "plt.plot(x, pdf_values, linewidth=2)\n", "plt.axvline(x=x0, linestyle=\"--\", linewidth=2)\n", "\n", "plt.title(\"Rozkład normalny: ile leży poniżej 80?\")\n", "plt.xlabel(\"Wartość zmiennej X\")\n", "plt.ylabel(\"Gęstość\")\n", "\n", "label = f\"{p_x_le_80 * 100:.2f}%\"\n", "plt.text(x0 - 25, 0, label, fontsize=12)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "0300000b", "metadata": {}, "source": [ "### Widżet: pole pod krzywą (dla rozkładu normalnego)\n", "\n", "Zmień parametry rozkładu oraz przedział $[a,b]$ i zobacz, jaki obszar pod krzywą odpowiada prawdopodobieństwu $P(a < X < b)$." ] }, { "cell_type": "code", "execution_count": 14, "id": "0300000c", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "526aee921acb4651a3059bd471e03faf", "version_major": 2, "version_minor": 0 }, "text/plain": [ "VBox(children=(FloatSlider(value=100.0, description='μ', max=200.0, step=1.0), FloatSlider(value=15.0, descrip…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "8e51e53b980e45a785f4ce48f9b7986e", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "if not WIDGETY_DOSTEPNE:\n", " print('Widżety nie są dostępne: zainstaluj pakiet ipywidgets, aby korzystać z części interaktywnych.')\n", "else:\n", " mu_slider = widgets.FloatSlider(value=100, min=0, max=200, step=1, description='μ')\n", " sigma_slider = widgets.FloatSlider(value=15, min=1, max=60, step=1, description='σ')\n", " przedzial_slider = widgets.FloatRangeSlider(\n", " value=(80, 120),\n", " min=0,\n", " max=200,\n", " step=1,\n", " description='[a,b]',\n", " )\n", "\n", " def pokaz_pole(mu, sigma, przedzial):\n", " a, b = przedzial\n", " if a >= b:\n", " print('Ustaw a < b.')\n", " return\n", "\n", " rozklad = stats.norm(loc=mu, scale=sigma)\n", " p_between = float(rozklad.cdf(b) - rozklad.cdf(a))\n", " print(f'P({a:.0f} < X < {b:.0f}) = {p_between:.4f}')\n", "\n", " x_grid = np.linspace(mu - 4 * sigma, mu + 4 * sigma, 400)\n", " pdf = rozklad.pdf(x_grid)\n", "\n", " plt.figure(figsize=(8, 4))\n", " plt.plot(x_grid, pdf, linewidth=2)\n", " plt.fill_between(x_grid, 0, pdf, where=(x_grid >= a) & (x_grid <= b), alpha=0.3)\n", " plt.title('Pole pod krzywą PDF na przedziale [a,b]')\n", " plt.xlabel('Wartość zmiennej X')\n", " plt.ylabel('Gęstość')\n", " plt.show()\n", "\n", " out = widgets.interactive_output(\n", " pokaz_pole,\n", " {'mu': mu_slider, 'sigma': sigma_slider, 'przedzial': przedzial_slider},\n", " )\n", " display(widgets.VBox([mu_slider, sigma_slider, przedzial_slider]), out)\n" ] }, { "cell_type": "markdown", "id": "0300000d", "metadata": {}, "source": [ "Jeżeli chcemy dowiedzieć się, **poniżej jakiej wartości** leży 80% rozkładu, używamy `ppf` (kwantyl).\n", "\n", "Czyli liczymy wartość $x$ spełniającą:\n", "\n", "$$\n", "P(X \\le x) = 0.8\n", "$$\n" ] }, { "cell_type": "code", "execution_count": 15, "id": "0300000e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(112.62431850359371)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "q80 = stats.norm.ppf(0.8, loc=mu, scale=sigma)\n", "q80" ] }, { "cell_type": "code", "execution_count": 16, "id": "0300000f", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8, 4))\n", "plt.plot(x, pdf_values, linewidth=2)\n", "plt.axvline(x=q80, linestyle=\":\", linewidth=3)\n", "\n", "plt.title(\"Rozkład normalny: 80. percentyl\")\n", "plt.xlabel(\"Wartość zmiennej X\")\n", "plt.ylabel(\"Gęstość\")\n", "\n", "plt.text(q80 - 18, max(pdf_values) * 0.6, \"80%\", fontsize=14)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "03000010", "metadata": {}, "source": [ "## Symulacje statystyczne (losowanie)\n", "\n", "### Po co w ogóle to robić?\n", "\n", "Jest kilka powodów, dla których „eksperymenty” polegające na losowaniu z rozkładów teoretycznych są interesujące:\n", "\n", "- to świetne narzędzie dydaktyczne — pozwala zobaczyć, jak „działają” zależności statystyczne,\n", "- czasami pozwala dowiedzieć się czegoś nowego, kiedy rachunek jest trudny lub kłopotliwy,\n", "- jest podstawą wielu praktycznych procedur (np. **bootstrap**, symulacyjne przedziały ufności, testy permutacyjne).\n", "\n", "W tym notatniku będziemy rozwiązywać zadania na dwa sposoby:\n", "\n", "1) korzystając z rozkładów teoretycznych,\n", "2) estymując prawdopodobieństwa z losowań." ] }, { "cell_type": "markdown", "id": "03000011", "metadata": {}, "source": [ "### Stały seed w Pythonie: reprodukowalność\n", "\n", "1. Komputer generuje liczby *pseudolosowe*. To znaczy: nie są one „prawdziwie losowe”, ale dla celów statystyki zwykle możemy je traktować jak losowe.\n", "\n", "2. Konsekwencja pseudolosowości: jeśli ustawimy ten sam stan początkowy algorytmu (ziarno, *seed*), to przy tym samym kodzie uzyskamy te same wyniki.\n", "\n", "W statystyce to zaleta — chcemy, żeby ktoś mógł łatwo odtworzyć naszą symulację.\n", "\n", "W NumPy najwygodniej użyć generatora:\n", "\n", "```python\n", "rng = np.random.default_rng(SEED)\n", "```\n", "\n", "Ważna dydaktyczna uwaga: żeby unikać „ukrytego stanu” między komórkami, często w kolejnych przykładach tworzymy generator od nowa, np. `np.random.default_rng(SEED + 1)`.\n" ] }, { "cell_type": "code", "execution_count": null, "id": "03000012", "metadata": {}, "outputs": [], "source": [ "rng1 = np.random.default_rng(SEED)\n", "rng2 = np.random.default_rng(SEED)\n", "\n", "losowania_1 = rng1.integers(low=0, high=10, size=5)\n", "losowania_2 = rng2.integers(low=0, high=10, size=5)\n", "\n", "losowania_1, losowania_2" ] }, { "cell_type": "markdown", "id": "03000013", "metadata": {}, "source": [ "### Rzut kostką\n", "\n", "Pierwszy przykład będzie dotyczył rzucania kostką.\n", "\n", "Na początek wykonajmy symulację 6000 rzutów uczciwą kostką i policzmy, ile razy wypadł każdy wynik.\n", "\n", "W NumPy do losowania z wektora/tablicy użyjemy `rng.choice(...)`:\n", "\n", "```python\n", "rng.choice(wektor, size=..., replace=True) # losowanie ze zwracaniem\n", "rng.choice(wektor, size=..., replace=False) # losowanie bez zwracania\n", "```" ] }, { "cell_type": "code", "execution_count": 19, "id": "03000014", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([3, 6, 1, 2, 6, 5, 5, 2, 1, 3])" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rng = np.random.default_rng(SEED + 1)\n", "\n", "kostka = np.arange(1, 7)\n", "\n", "liczba_rzutow = 6000\n", "symulowane_rzuty = rng.choice(kostka, size=liczba_rzutow, replace=True)\n", "\n", "symulowane_rzuty[:10]" ] }, { "cell_type": "code", "execution_count": 20, "id": "03000015", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "wynik\n", "1 966\n", "2 1039\n", "3 992\n", "4 1016\n", "5 989\n", "6 998\n", "Name: count, dtype: int64" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rzuty_series = pd.Series(symulowane_rzuty, name=\"wynik\")\n", "\n", "licznosci = rzuty_series.value_counts().sort_index()\n", "licznosci" ] }, { "cell_type": "markdown", "id": "03000016", "metadata": {}, "source": [ "Spodziewamy się około 1000 wystąpień każdej z sześciu możliwości (bo $6000 / 6 = 1000$).\n", "\n", "Teraz przejdźmy do pytania probabilistycznego.\n" ] }, { "cell_type": "markdown", "id": "03000017", "metadata": {}, "source": [ "Wyobraźmy sobie, że ktoś mówi:\n", "\n", "> „W 6000 rzutach kostką wypadło **więcej niż 1030 jedynek**”.\n", "\n", "Jak często takie zdarzenie powinno się zdarzać, jeśli zakładamy uczciwą kostkę?\n", "\n", "Żeby to policzyć, zdefiniujemy zmienną losową:\n", "\n", "$$\n", "X = \\#\\{\\text{jedynek w 6000 rzutach}\\}\n", "$$\n", "\n", "i policzymy prawy ogon rozkładu $P(X > 1030)$.\n" ] }, { "cell_type": "markdown", "id": "03000018", "metadata": {}, "source": [ "#### Model probabilistyczny\n", "\n", "Zakładamy:\n", "\n", "- w każdym rzucie $P(\\text{jedynka}) = 1/6$,\n", "- rzuty są niezależne.\n", "\n", "Wtedy liczba jedynek w 6000 rzutach ma rozkład dwumianowy.\n" ] }, { "cell_type": "markdown", "id": "03000019", "metadata": {}, "source": [ "#### Rozkład zmiennej $X$\n", "\n", "$$\n", "X \\sim \\mathrm{Bin}(n=6000, p=1/6)\n", "$$\n", "\n", "To jest rozkład „liczby sukcesów” w $n$ niezależnych próbach.\n" ] }, { "cell_type": "markdown", "id": "99357fc2", "metadata": {}, "source": [ "#### Wzór: rozkład dwumianowy\n", "\n", "Jeśli $X \\sim \\mathrm{Bin}(n,p)$, to dla $k=0,1,\\dots,n$:\n", "\n", "$$\n", "P(X=k)=\\binom{n}{k}p^k(1-p)^{n-k}.\n", "$$\n", "\n", "Skąd ten wzór?\n", "\n", "- $\\binom{n}{k}$: liczba sposobów wyboru, w których próbach wypada sukces,\n", "- $p^k(1-p)^{n-k}$: prawdopodobieństwo jednego konkretnego układu $k$ sukcesów i $n-k$ porażek.\n" ] }, { "cell_type": "markdown", "id": "0300001a", "metadata": {}, "source": [ "#### Kwantyle: gdzie leży 95% rozkładu?\n", "\n", "Zanim policzymy ogon, sprawdźmy, jakie wartości $X$ są typowe.\n", "\n", "Na przykład 95. percentyl $q_{0.95}$ to taka liczba, że około 95% rozkładu leży **na lewo** od niej:\n", "\n", "$$\n", "P(X \\le q_{0.95}) \\approx 0.95\n", "$$\n", "\n", "W SciPy liczymy to przez `ppf(0.95, ...)`.\n" ] }, { "cell_type": "code", "execution_count": 21, "id": "0300001b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1000.0, 28.867513459481287, np.float64(1048.0), np.float64(1068.0))" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n = liczba_rzutow\n", "p_jedynka = 1 / 6\n", "\n", "srednia = n * p_jedynka\n", "odch_std = (n * p_jedynka * (1 - p_jedynka)) ** 0.5\n", "\n", "q95 = stats.binom.ppf(0.95, n=n, p=p_jedynka)\n", "q99 = stats.binom.ppf(0.99, n=n, p=p_jedynka)\n", "\n", "srednia, odch_std, q95, q99" ] }, { "cell_type": "code", "execution_count": 22, "id": "0300001c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(np.float64(0.047137849738196236), np.float64(0.04713784973819626))" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Dla rozkładów dyskretnych `ppf` zwraca liczbę całkowitą (ale jako float).\n", "q95_int = int(q95)\n", "\n", "# sf(k) = P(X > k)\n", "p_gt_q95_via_cdf = 1 - stats.binom.cdf(q95_int, n=n, p=p_jedynka)\n", "p_gt_q95_via_sf = stats.binom.sf(q95_int, n=n, p=p_jedynka)\n", "\n", "p_gt_q95_via_cdf, p_gt_q95_via_sf" ] }, { "cell_type": "markdown", "id": "0300001d", "metadata": {}, "source": [ "#### Prawdopodobieństwo ogona „na piechotę”\n", "\n", "Interesuje nas:\n", "\n", "$$\n", "P(X > 1030) = P(X \\ge 1031)\n", "$$\n", "\n", "W `scipy.stats` dla rozkładu dwumianowego wygodnie użyć `sf(1030, ...)`, bo `sf(k)` liczy $P(X > k)$.\n" ] }, { "cell_type": "code", "execution_count": null, "id": "0300001e", "metadata": {}, "outputs": [], "source": [ "p_x_gt_1030 = stats.binom.sf(1030, n=n, p=p_jedynka) # P(X > 1030)\n", "p_x_gt_1030" ] }, { "cell_type": "markdown", "id": "0300001f", "metadata": {}, "source": [ "#### Weryfikacja obliczenia: `sf` vs `1 - cdf`\n", "\n", "Dla ogonów często spotkasz dwie wersje tego samego obliczenia:\n", "\n", "- bezpośrednio: `sf(k)`,\n", "- przez dopełnienie: `1 - cdf(k)`.\n", "\n", "`sf` jest zwykle bezpieczniejszy numerycznie, ale oba podejścia powinny dać ten sam wynik (z dokładnością do zaokrągleń).\n" ] }, { "cell_type": "code", "execution_count": null, "id": "03000020", "metadata": {}, "outputs": [], "source": [ "p_x_gt_1030_from_cdf = 1 - stats.binom.cdf(1030, n=n, p=p_jedynka)\n", "\n", "p_x_gt_1030, p_x_gt_1030_from_cdf" ] }, { "cell_type": "markdown", "id": "03000021", "metadata": {}, "source": [ "#### Interpretacja\n", "\n", "- `p_x_gt_1030` to prawdopodobieństwo zdarzenia „więcej niż 1030 jedynek” **w przyjętym modelu uczciwej kostki**.\n", "- Jeśli ta liczba jest mała, to takie zdarzenie jest rzadkie w tym modelu; jeśli duża — jest zupełnie typowe.\n", "\n", "Za chwilę zobaczymy to samo na symulacji Monte Carlo.\n" ] }, { "cell_type": "markdown", "id": "03000022", "metadata": {}, "source": [ "#### Symulacja: jak często zdarza się „więcej niż 1030”?\n", "\n", "Powtórzmy doświadczenie wiele razy i policzmy, w jakiej części replikacji liczba jedynek przekroczy 1030.\n", "\n", "Zrobimy to w Pythonie czytelną pętlą.\n" ] }, { "cell_type": "code", "execution_count": 23, "id": "03000023", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1005, 1010, 1058, 1028, 1022, 992, 995, 1032, 944, 1020])" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rng = np.random.default_rng(SEED + 2)\n", "\n", "liczba_replikacji = 1000\n", "jedynki = np.empty(liczba_replikacji, dtype=int)\n", "\n", "for i in range(liczba_replikacji):\n", " rzuty = rng.choice(kostka, size=liczba_rzutow, replace=True)\n", " liczba_jedynek = np.sum(rzuty == 1)\n", " jedynki[i] = liczba_jedynek\n", "\n", "jedynki[:10]" ] }, { "cell_type": "code", "execution_count": 24, "id": "03000024", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(np.float64(0.154), np.float64(0.1454537349984144))" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "estymacja = np.mean(jedynki > 1030)\n", "\n", "p_teoretyczne = stats.binom.sf(1030, n=n, p=p_jedynka) # P(X > 1030) = P(X >= 1031)\n", "\n", "estymacja, p_teoretyczne" ] }, { "cell_type": "code", "execution_count": 25, "id": "03000025", "metadata": {}, "outputs": [ { "data": { "image/png": "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I7tff/01rKyssG3bNpiZmaFRo0YAgOXLlyM3NxfffPMNWrdureo6iYiIiIiUpvTIbkxMDEaNGoWKFStCIpHIrevbty/+++8/lRVHRERERFQWpZqza2BQ8m55eXnFAjAREZGuOLp+KHIyH8NEaoV2wzequxwiUoDSI7seHh5Yt24dsrKyxGUSiQRFRUX47rvv0KRJE5UWSERERERUWkqP7E6cOBGff/45OnToAG9vb0gkEmzcuBE3btzA7du3sXPnzvKok4iIiIhIaUqP7Do4OCAqKgre3t44c+YM9PX18ddff6FmzZrYtWsXGjRoUB51EhEREREpTemR3e+//x7NmjXD8uXLy6MeIiIiIiKVUXpkd968efj777/LoxYiIiIiIpVSOuza2toiMzOzPGohIiIiIlIppacx9O3bFwsXLsSFCxfg6OiIChUqFNumW7duqqiNiIiIiKhMlA67S5YsAQDs2bOnxPUSiYRhl4iIiIg0gtJh99ixY+VRBxERERGRyikddmvUqFEedRAREWk814/Go6iwAHr6pboAKRGpAf9aiYiIFFTlA2d1l0BESlL6bAxERGVRVCSorK1CFbZFRES6iSO7RPRO6elJELIjDkkpz8rUTpP61hjY2UmlbRERke5h2CWidy4p5Rlu3MsoUxt21lKVt0X0No/uXhbn7HJKA5F2UOk0hqysLPz++++qbJKIiEhjXPwxFGf3z8XFH0PVXQoRKUjpkd179+5hzpw5OHv2LPLy8krc5urVq2UujIiIiIiorJQOu4sXL8b58+fRu3dvnD9/HqampnB1dcWpU6cQHx+PNWvWlEedRERERERKU3oaw7lz5zBhwgTMmDEDPXr0gLGxMSZPnoyoqCh4enryohNEREREpDGUDrvPnz+Ho6MjAKBOnTq4cuUKAEBfXx/9+vXD6dOnVVshEREREVEpKR12ra2t8ejRIwBArVq1kJGRgYcPHwIALCws8PjxY9VWSERERERUSkqH3VatWiE0NBQXLlxAjRo1YGtri02bNiEzMxNRUVGwsbEpjzqJiIiIiJSmdNgdO3YsKlasiFWrVgEAJkyYgK1bt8LT0xOHDh3C4MGDVV4kEREREVFpKH02hsqVK2Pv3r1ITU0FAHTt2hXVq1fHxYsX4eLiAi8vL5UXSURERERUGqW+gpq1tTVu3LiBp0+fwtraGsOGDVNl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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8, 4))\n", "plt.hist(jedynki, bins=30, edgecolor=\"white\")\n", "plt.axvline(x=1030, linestyle=\"--\", linewidth=2, color=\"black\")\n", "\n", "plt.title(\"Rozkład liczby jedynek w 6000 rzutach (symulacja)\")\n", "plt.xlabel(\"Liczba jedynek\")\n", "plt.ylabel(\"Liczba replikacji\")\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "03000026", "metadata": {}, "source": [ "### Rzut monetą\n", "\n", "Zróbmy kilka ćwiczeń z prawdopodobieństwa.\n", "\n", "Rozważmy dziesięciokrotny rzut symetryczną monetą. Użyjemy rozkładu dwumianowego, który ma dwa parametry:\n", "\n", "- liczba prób $n$,\n", "- prawdopodobieństwo sukcesu $p$ (tu: „orzeł”).\n", "\n", "W naszym przypadku: $n=10$, $p=0.5$.\n", "\n", "Ten sam rozkład dwumianowy opisuje też liczbę odpowiedzi poprawnych w serii prób zadania dwuwyborowego (2AFC).\n" ] }, { "cell_type": "code", "execution_count": 26, "id": "03000027", "metadata": {}, "outputs": [], "source": [ "n = 10\n", "p = 0.5\n", "\n", "# X = liczba orłów w 10 rzutach" ] }, { "cell_type": "markdown", "id": "03000028", "metadata": {}, "source": [ "#### Prawdopodobieństwo: dokładnie 4 orły\n", "\n", "**Historia:** rzucamy 10 razy monetą.\n", "\n", "**Pytanie:** jakie jest $P(X = 4)$, jeśli moneta jest symetryczna?\n" ] }, { "cell_type": "code", "execution_count": 27, "id": "03000029", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(0.2050781249999999)" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p_x_eq_4 = stats.binom.pmf(4, n=n, p=p)\n", "p_x_eq_4" ] }, { "cell_type": "code", "execution_count": 28, "id": "0300002a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(0.216)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rng = np.random.default_rng(SEED + 3)\n", "\n", "s = rng.binomial(n=n, p=p, size=10_000)\n", "\n", "estymacja_eq_4 = np.mean(s == 4)\n", "estymacja_eq_4" ] }, { "cell_type": "markdown", "id": "0300002b", "metadata": {}, "source": [ "#### Prawdopodobieństwo: co najmniej 4 orły\n", "\n", "Teraz pytanie o ogon rozkładu:\n", "\n", "$$\n", "P(X \\ge 4)\n", "$$\n", "\n", "W rozkładach dyskretnych warto uważać na nierówności:\n", "\n", "- $P(X \\ge 4)$ to to samo co $P(X > 3)$.\n" ] }, { "cell_type": "code", "execution_count": 29, "id": "0300002c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(np.float64(0.8281249999999998), np.float64(0.828125))" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "k_values = np.arange(4, n + 1)\n", "\n", "p_ge_4_sum = stats.binom.pmf(k_values, n=n, p=p).sum()\n", "\n", "# Wygodniej i stabilniej numerycznie:\n", "p_ge_4_sf = stats.binom.sf(3, n=n, p=p) # P(X > 3) = P(X >= 4)\n", "\n", "p_ge_4_sum, p_ge_4_sf" ] }, { "cell_type": "code", "execution_count": 30, "id": "0300002d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(0.8311)" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "estymacja_ge_4 = np.mean(s >= 4)\n", "estymacja_ge_4" ] }, { "cell_type": "markdown", "id": "0300002e", "metadata": {}, "source": [ "#### `pmf`, `cdf` i `sf` — trzy różne pytania\n", "\n", "Na tym samym przykładzie (10 rzutów, $X$ = liczba orłów) warto utrwalić różnicę:\n", "\n", "- `pmf(4)` to $P(X=4)$ (dokładnie 4),\n", "- `cdf(4)` to $P(X\\le 4)$ (co najwyżej 4),\n", "- `sf(3)` to $P(X>3)=P(X\\ge 4)$ (co najmniej 4).\n" ] }, { "cell_type": "markdown", "id": "0300002f", "metadata": {}, "source": [ "### Widżet: prawy ogon w rozkładzie dwumianowym\n", "\n", "Ustaw $n$, $p$ oraz próg $k$ i zobacz, jak wygląda prawdopodobieństwo ogona $P(X\\ge k)$." ] }, { "cell_type": "code", "execution_count": 31, "id": "03000030", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7a6bca0d68264a25b884fe42e5ea4a3b", "version_major": 2, "version_minor": 0 }, "text/plain": [ "VBox(children=(IntSlider(value=10, description='n', max=200, min=1), FloatSlider(value=0.5, description='p', m…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "08e84c8726a9411b8fe238bd10df0453", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output(outputs=({'name': 'stdout', 'text': 'P(X >= 4) = 0.828125\\n', 'output_type': 'stream'},))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "if not WIDGETY_DOSTEPNE:\n", " print('Widżety nie są dostępne: zainstaluj pakiet ipywidgets, aby korzystać z części interaktywnych.')\n", "else:\n", " n_slider = widgets.IntSlider(value=10, min=1, max=200, step=1, description='n')\n", " p_slider = widgets.FloatSlider(value=0.5, min=0.01, max=0.99, step=0.01, description='p')\n", " k_slider = widgets.IntSlider(value=4, min=0, max=n_slider.value, step=1, description='k')\n", "\n", " def _update_k_max(change):\n", " k_slider.max = change['new']\n", " if k_slider.value > k_slider.max:\n", " k_slider.value = k_slider.max\n", "\n", " n_slider.observe(_update_k_max, names='value')\n", "\n", " def pokaz_ogon(n, p, k):\n", " k = int(min(max(k, 0), n))\n", "\n", " k_values = np.arange(0, n + 1)\n", " pmf_values = stats.binom.pmf(k_values, n=n, p=p)\n", "\n", " p_x_ge_k = float(stats.binom.sf(k - 1, n=n, p=p))\n", "\n", " print(f'P(X >= {k}) = {p_x_ge_k:.6f}')\n", "\n", " kolory = np.array(['lightgrey'] * len(k_values), dtype=object)\n", " kolory[k_values >= k] = '#4C78A8'\n", "\n", " plt.figure(figsize=(8, 3))\n", " plt.bar(k_values, pmf_values, color=kolory, edgecolor='white')\n", " plt.title('Rozkład dwumianowy: ogon P(X >= k)')\n", " plt.xlabel('k = liczba sukcesów')\n", " plt.ylabel('P(X=k)')\n", " plt.show()\n", "\n", " out = widgets.interactive_output(\n", " pokaz_ogon,\n", " {'n': n_slider, 'p': p_slider, 'k': k_slider},\n", " )\n", " display(widgets.VBox([n_slider, p_slider, k_slider]), out)" ] }, { "cell_type": "code", "execution_count": 32, "id": "03000031", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(np.float64(0.2050781249999999), np.float64(0.376953125), np.float64(0.828125))" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p_eq_4 = stats.binom.pmf(4, n=n, p=p)\n", "p_le_4 = stats.binom.cdf(4, n=n, p=p)\n", "p_ge_4 = stats.binom.sf(3, n=n, p=p)\n", "\n", "p_eq_4, p_le_4, p_ge_4" ] }, { "cell_type": "code", "execution_count": 33, "id": "03000032", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(np.float64(0.216), np.float64(0.3849), np.float64(0.8311))" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Weryfikacja na symulacji (te same losowania `s` z poprzednich komórek)\n", "estymacja_eq_4 = np.mean(s == 4)\n", "estymacja_le_4 = np.mean(s <= 4)\n", "estymacja_ge_4 = np.mean(s >= 4)\n", "\n", "estymacja_eq_4, estymacja_le_4, estymacja_ge_4" ] }, { "cell_type": "markdown", "id": "03000033", "metadata": {}, "source": [ "Porównaj wyniki „dokładne” (z rozkładu) z wynikami z symulacji.\n", "\n", "Przy 10 000 losowań różnice powinny być niewielkie, ale nie będą idealnie równe — to naturalny błąd Monte Carlo.\n" ] }, { "cell_type": "markdown", "id": "03000034", "metadata": {}, "source": [ "### Rozkład hipergeometryczny\n", "\n", "Kolejne zadanie:\n", "\n", "Jako szef kampusu masz za zadanie skompletować delegację składającą się z 7 członków organizacji.\n", "\n", "Organizacja składa się z 18 kobiet oraz 15 mężczyzn.\n", "\n", "**Pytanie:** jakie jest prawdopodobieństwo, że w losowo wybranej delegacji będzie **więcej niż 4 mężczyzn**?\n", "\n", "Najpierw zróbmy symulację, a potem policzmy to samo „dokładnie” z rozkładu hipergeometrycznego.\n" ] }, { "cell_type": "code", "execution_count": 46, "id": "03000035", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array(['M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M'], dtype=' 4)\n", "estymacja" ] }, { "cell_type": "markdown", "id": "0300003b", "metadata": {}, "source": [ "#### Rozwiązanie „dokładne”: rozkład hipergeometryczny\n", "\n", "Jeśli losujemy bez zwracania z populacji o znanej liczbie „sukcesów” (tu: mężczyźni), to liczba sukcesów w próbie ma rozkład hipergeometryczny.\n", "\n", "Oznaczenia w `scipy.stats.hypergeom`:\n", "\n", "- `M` — liczebność populacji,\n", "- `n` — liczba sukcesów w populacji,\n", "- `N` — wielkość próby (liczba losowań).\n", "\n", "U nas:\n", "\n", "- `M = 33`, `n = 15`, `N = 7`.\n", "\n", "Interesuje nas:\n", "\n", "$$\n", "P(X > 4) = P(X \\ge 5)\n", "$$\n" ] }, { "cell_type": "markdown", "id": "24a72f27", "metadata": {}, "source": [ "#### Wzór: rozkład hipergeometryczny\n", "\n", "Niech:\n", "\n", "- $M$ - liczebność populacji,\n", "- $K$ - liczba sukcesów w populacji,\n", "- $n$ - liczebność próby (losowanie bez zwracania).\n", "\n", "Wtedy dla $X$ = liczby sukcesów w próbie:\n", "\n", "$$\n", "P(X=k)=\\frac{\\binom{K}{k}\\binom{M-K}{n-k}}{\\binom{M}{n}}.\n", "$$\n", "\n", "Interpretacja kombinatoryczna:\n", "\n", "- licznik: liczba sposobów wybrania $k$ sukcesów i $n-k$ niesukcesów,\n", "- mianownik: liczba wszystkich możliwych prób $n$-elementowych.\n", "\n", "Mapowanie do `scipy.stats.hypergeom`: `M` <-> `M`, `K` <-> `n`, `n` <-> `N`.\n" ] }, { "cell_type": "code", "execution_count": null, "id": "0300003c", "metadata": {}, "outputs": [], "source": [ "M = liczba_mezczyzn + liczba_kobiet\n", "n_success = liczba_mezczyzn\n", "N_draws = 7\n", "\n", "p_gt_4 = stats.hypergeom.sf(4, M=M, n=n_success, N=N_draws) # P(X > 4)\n", "\n", "# Możemy też jawnie zsumować pmf od 5 do 7:\n", "k_values = np.arange(5, N_draws + 1)\n", "p_gt_4_sum = stats.hypergeom.pmf(k_values, M=M, n=n_success, N=N_draws).sum()\n", "\n", "p_gt_4, p_gt_4_sum" ] }, { "cell_type": "markdown", "id": "0300003d", "metadata": {}, "source": [ "Całkiem nieźle — wynik z symulacji powinien być blisko wyniku „dokładnego”. Różnica wynika z błędu Monte Carlo (im więcej replikacji, tym mniejszy).\n" ] }, { "cell_type": "markdown", "id": "11674d46", "metadata": {}, "source": [ "## Dla chętnych: więcej matematyki\n", "\n", "Poniższe cztery ramki są opcjonalne. Nie musisz ich umieć wyprowadzać krok po kroku, ale warto znać ich sens: pomagają ocenić, gdzie jest środek rozkładu, jak duży jest rozrzut i kiedy przybliżenia są rozsądne.\n" ] }, { "cell_type": "markdown", "id": "5af2c14c", "metadata": {}, "source": [ "### 1) Momenty i kształt rozkładu\n", "\n", "To, co najczęściej potrzebujemy „z pamięci”, to średnia i wariancja. Średnia mówi o typowej wartości, a wariancja o tym, jak szeroko rozkład jest rozlany.\n", "\n", "$$\n", "X \\sim N(\\mu,\\sigma):\\quad E[X]=\\mu,\\; \\mathrm{Var}(X)=\\sigma^2.\n", "$$\n", "\n", "$$\n", "X \\sim \\mathrm{Bin}(n,p):\\quad E[X]=np,\\; \\mathrm{Var}(X)=np(1-p).\n", "$$\n", "\n", "$$\n", "X \\sim \\mathrm{Hypergeom}(M,K,n):\\quad E[X]=n\\frac{K}{M},\\; \\mathrm{Var}(X)=n\\frac{K}{M}\\left(1-\\frac{K}{M}\\right)\\frac{M-n}{M-1}.\n", "$$\n" ] }, { "cell_type": "markdown", "id": "c84b73e1", "metadata": {}, "source": [ "### 2) Kiedy dwumianowy można przybliżyć normalnym?\n", "\n", "Dla dużych prób rozkład dwumianowy staje się bliski normalnemu. W praktyce przybliżenie bywa użyteczne, gdy liczby sukcesów i porażek są „wystarczająco duże” (np. $np \\gtrsim 10$ i $n(1-p) \\gtrsim 10$).\n", "\n", "$$\n", "X \\sim \\mathrm{Bin}(n,p) \\approx N\\big(np,\\,np(1-p)\\big).\n", "$$\n", "\n", "Przy liczeniu prawdopodobieństw dyskretnych stosujemy poprawkę ciągłości:\n", "\n", "$$\n", "P(X\\le k) \\approx \\Phi\\!\\left(\\frac{k+0.5-np}{\\sqrt{np(1-p)}}\\right).\n", "$$\n" ] }, { "cell_type": "markdown", "id": "637e5d50", "metadata": {}, "source": [ "### 3) Hipergeometryczny vs dwumianowy\n", "\n", "Intuicja: hipergeometryczny to losowanie bez zwracania, a dwumianowy ze zwracaniem (albo z niezależnymi próbami o stałym $p$). Dlatego hipergeometryczny ma zwykle mniejszą wariancję.\n", "\n", "Czynnik\n", "\n", "$$\n", "\\frac{M-n}{M-1}\n", "$$\n", "\n", "nazywa się *finite population correction* (FPC): im większa część populacji trafia do próby, tym mocniej „ściskamy” wariancję. Gdy frakcja próby $n/M$ jest mała, hipergeometryczny i dwumianowy dają bardzo podobne wyniki.\n" ] }, { "cell_type": "markdown", "id": "71f86685", "metadata": {}, "source": [ "### 4) Dokładność estymacji Monte Carlo\n", "\n", "Gdy symulacyjnie estymujemy prawdopodobieństwo zdarzenia, liczymy\n", "\n", "$$\n", "\\hat p = \\frac{1}{R}\\sum_{r=1}^R I_r,\n", "$$\n", "\n", "gdzie $I_r\\in\\{0,1\\}$ informuje, czy zdarzenie zaszło w replikacji $r$. Tę samą estymację można traktować jak średnią z rozkładu Bernoulliego.\n", "\n", "Błąd standardowy estymatora to w przybliżeniu:\n", "\n", "$$\n", "SE(\\hat p) \\approx \\sqrt{\\frac{\\hat p(1-\\hat p)}{R}}.\n", "$$\n", "\n", "Przybliżony 95% przedział niepewności Monte Carlo:\n", "\n", "$$\n", "\\hat p \\pm 1.96\\,SE(\\hat p).\n", "$$\n", "\n", "Wniosek praktyczny: większe $R$ zmniejsza błąd jak $1/\\sqrt{R}$, więc poprawa dokładności jest stopniowa, nie liniowa.\n" ] }, { "cell_type": "markdown", "id": "0300003e", "metadata": {}, "source": [ "## Ćwiczenia\n", "\n", "1) Rozkład normalny:\n", "\n", "- Dla $X \\sim N(100, 15)$ policz $P(X > 130)$.\n", "- Znajdź 95. percentyl (taki $x$, że $P(X \\le x)=0.95$).\n", "\n", "2) Kostka:\n", "\n", "- Dla uczciwej kostki policz $P(X \\ge 1100)$, gdzie $X$ to liczba jedynek w 6000 rzutach.\n", "- Oszacuj to samo metodą Monte Carlo (np. 20 000 replikacji).\n", "\n", "3) Moneta:\n", "\n", "- Dla 20 rzutów symetryczną monetą policz $P(X \\ge 14)$, gdzie $X$ to liczba orłów.\n", "- Oszacuj to samo metodą Monte Carlo (np. 50 000 replikacji).\n", "\n", "4) Hipergeom:\n", "\n", "- Organizacja ma 12 kobiet i 8 mężczyzn, losujesz 5 osób. Jakie jest $P(X \\ge 4)$?\n", "\n", "5) Wariant (2AFC):\n", "\n", "- Załóż, że w 10 próbach zadania dwuwyborowego prawdopodobieństwo odpowiedzi poprawnej wynosi $p=0.7$. Policz $P(X \\ge 8)$.\n", "- Oszacuj to samo metodą Monte Carlo (np. 50 000 replikacji).\n" ] }, { "cell_type": "markdown", "id": "0300003f", "metadata": {}, "source": [ "## Podsumowanie\n", "\n", "- Rozkład teoretyczny to model opisany funkcją i parametrami.\n", "- W Pythonie: `pdf/pmf`, `cdf`, `ppf`, `rvs` (oraz `sf/isf`).\n", "- Umiesz liczyć prawdopodobieństwa ogonów (np. $P(X\\le x)$ i $P(X>x)$) i porównywać wynik „z rozkładu” z Monte Carlo.\n", "- *Seed* to narzędzie reprodukowalności.\n", "- Symulacje Monte Carlo pomagają budować intuicję i przybliżać prawdopodobieństwa.\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.14.2" } }, "nbformat": 4, "nbformat_minor": 5 }