From 25b6fccd183f0ff9b25fa1be71936102ea212420 Mon Sep 17 00:00:00 2001 From: zalo-code <144060889+zalo-code@users.noreply.github.com> Date: Sun, 1 Oct 2023 21:23:52 +0000 Subject: [PATCH] Ejercicio de estadistica resuelto --- notebook/problems.ipynb | 236 ++++++++++++++++++++++++++++++++++++++- notebook/solutions.ipynb | 7 +- 2 files changed, 232 insertions(+), 11 deletions(-) diff --git a/notebook/problems.ipynb b/notebook/problems.ipynb index ff2c594b..2b4bcb46 100644 --- a/notebook/problems.ipynb +++ b/notebook/problems.ipynb @@ -30,12 +30,213 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 4, "id": "34720ab6", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vector normal: [-0.13981665 3.27642772 0.41495447 -0.94947911 0.01230883 -1.59841484\n", + " 0.14503588 -0.18295834 -1.1813453 0.13567271 1.2245349 0.82177615\n", + " -0.35559264 0.16886222 -0.7799625 1.03570004 -0.80818192 -0.40033731\n", + " -1.41779659 0.40061763 -0.49412013 -0.47741689 -0.57009159 0.14137868\n", + " 0.00633298 -0.16271211 -0.83820593 -1.01545907 -1.62566956 -0.06404521\n", + " 0.38777274 0.21552142 -0.6303858 -0.58360702 1.13908369 -0.44960161\n", + " -0.29557928 -0.17653418 0.21395149 -0.76213997 -1.02575906 -0.81069971\n", + " -2.11160462 -0.61151094 0.08388871 0.05529554 -0.09173184 -0.06682591\n", + " 0.6788379 2.06377681 0.57038307 0.74668228 -0.74707044 0.8853769\n", + " -2.00151533 0.96468643 -2.09877542 -0.13495309 0.17394017 1.8438733\n", + " -0.63025428 -0.45991567 -0.59596786 0.83649136 0.0980591 0.83771535\n", + " 0.57932802 0.94648941 -1.706124 -1.10103427 2.40741733 -2.73921832\n", + " -0.70693843 -0.29019909 0.14051028 -0.46095132 0.9631452 0.22349802\n", + " 1.41602007 0.09541905 -0.73212559 -0.65620409 1.19966057 0.97902427\n", + " -0.14403832 -0.29102366 0.63833587 -0.63823059 -0.99211308 -0.43178822\n", + " -0.52174175 1.10765967 -0.39172841 -0.86042976 0.7612823 -0.62582515\n", + " -1.59349533 -0.73977405 1.0780916 0.58353696]\n", + "Vector chi: [ 2.79776252 15.4188415 0.75161486 0.31586758 1.2367305 3.07778272\n", + " 3.60184995 2.30326312 2.1318715 1.48597231 3.81263391 3.33445484\n", + " 0.9749434 3.3892638 1.46390446 0.75605669 4.00811586 1.78076159\n", + " 3.69396446 1.39294758 6.10014106 5.36188253 2.70758433 8.10727245\n", + " 7.37455107 0.70801959 1.92914718 3.37949774 1.96363066 1.11308871\n", + " 3.30499427 5.01814896 7.966394 3.33836864 3.5035974 4.77611806\n", + " 2.82355169 2.64530565 6.21148077 6.55519548 1.48031313 0.9201735\n", + " 2.67083777 4.90577331 6.08431492 3.48696815 6.83064601 2.81134485\n", + " 0.74830845 2.14202517 2.00581818 2.02545146 6.89109992 1.47392385\n", + " 1.23229621 7.07083325 4.27351681 0.54460691 0.04985409 1.15398384\n", + " 6.65606617 1.93676989 3.13019177 4.71223957 0.22640199 5.1696933\n", + " 2.46104687 2.75671682 3.53390691 3.07540574 2.9381396 1.91524673\n", + " 0.6480549 2.64941911 0.57675636 0.93993087 0.7316045 3.38670708\n", + " 3.37209597 1.17183639 1.9162541 4.12120361 1.15100382 0.75660436\n", + " 0.70507591 3.25794101 6.05599761 6.52134932 3.75157451 0.87006518\n", + " 0.86984476 1.03175059 5.32122735 4.30845073 1.25308723 1.89272559\n", + " 4.35480243 0.72047634 4.07132952 1.45918759]\n" + ] + } + ], "source": [ - "# TODO" + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "normal = np.random.normal(size=100)\n", + "\n", + "chi_valor = np.random.chisquare(3, 100)\n", + "\n", + "print(f'Vector normal: {normal}')\n", + "print(f'Vector chi: {chi_valor}')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "e8eccb84", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Media de valor normal: -0.10270664081657574\n", + "Media de valor chi: 3.0779684523334394\n" + ] + } + ], + "source": [ + "import statistics as stats\n", + "\n", + "#Calculamos la media con la libreria stats\n", + "\n", + "print(f'Media de valor normal: {stats.mean(normal)}')\n", + "print(f'Media de valor chi: {stats.mean(chi_valor)}')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "a198af3f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Media de valor normal: -0.15337521734352497\n", + "Media de valor chi: 2.7321505766767054\n" + ] + } + ], + "source": [ + "#Calculamos la mediana con la libreria stats\n", + "\n", + "print(f'Mediana de valor normal: {stats.median(normal)}')\n", + "print(f'Mediana de valor chi: {stats.median(chi_valor)}')" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "30310167", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Media de valor normal: -0.10270664081657574\n", + "Media de valor chi: 3.0779684523334394\n" + ] + } + ], + "source": [ + "#Calculamos la moda con la libreria stats\n", + "\n", + "print(f'Moda del valor normal: {stats.mean(normal)}')\n", + "print(f'Moda del valor chi: {stats.mean(chi_valor)}')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "e6011c0f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Varianza del valor normal: 0.9569786967163646\n", + "Desviacion valor normal: 0.9782528797383448\n", + "Varianza del valor chi: 5.527016223019786\n", + "Desviacion valor chi: 2.350960702142804\n" + ] + } + ], + "source": [ + "#Calculamos la varianza y la desviacion con la libreria stats\n", + "\n", + "print(f'Varianza del valor normal: {stats.variance(normal)}')\n", + "print(f'Desviacion valor normal: {stats.stdev(normal)}')\n", + "\n", + "print(f'Varianza del valor chi: {stats.variance(chi_valor)}')\n", + "print(f'Desviacion valor chi: {stats.stdev(chi_valor)}')\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "26a24398", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cuurtosis del valor normal: 0.33655658137222344\n", + "Curtosis valor chi: 1.8052937930069857\n" + ] + } + ], + "source": [ + "from scipy.stats import kurtosis\n", + "\n", + "#Dentro de la libreria scipy.stats importamos la funcion skew, que nos devolvera la curtosis\n", + "#La curtosis mide la concentracion de valores fuera de la zona central.\n", + "\n", + "curtosis_nomral = kurtosis(normal)\n", + "curtosis_chi = kurtosis(chi_valor)\n", + "\n", + "print(f'Cuurtosis del valor normal: {curtosis_nomral}')\n", + "print(f'Curtosis valor chi: {curtosis_chi}')" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "c39b3ec9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Asimetria del valor normal: 0.33655658137222344\n", + "Asimetria valor chi: 1.8052937930069857\n" + ] + } + ], + "source": [ + "from scipy.stats import skew\n", + "\n", + "#Dentro de la libreria scipy.stats importamos la funcion skew, que nos devolvera la asimetria\n", + "#La asimetria mide la concentracion de valores en los laterales de la media, diciendonos si son simetricos los datos.\n", + "\n", + "curtosis_nomral = skew(normal)\n", + "curtosis_chi = skew(chi_valor)\n", + "\n", + "print(f'Asimetria del valor normal: {curtosis_nomral}')\n", + "print(f'Asimetria valor chi: {curtosis_chi}')" ] }, { @@ -54,12 +255,35 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 30, "id": "d590308e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "La desviación estandar para los valores introducidos es de: 2.0\n" + ] + } + ], "source": [ - "# TODO" + "import math\n", + "\n", + "def standar_deviation(valores):\n", + "\n", + " media = sum(valores)/len(valores)\n", + "\n", + " desviacion_suma = 0\n", + "\n", + " for n in valores:\n", + " desviacion_suma += (float(n) - media)**2\n", + "\n", + " desviacion_final = math.sqrt(desviacion_suma/len(valores))\n", + "\n", + " return desviacion_final\n", + "\n", + "print(f'La desviación estandar para los valores introducidos es de: {standar_deviation([4, 2, 5, 8, 6])}')\n" ] } ], diff --git a/notebook/solutions.ipynb b/notebook/solutions.ipynb index ed71f320..b10d2528 100644 --- a/notebook/solutions.ipynb +++ b/notebook/solutions.ipynb @@ -346,9 +346,6 @@ ], "source": [ "import math\n", - "import sys\n", - "\n", - "# Define the standard deviation function\n", "\n", "def sd_calc(data):\n", " n = len(data)\n", @@ -378,8 +375,8 @@ "\n", "\n", "data = [4, 2, 5, 8, 6]\n", - "print(f\"Sample Data: {data}\")\n", - "print(f\"Standard Deviation: {sd_calc(data)}\")" + "print(f\"Datos simple: {data}\")\n", + "print(f\"Derivacion estandar: {sd_calc(data)}\")" ] } ],