diff --git a/notebook/problems.es.ipynb b/notebook/problems.es.ipynb index bbf9ad43..6d123773 100644 --- a/notebook/problems.es.ipynb +++ b/notebook/problems.es.ipynb @@ -1 +1,257 @@ -{"cells":[{"cell_type":"markdown","id":"b967ebc8","metadata":{},"source":["# Problemas de distribución de probabilidad"]},{"cell_type":"markdown","id":"c9b71587","metadata":{},"source":["## Distribución binomial\n","\n","En teoría de la probabilidad y estadística, la distribución binomial es la distribución de probabilidad discreta que da sólo dos resultados posibles en un experimento; por ejemplo, al lanzar una moneda, puede salir cara o cruz."]},{"cell_type":"code","execution_count":1,"id":"4eb16d6e","metadata":{},"outputs":[],"source":["from scipy.stats import binom\n","\n","# Definir todas las funciones de probabilidad relacionadas con esta distribución.\n","\n","def dbinom(x, size, prob = 0.5):\n"," \"\"\"\n"," Calcula la estimación puntual de la distribución binomial.\n"," \"\"\"\n"," result = binom.pmf(k = x, n = size, p = prob, loc = 0)\n","\n"," return result\n","\n","def pbinom(q, size, prob = 0.5):\n"," \"\"\"\n"," Calcula el acumulado de la distribución binomial.\n"," \"\"\"\n"," result = binom.cdf(k = q, n = size, p = prob, loc = 0)\n","\n"," return result\n","\n","def qbinom(p, size, prob = 0.5):\n"," \"\"\"\n"," Calcula la función cuantil a partir de la distribución binomial.\n"," \"\"\"\n"," result = binom.ppf(q = p, n = size, p = prob, loc = 0)\n","\n"," return result\n","\n","def rbinom(n, size, prob = 0.5):\n"," \"\"\"\n"," Genera variables aleatorias a partir de la distribución binomial.\n"," \"\"\"\n"," result = binom.rvs(n = size, p = prob, size = n)\n","\n"," return result"]},{"cell_type":"code","execution_count":null,"id":"6cf6313a","metadata":{},"outputs":[],"source":["# Distribución binomial(10, 0.2), dónde n = 10 es el número de ensayos y p = 0.2 es la probabilidad de éxito en un solo ensayo\n","import numpy as np\n","\n","np.random.seed(42)\n","\n","print(f\"Probability that a Binomial(10, 0.2) takes the value 2: {dbinom(2, size = 10, prob = 0.2)}\")\n","print(f\"Probability that a Binomial(10, 0.2) will take a value less than 2: {pbinom(2, size = 10, prob = 0.2)}\")\n","print(f\"Which value of a Binomial(10, 0.2) has a cumulative probability of 0.9? {qbinom(0.9, size = 10, prob = 0.2)}\")\n","print(f\"Generate 2000 random values from a Binomial(10, 0.2) distribution: {rbinom(2000, size = 10, prob = 0.2)}\")"]},{"cell_type":"code","execution_count":3,"id":"69fd07da","metadata":{},"outputs":[{"data":{"image/png":"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gxHUvXC73aqoqJDb7Xa6lLBgfJErmscmMb5IF83jc3JsUTGZDACAaMUZNQAABiOoAQAwGEENAIDBCGoAAAxGUH9LZWWlMjIylJCQoNzcXO3Zs8fpkmzz5ptvav78+UpLS5PL5dLWrVudLsk2Pp9PM2fOVGJiolJSUlRYWKiDBw86XZZtVq9erenTpwdftpCXl6fXXnvN6bLCYsWKFXK5XFq6dKnTpdjmwQcflMvlClmmTJnidFm2+fTTT/XTn/5UF154oYYNG6YrrrhCe/fudbosW2RkZJz2s3O5XCotLR2yGgjqU2zevFler1cVFRWqr69XZmamCgoK1Nra6nRptujo6FBmZqYqKyudLsV2O3fuVGlpqXbv3q3q6mp99dVXuu6669TR0eF0abYYN26cVqxYobq6Ou3du1c//OEPdf311+udd95xujRbvf3223rqqac0ffp0p0ux3fe+9z199tlnweWtt95yuiRbfP7555ozZ47OO+88vfbaa3r33Xf16KOPauTIkU6XZou333475OdWXV0tSbrhhhuGrggLQbNmzbJKS0uD693d3VZaWprl8/kcrCo8JFlbtmxxuoywaW1ttSRZO3fudLqUsBk5cqT1+9//3ukybNPe3m5NmjTJqq6utq655hqrrKzM6ZJsU1FRYWVmZjpdRljce++91lVXXeV0GUOmrKzMuuSSS6xAIDBkx+SM+mtdXV2qq6tTfn5+sC0mJkb5+fmqra11sDJ8F21tbZKkUaNGOVyJ/bq7u7Vp0yZ1dHQoLy/P6XJsU1paqnnz5oX8PxhNPvjgA6WlpWnixIlauHChGhsbnS7JFi+//LJycnJ0ww03KCUlRTNmzNC6deucLissurq69Nxzz+mmm26y5QOgBoqg/tqxY8fU3d0tj8cT0u7xeNTc3OxQVfguAoGAli5dqjlz5mjatGlOl2Obffv2acSIEXK73br11lu1ZcsWTZ061emybLFp0ybV19fL5/M5XUpY5ObmasOGDaqqqtLq1at1+PBhXX311cGP6I1kH330kVavXq1JkyZp27Ztuu2223TnnXfq2Wefdbo0223dulXHjx/XjTfeOKTHjYpPzwJOVVpaqv3790fNPcCTJk+erIaGBrW1tenFF19UcXGxdu7cGfFh3dTUpLKyMlVXVyshIcHpcsJi7ty5wa+nT5+u3NxcTZgwQc8//7wWL17sYGWDFwgElJOTo+XLl0uSZsyYof3792vNmjUqLi52uDp7Pf3005o7d67S0tKG9LicUX9t9OjRio2NVUtLS0h7S0uLUlNTHaoKZ2vJkiV65ZVXtH379rB89KmT4uPjdemllyo7O1s+n0+ZmZl6/PHHnS5r0Orq6tTa2qorr7xScXFxiouL086dO/XEE08oLi5O3d3dTpdouwsuuECXXXaZDh065HQpgzZmzJjTflm8/PLLo+bS/kkff/yx3njjDd18881DfmyC+mvx8fHKzs5WTU1NsC0QCKimpiaq7gNGK8uytGTJEm3ZskV//vOfdfHFFztdUtgFAgF1dnY6XcagXXvttdq3b58aGhqCS05OjhYuXKiGhgbFxsY6XaLtTpw4oQ8//FBjxoxxupRBmzNnzmmPQr7//vuaMGGCQxWFx/r165WSkqJ58+YN+bG59H0Kr9er4uJi5eTkaNasWVq5cqU6OjpUUlLidGm2OHHiRMhv8IcPH1ZDQ4NGjRql8ePHO1jZ4JWWlmrjxo166aWXlJiYGJxXkJycrGHDhjlc3eCVl5dr7ty5Gj9+vNrb27Vx40bt2LFD27Ztc7q0QUtMTDxtLsH555+vCy+8MGrmGNx9992aP3++JkyYoCNHjqiiokKxsbFasGCB06UN2l133aXZs2dr+fLl+vGPf6w9e/Zo7dq1Wrt2rdOl2SYQCGj9+vUqLi5WXJwDsTlk88sjxO9+9ztr/PjxVnx8vDVr1ixr9+7dTpdkm+3bt1uSTluKi4udLm3QehuXJGv9+vVOl2aLm266yZowYYIVHx9vXXTRRda1115rvf76606XFTbR9nhWUVGRNWbMGCs+Pt4aO3asVVRUZB06dMjpsmzzxz/+0Zo2bZrldrutKVOmWGvXrnW6JFtt27bNkmQdPHjQkePzMZcAABiMe9QAABiMoAYAwGAENQAABiOoAQAwGEENAIDBCGoAAAxGUAMAYDCCGgAAgxHUAAAYjKAGAMBgBDUAAAYjqAEAMNj/B/oXX+GEjuitAAAAAElFTkSuQmCC","text/plain":["
"]},"metadata":{},"output_type":"display_data"}],"source":["import matplotlib.pyplot as plt\n","\n","np.random.seed(42)\n","\n","size = 10\n","prob = 0.2\n","data = rbinom(2000, size = 10, prob = 0.2)\n","\n","pmf = dbinom(data, size = size, prob = prob)\n","cdf = pbinom(data, size = size, prob = prob)\n","ppf = qbinom(data, size = size, prob = prob)\n","\n","fig, axis = plt.subplots(3, 1, figsize = (5, 7))\n","\n","axis[0].stem(data, pmf, \"r-\")\n","axis[1].stem(data, cdf, \"b-\")\n","axis[2].stem(data, ppf, \"g-\")\n","\n","# Adjust the layout\n","plt.tight_layout()\n","\n","# Show the plot\n","plt.show()"]},{"cell_type":"markdown","id":"8aa7eaa0","metadata":{},"source":["## Ejercicio 1\n","\n","Escriba las funciones anteriores pero para distribuciones normales y uniformes."]},{"cell_type":"code","execution_count":4,"id":"98d5f012","metadata":{},"outputs":[],"source":["# TODO"]}],"metadata":{"interpreter":{"hash":"0f2f6c680cf484319d387fabac80ca4ff4fc33965036e02100b3fe02600f1423"},"kernelspec":{"display_name":"Python 3.10.1 64-bit","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.1"}},"nbformat":4,"nbformat_minor":5} \ No newline at end of file +{ + "cells": [ + { + "cell_type": "markdown", + "id": "b967ebc8", + "metadata": {}, + "source": [ + "# Problemas de distribución de probabilidad" + ] + }, + { + "cell_type": "markdown", + "id": "c9b71587", + "metadata": {}, + "source": [ + "## Distribución binomial\n", + "\n", + "En teoría de la probabilidad y estadística, la distribución binomial es la distribución de probabilidad discreta que da sólo dos resultados posibles en un experimento; por ejemplo, al lanzar una moneda, puede salir cara o cruz." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "4eb16d6e", + "metadata": {}, + "outputs": [], + "source": [ + "from scipy.stats import binom\n", + "\n", + "# Definir todas las funciones de probabilidad relacionadas con esta distribución.\n", + "\n", + "def dbinom(x, size, prob = 0.5):\n", + " \"\"\"\n", + " Calcula la estimación puntual de la distribución binomial.\n", + " \"\"\"\n", + " result = binom.pmf(k = x, n = size, p = prob, loc = 0)\n", + "\n", + " return result\n", + "\n", + "def pbinom(q, size, prob = 0.5):\n", + " \"\"\"\n", + " Calcula el acumulado de la distribución binomial.\n", + " \"\"\"\n", + " result = binom.cdf(k = q, n = size, p = prob, loc = 0)\n", + "\n", + " return result\n", + "\n", + "def qbinom(p, size, prob = 0.5):\n", + " \"\"\"\n", + " Calcula la función cuantil a partir de la distribución binomial.\n", + " \"\"\"\n", + " result = binom.ppf(q = p, n = size, p = prob, loc = 0)\n", + "\n", + " return result\n", + "\n", + "def rbinom(n, size, prob = 0.5):\n", + " \"\"\"\n", + " Genera variables aleatorias a partir de la distribución binomial.\n", + " \"\"\"\n", + " result = binom.rvs(n = size, p = prob, size = n)\n", + "\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "6cf6313a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Probability that a Binomial(10, 0.2) takes the value 2: 0.30198988800000004\n", + "Probability that a Binomial(10, 0.2) will take a value less than 2: 0.6777995263999999\n", + "Which value of a Binomial(10, 0.2) has a cumulative probability of 0.9? 4.0\n", + "Generate 2000 random values from a Binomial(10, 0.2) distribution: [1 4 3 ... 0 0 1]\n" + ] + } + ], + "source": [ + "# Distribución binomial(10, 0.2), dónde n = 10 es el número de ensayos y p = 0.2 es la probabilidad de éxito en un solo ensayo\n", + "import numpy as np\n", + "\n", + "np.random.seed(42)\n", + "\n", + "print(f\"Probability that a Binomial(10, 0.2) takes the value 2: {dbinom(2, size = 10, prob = 0.2)}\")\n", + "print(f\"Probability that a Binomial(10, 0.2) will take a value less than 2: {pbinom(2, size = 10, prob = 0.2)}\")\n", + "print(f\"Which value of a Binomial(10, 0.2) has a cumulative probability of 0.9? {qbinom(0.9, size = 10, prob = 0.2)}\")\n", + "print(f\"Generate 2000 random values from a Binomial(10, 0.2) distribution: {rbinom(2000, size = 10, prob = 0.2)}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "69fd07da", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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jKD+lsrKSmVkZCghIUG5ubnas2eP0yXZ5s0339T8+fOVlpYml8ulrVu3Ol2SbXw+n2bOnKnExESlpKSosLBQBw8edLos26xevVrTp08PPsOZl5en1157zemywmLFihVyuVxa6uCHINjtwQcflMvlClmmTJnidFm2+fTTT/XTn/5UF154oYYNG6YrrrhCe/fudbosW2RkZJz2s3O5XCotLR2yGgjqU2zevFler1cVFRWqr69XZmamCgoK1Nra6nRptujo6FBmZqYqKyudLsV2O3fuVGlpqXbv3q3q6mp99dVXuu6669TR0eF0abYYN26cVqxYobq6Ou3du1c//OEPdf311+udd95xujRbvf3223rqqac0ffp0p0ux3fe+9z199tlnweWtt95yuiRbfP7555ozZ47OO+88vfbaa3r33Xf16KOPauTIkU6XZou333475OdWXV0tSbrhhhuGrggLQbNmzbJKS0uD693d3VZaWprl8/kcrCo8JFlbtmxxuoywaW1ttSRZO3fudLqUsBk5cqT1+9//3ukybNPe3m5NmjTJqq6utq655hqrrKzM6ZJsU1FRYWVmZjpdRljce++91lVXXeV0GUOmrKzMuuSSS6xAIDBkx+SM+mtdXV2qq6tTfn5+sC0mJkb5+fmqra11sDJ8F21tbZKkUaNGOVyJ/bq7u7Vp0yZ1dHQoLy/P6XJsU1paqnnz5oX8PxhNPvjgA6WlpWnixIlauHChGhsbnS7JFi+//LJycnJ0ww03KCUlRTNmzNC6deucLissurq69Nxzz+mmm26y5XMlBoqg/tqxY8fU3d0tj8cT0u7xeNTc3OxQVfguAoGAli5dqjlz5mjatGlOl2Obffv2acSIEXK73br11lu1ZcsWTZ061emybLFp0ybV19fL5/M5XUpY5ObmasOGDaqqqtLq1at1+PBhXX311cFP/otkH330kVavXq1JkyZp27Ztuu2223TnnXfq2Wefdbo0223dulXHjx/XjTfeOKTHjYoP5QBOVVpaqv3790fNPcCTJk+erIaGBrW1tenFF19UcXGxdu7cGfFh3dTUpLKyMlVXVyshIcHpcsJi7ty5wa+nT5+u3NxcTZgwQc8//7wWL17sYGWDFwgElJOTo+XLl0uSZsyYof3792vNmjUqLi52uDp7Pf3005o7d67S0tKG9LicUX9t9OjRio2N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AIMR1L1wu92qqKiQ2+12upSwYHyRK5rHJjG+SBfN43NybFExmQwAgGjFGTUAAAYjqAEAMBhBDQCAwQhqAAAMRlB/S2VlpTIyMpSQkKDc3Fzt2bPH6ZJs8+abb2r+/PlKS0uTy+XS1q1bnS7JNj6fTzNnzlRiYqJSUlJUWFiogwcPOl2WbVavXq3p06cHX7aQl5en1157zemywmLFihVyuVxaunSp06XY5sEHH5TL5QpZpkyZ4nRZtvn000/105/+VBdeeKGGDRumK664Qnv37nW6LFtkZGSc9rNzuVwqLS0dshoI6lNs3rxZXq9XFRUVqq+vV2ZmpgoKCtTa2up0abbo6OhQZmamKisrnS7Fdjt37lRpaal2796t6upqffXVV7ruuuvU0dHhdGm2GDdunFasWKG6ujrt3btXP/zhD3X99dfrnXfecbo0W7399tt66qmnNH36dKdLsd33vvc9ffbZZ8HlrbfecrokW3z++eeaM2eOzjvvPL322mt699139eijj2rkyJFOl2aLt99+O+TnVl1dLUm64YYbhq4IC0GzZs2ySktLg+vd3d1WWlqa5fP5HKwqPCRZW7ZscbqMsGltbbUkWTt37nS6lLAZOXKk9fvf/97pMmzT3t5uTZo0yaqurrauueYaq6yszOmSbFNRUWFlZmY6XUZY3HvvvdZVV13ldBlDpqyszLrkkkusQCAwZMfkjPprXV1dqqurU35+frAtJiZG+fn5qq2tdbAyfBdtbW2SpFGjRjlcif26u7u1adMmdXR0KC8vz+lybFNaWqp58+aF/D8YTT744AOlpaVp4sSJWrhwoRobG50uyRYvv/yycnJydMMNNyglJUUzZszQunXrnC4rLLq6uvTcc8/ppptusuUDoAaKoP7asWPH1N3dLY/HE9Lu8XjU3NzsUFX4LgKBgJYuXao5c+Zo2rRpTpdjm3379mnEiBFyu9269dZbtWXLFk2dOtXpsmyxadMm1dfXy+fzOV1KWOTm5mrDhg2qqqrS6tWrdfjwYV199dXBj+iNZB999JFWr16tSZMmadu2bbrtttt055136tlnn3W6NNtt3bpVx48f14033jikx42KT88CTlVaWqr9+/dHzT3AkyZPnqyGhga1tbXpxRdfVHFxsXbu3BnxYd3U1KSysjJVV1crISHB6XLCYu7cucGvp0+frtzcXE2YMEHPP/+8Fi9e7GBlgxcIBJSTk6Ply5dLkmbMmKH9+/drzZo1Ki4udrg6ez399NOaO3eu0tLShvS4nFF/bfTo0YqNjVVLS0tIe0tLi1JTUx2qCmdryZIleuWVV7R9+/awfPSpk+Lj43XppZcqOztbPp9PmZmZevzxx50ua9Dq6urU2tqqK6+8UnFxcYqLi9POnTv1xBNPKC4uTt3d3U6XaLsLLrhAl112mQ4dOuR0KYM2ZsyY035ZvPzyy6Pm0v5JH3/8sd544w3dfPPNQ35sgvpr8fHxys7OVk1NTbAtEAiopqYmqu4DRivLsrRkyRJt2bJFf/7zn3XxxRc7XVLYBQIBdXZ2Ol3GoF177bXat2+fGhoagktOTo4WLlyohoYGxcbGOl2i7U6cOKEPP/xQY8aMcbqUQZszZ85pj0K+//77mjBhgkMVhcf69euVkpKiefPmDfmxufR9Cq/Xq+LiYuXk5GjWrFlauXKlOjo6VFJS4nRptjhx4kTIb/CHDx9WQ0ODRo0apfHjxztY2eCVlpZq48aNeumll5SYmBicV5CcnKxhw4Y5XN3glZeXa+7cuRo/frza29u1ceNG7dixQ9u2bXO6tEFLTEw8bS7B+eefrwsvvDBq5hjcfffdmj9/viZMmKAjR46ooqJCsbGxWrBggdOlDdpdd92l2bNna/ny5frxj3+sPXv2aO3atVq7dq3TpdkmEAho/fr1Ki4uVlycA7E5ZPPLI8Tvfvc7a/z48VZ8fLw1a9Ysa/fu3U6XZJvt27dbkk5biouLnS5t0HoblyRr/fr1Tpdmi5tuusmaMGGCFR8fb1100UXWtddea73++utOlxU20fZ4VlFRkTVmzBgrPj7eGjt2rFVUVGQdOnTI6bJs88c//tGaNm2a5Xa7rSlTplhr1651uiRbbdu2zZJkHTx40JHj8zGXAAAYjHvUAAAYjKAGAMBgBDUAAAYjqAEAMBhBDQCAwQhqAAAMRlADAGAwghoAAIMR1AAAGIygBgDAYAQ1AAAGI6gBADDY/wf6F1/hhI7orQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "np.random.seed(42)\n", + "\n", + "size = 10\n", + "prob = 0.2\n", + "data = rbinom(2000, size = 10, prob = 0.2)\n", + "\n", + "pmf = dbinom(data, size = size, prob = prob)\n", + "cdf = pbinom(data, size = size, prob = prob)\n", + "ppf = qbinom(data, size = size, prob = prob)\n", + "\n", + "fig, axis = plt.subplots(3, 1, figsize = (5, 7))\n", + "\n", + "axis[0].stem(data, pmf, \"r-\")\n", + "axis[1].stem(data, cdf, \"b-\")\n", + "axis[2].stem(data, ppf, \"g-\")\n", + "\n", + "# Adjust the layout\n", + "plt.tight_layout()\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "8aa7eaa0", + "metadata": {}, + "source": [ + "## Ejercicio 1\n", + "\n", + "Escriba las funciones anteriores pero para distribuciones normales y uniformes." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "98d5f012", + "metadata": {}, + "outputs": [], + "source": [ + "from scipy.stats import norm\n", + "\n", + "# Define all the probability functions related to this distribution\n", + "\n", + "def dnorm(x, mean = 0, std = 1):\n", + " \"\"\"\n", + " Calculates the density of the normal distribution\n", + " \"\"\"\n", + " result = norm.pdf(x, loc = mean, scale = std)\n", + "\n", + " return result\n", + "\n", + "def pnorm(x, mean = 0, std = 1):\n", + " \"\"\"\n", + " Calculates the cumulative of the normal distribution\n", + " \"\"\"\n", + " result = norm.cdf(x = x, loc = mean, scale = std)\n", + "\n", + " return result\n", + "\n", + "def qnorm(p, mean = 0, std = 1):\n", + " \"\"\"\n", + " Calculates the quantile function from the normal distribution\n", + " \"\"\"\n", + " result = norm.ppf(q = p, loc = mean, scale = std)\n", + "\n", + " return result\n", + "\n", + "def rnorm(n, mean = 0, std = 1):\n", + " \"\"\"\n", + " Generates random variables from the normal distribution\n", + " \"\"\"\n", + " result = norm.rvs(size = n, loc = mean, scale = std)\n", + "\n", + " return result" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "dea11292", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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Y4/hueeeq3eRdndWVz74+/s329Uu4ORXvN7e3oiMjERWVpb1mNlsRlZWFmJjY2t9TmxsbLXzAWDz5s11nu+qmvLZAcCrr76K2bNnY9OmTYiKipKjVIdi6+fWq1cv7NmzB7t377Zud955J4YPH47du3dDq9XKWb5imvL7NnToUOTm5lr/UAGAw4cPo2PHjm4TukDTPrvz58/XCFfLHzAS18Wpk2z50KxdtRSwcuVKSa1WSx999JG0f/9+6bHHHpPatGkj6XQ6SZIkaezYsdKMGTOs5//2229SixYtpPnz50sHDhyQ0tLS3Ho4kS2f3dy5cyVvb29p9erV0okTJ6xbWVmZUj+CImz93K7krr2abf3c8vPzJT8/P2nSpEnSoUOHpG+++UYKDAyUXn75ZaV+BMXY+tmlpaVJfn5+0meffSYdOXJE+u6776Tu3btL9913n1I/giLKysqkXbt2Sbt27ZIASK+//rq0a9cu6dixY5IkSdKMGTOksWPHWs+3DCf6z3/+Ix04cEDKzMzkcKK6LFy4UOrSpYvk7e0tRUdHS9u2bbN+76abbpISExOrnf/5559LPXv2lLy9vaVrr71W2rBhg8wVOw5bPruuXbtKAGpsaWlp8heuMFt/5y7nrsErSbZ/blu3bpViYmIktVotdevWTXrllVekS5cuyVy1Y7Dls6usrJReeOEFqXv37pKPj4+k1Wqlp556Sjpz5oz8hSvoxx9/rPXfLMtnlZiYKN100001nhMRESF5e3tL3bp1kz788MNmr4vr8RIREcnIqe/xEhERORsGLxERkYwYvERERDJi8BIREcmIwUtERCQjBi8REZGMGLxEREQyYvASERHJiMFLREQkIwYvERGRjBi8REREMvp/B96ZyA0gczQAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "np.random.seed(42)\n", + "\n", + "mean = 0\n", + "std = 1\n", + "data = np.arange(-5, 5, 0.01)\n", + "\n", + "pmf = dnorm(data, mean = mean, std = std)\n", + "cdf = pnorm(data, mean = mean, std = std)\n", + "ppf = qnorm(data, mean = mean, std = std)\n", + "\n", + "fig, axis = plt.subplots(3, 1, figsize = (5, 7))\n", + "\n", + "axis[0].plot(data, pmf, \"r-\")\n", + "axis[1].plot(data, cdf, \"b-\")\n", + "axis[2].plot(data, ppf, \"g-\")\n", + "\n", + "# Adjust the layout\n", + "plt.tight_layout()\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}