El análisis estadístico de los datos nos ayuda a entender la información en su conjunto. Esto tiene aplicaciones en muchos campos como bioestadística y análisis de negocios..
En lugar de pasar por puntos de datos individuales, solo un vistazo a su valor medio o varianza colectiva puede revelar tendencias y características que podríamos haber perdido al observar todos los datos en formato sin procesar. También hace que la comparación entre dos grandes conjuntos de datos sea más fácil y más significativa..
Teniendo en cuenta estas necesidades, Python nos ha proporcionado el módulo de estadísticas..
En este tutorial, aprenderá sobre diferentes formas de calcular promedios y medir la dispersión de un conjunto de datos dado. A menos que se indique lo contrario, todas las funciones en este módulo son compatibles En t
, flotador
, decimal
y fracción
conjuntos de datos basados como entrada.
Puedes usar el media (datos)
Función para calcular la media de algunos datos dados. Se calcula dividiendo la suma de todos los puntos de datos por el número de puntos de datos. Si los datos están vacíos, se generará un StatisticsError. Aquí están algunos ejemplos:
importar estadísticas desde fracciones importar fracciones como F desde decimales importar Decimal como D statistics.mean ([11, 2, 13, 14, 44]) # devuelve 16.8 statistics.mean ([F (8, 10), F (11, 20) ), F (2, 5), F (28, 5)]) # devuelve Fraction (147, 80) statistics.mean ([D ("1.5"), D ("5.75"), D ("10.625") , D ("2.375")]) # devuelve Decimal ('5.0625')
Aprendiste sobre muchas funciones para generar números aleatorios en nuestro último tutorial. Vamos a usarlos ahora para generar nuestros datos y ver si la media final es igual a lo que esperamos que sea.
importar estadísticas aleatorias de importación puntos de datos = [random.randint (1, 100) para x en el rango (1,1001)] statistics.mean (puntos de datos) # devuelve 50.618 data_points = [random.triangular (1, 100, 80) para x in range (1,1001)] statistics.mean (puntos de datos) # devuelve 59.93292281437689
Con el randint ()
función, se espera que la media esté cerca del punto medio de ambos extremos, y con la distribución triangular, se supone que está cerca de bajo + alto + modo / 3
. Por lo tanto, la media en el primer y segundo caso debe ser 50 y 60.33 respectivamente, que es lo que realmente obtuvimos.
La media es un buen indicador del promedio, pero unos pocos valores extremos pueden dar como resultado un promedio que está lejos de la ubicación central real. En algunos casos, es más conveniente determinar el punto de datos más frecuente en un conjunto de datos. los modo()
La función devolverá el punto de datos más común a partir de datos numéricos discretos y no numéricos. Esta es la única función estadística que se puede utilizar con datos no numéricos.
importar estadísticas aleatorias de importación data_points = [random.randint (1, 100) para x en el rango (1,1001)] statistics.mode (data_points) # devuelve 94 data_points = [random.randint (1, 100) para x en el rango ( 1,1001)] statistics.mode (data_points) # devuelve 49 data_points = [random.randint (1, 100) para x en el rango (1,1001)] statistics.mode (data_points) # devuelve 32 mode (["cat" , "perro", "perro", "gato", "mono", "mono", "perro"]) # devuelve 'perro'
El modo de enteros generados aleatoriamente en un rango dado puede ser cualquiera de esos números, ya que la frecuencia de aparición de cada número es impredecible. Los tres ejemplos en el fragmento de código anterior demuestran ese punto. El último ejemplo nos muestra cómo podemos calcular el modo de datos no numéricos.
Confiar en el modo para calcular un valor central puede ser un poco engañoso. Como acabamos de ver en la sección anterior, siempre será el punto de datos más popular, independientemente de todos los demás valores en el conjunto de datos. Otra forma de determinar una ubicación central es utilizando el mediana()
función. Devolverá el valor mediano de los datos numéricos dados calculando la media de dos puntos medios, si es necesario. Si el número de puntos de datos es impar, devuelve el punto medio. Si el número de puntos de datos es par, devuelve el promedio de dos valores medianos.
El problema con el mediana()
La función es que el valor final puede no ser un punto de datos real cuando el número de puntos de datos es par. En tales casos, puede utilizar median_low ()
o median_high ()
Para calcular la mediana. Con un número par de puntos de datos, estas funciones devolverán el valor menor y mayor de los dos puntos medios, respectivamente.
importar estadísticas aleatorias de importación puntos de datos = [random.randint (1, 100) para x en el rango (1,50)] statistics.median (data_points) # devuelve 53 puntos de datos = [random.randint (1, 100) para x en el rango ( 1,51)] statistics.median (data_points) # devuelve 51.0 data_points = [random.randint (1, 100) para x en el rango (1,51)] statistics.median (data_points) # devuelve 49.0 data_points = [random.randint (1, 100) para x en el rango (1,51)] statistics.median_low (data_points) # devuelve 50 statistics.median_high (data_points) # devuelve 52 statistics.median (data_points) # devuelve 51.0
En el último caso, la mediana baja y alta fue 50 y 52. Esto significa que no había ningún punto de datos con valor 51 en nuestro conjunto de datos, pero mediana()
La función todavía calculaba que la mediana era 51.0.
Determinar en qué medida los puntos de datos se desvían del valor típico o promedio del conjunto de datos es tan importante como calcular el valor central o promedio en sí mismo. los estadística El módulo tiene cuatro funciones diferentes que nos ayudan a calcular esta distribución de datos..
Puedes usar el pvarianza (datos, mu = ninguno)
Función para calcular la varianza poblacional de un conjunto de datos dado..
El segundo argumento en este caso es opcional. El valor de mu, cuando se proporciona, debe ser igual a la media de los datos dados. La media se calcula automáticamente si falta el valor. Esta función es útil cuando desea calcular la varianza de una población completa. Si sus datos son solo una muestra de la población, puede utilizar el varianza (datos, xBar = Ninguno)
Función para calcular la varianza de la muestra. aquí, barra x es la media de la muestra dada y se calcula automáticamente si no se proporciona.
Para calcular la definición estándar de la población y la desviación estándar de la muestra, puede utilizar la pstdev (datos, mu = ninguno)
y stdev (datos, xBar = Ninguno)
funciones respectivamente.
importar estadísticas de fracciones importar Fracción como F datos = [1, 2, 3, 4, 5, 6, 7, 8, 9] statistics.pvariance (data) # devuelve 6.666666666666667 statistics.pstdev (data) # devuelve 2.581988897471611 statistics.variance (datos) # devuelve 7.5 statistics.stdev (datos) # devuelve 2.7386127875258306 more_data = [3, 4, 5, 5, 5, 5, 5, 6, 6] statistics.pvariance (more_data) # devuelve 0.7654320987654322 statistics.pstdev (more_data) ) # devuelve 0.8748897637790901 some_fractions = [F (5, 6), F (2, 3), F (11, 12)] statistics.variance (some_fractions) # devuelve Fraction (7, 432)
Como se desprende del ejemplo anterior, una varianza más pequeña implica que más puntos de datos tienen un valor más cercano a la media. También puedes calcular la desviación estándar de decimales y fracciones..
En este último tutorial de la serie, aprendimos sobre las diferentes funciones disponibles en el estadística módulo. Es posible que haya observado que los datos dados a las funciones se ordenaron en la mayoría de los casos, pero no tiene que ser así. He usado listas ordenadas en este tutorial porque facilitan la comprensión de cómo el valor devuelto por las diferentes funciones se relaciona con los datos de entrada.