Estadísticas con Python

La estadística , en general, es el método de recopilación de datos, tabulación e interpretación de datos numéricos. Es un área de interés de las matemáticas aplicadas con el análisis, la interpretación y la presentación de la recopilación de datos. Con las estadísticas, podemos ver cómo se pueden usar los datos para resolver problemas complejos. 

En este tutorial, aprenderemos a resolver problemas estadísticos con Python y también aprenderemos el concepto detrás de esto. Comencemos por comprender algunos conceptos que serán útiles a lo largo del artículo.

Nota: Cubriremos las estadísticas descriptivas con la ayuda del módulo de estadísticas provisto por Python.

Comprender las estadísticas descriptivas

En términos sencillos, las estadísticas descriptivas generalmente significan describir los datos con la ayuda de algunos métodos representativos como gráficos, tablas, archivos de Excel, etc. Los datos se describen de tal manera que pueden expresar información significativa que también se puede usar para encontrar algunas tendencias futuras. La descripción y el resumen de una sola variable se denomina análisis univariado. La descripción de una relación estadística entre dos variables se denomina análisis bivariado. La descripción de la relación estadística entre múltiples variables se denomina análisis multivariante.

Hay dos tipos de estadísticas descriptivas: 

  • Medida de tendencia central
  • Medida de variabilidad

Types of Descriptive Statistics

Medida de tendencia central

La medida de tendencia central es un valor único que intenta describir todo el conjunto de datos. Hay tres características principales de la tendencia central: 

  • Significar
  • Mediana
    • Medio Bajo
    • Alto medio
  • Modo

Measure of central tendency

Significar

Es la suma de las observaciones dividida por el número total de observaciones. También se define como promedio, que es la suma dividida por la cuenta. 

Mean (\overline{x}) = \frac{\sum{x}}{n}

La función mean() devuelve la media o promedio de los datos pasados ​​en sus argumentos. Si el argumento pasado está vacío, se genera StatisticsError .

Ejemplo:

Python3

# Python code to demonstrate the working of
# mean()
 
# importing statistics to handle statistical
# operations
import statistics
 
# initializing list
li = [1, 2, 3, 3, 2, 2, 2, 1]
 
# using mean() to calculate average of list
# elements
print ("The average of list values is : ",end="")
print (statistics.mean(li))

Producción:

The average of list values is : 2

Mediana

Es el valor medio del conjunto de datos. Divide los datos en dos mitades. Si el número de elementos en el conjunto de datos es impar, entonces el elemento central es la mediana y si es par, la mediana sería el promedio de dos elementos centrales. 

Para números impares:

\frac{n+1}{2}

Para números pares:

\frac{n}{2}, \frac{n}{2}+1

La función mediana() se utiliza para calcular la mediana, es decir, el elemento medio de los datos. Si el argumento pasado está vacío, se genera StatisticsError .

Ejemplo:

Python3

# Python code to demonstrate the
# working of median() on various
# range of data-sets
 
# importing the statistics module
from statistics import median
 
# Importing fractions module as fr
from fractions import Fraction as fr
 
# tuple of positive integer numbers
data1 = (2, 3, 4, 5, 7, 9, 11)
 
# tuple of floating point values
data2 = (2.4, 5.1, 6.7, 8.9)
 
# tuple of fractional numbers
data3 = (fr(1, 2), fr(44, 12),
        fr(10, 3), fr(2, 3))
 
# tuple of a set of negative integers
data4 = (-5, -1, -12, -19, -3)
 
# tuple of set of positive
# and negative integers
data5 = (-1, -2, -3, -4, 4, 3, 2, 1)
 
# Printing the median of above datasets
print("Median of data-set 1 is % s" % (median(data1)))
print("Median of data-set 2 is % s" % (median(data2)))
print("Median of data-set 3 is % s" % (median(data3)))
print("Median of data-set 4 is % s" % (median(data4)))
print("Median of data-set 5 is % s" % (median(data5)))

Producción:

Median of data-set 1 is 5
Median of data-set 2 is 5.9
Median of data-set 3 is 2
Median of data-set 4 is -5
Median of data-set 5 is 0.0

Medio Bajo

La función median_low() devuelve la mediana de los datos en el caso de un número impar de elementos, pero en el caso de un número par de elementos, devuelve el menor de los dos elementos intermedios. Si el argumento pasado está vacío, segenera StatisticsError

Ejemplo:

Python3

# Python code to demonstrate the
# working of median_low()
 
# importing the statistics module
import statistics
 
# simple list of a set of integers
set1 = [1, 3, 3, 4, 5, 7]
 
# Print median of the data-set
 
# Median value may or may not
# lie within the data-set
print("Median of the set is % s"
    % (statistics.median(set1)))
 
# Print low median of the data-set
print("Low Median of the set is % s "
    % (statistics.median_low(set1)))

Producción:

Median of the set is 3.5
Low Median of the set is 3 

Alto medio

La función median_high() devuelve la mediana de los datos en el caso de un número impar de elementos, pero en el caso de un número par de elementos, devuelve el mayor de los dos elementos intermedios. Si el argumento pasado está vacío, se genera StatisticsError .

Ejemplo:

Python3

# Working of median_high() and median() to
# demonstrate the difference between them.
 
# importing the statistics module
import statistics
 
# simple list of a set of integers
set1 = [1, 3, 3, 4, 5, 7]
 
# Print median of the data-set
 
# Median value may or may not
# lie within the data-set
print("Median of the set is %s"
    % (statistics.median(set1)))
 
# Print high median of the data-set
print("High Median of the set is %s "
    % (statistics.median_high(set1)))

Producción:

Median of the set is 3.5
High Median of the set is 4 

Modo

Es el valor que tiene la frecuencia más alta en el conjunto de datos dado. El conjunto de datos puede no tener moda si la frecuencia de todos los puntos de datos es la misma. Además, podemos tener más de un modo si encontramos dos o más puntos de datos que tienen la misma frecuencia. 

La función mode() devuelve el número con el número máximo de ocurrencias. Si el argumento pasado está vacío, se genera StatisticsError .

Ejemplo:

Python3

# Python code to demonstrate the
# working of mode() function
# on a various range of data types
 
# Importing the statistics module
from statistics import mode
 
# Importing fractions module as fr
# Enables to calculate harmonic_mean of a
# set in Fraction
from fractions import Fraction as fr
 
# tuple of positive integer numbers
data1 = (2, 3, 3, 4, 5, 5, 5, 5, 6, 6, 6, 7)
 
# tuple of a set of floating point values
data2 = (2.4, 1.3, 1.3, 1.3, 2.4, 4.6)
 
# tuple of a set of fractional numbers
data3 = (fr(1, 2), fr(1, 2), fr(10, 3), fr(2, 3))
 
# tuple of a set of negative integers
data4 = (-1, -2, -2, -2, -7, -7, -9)
 
# tuple of strings
data5 = ("red", "blue", "black", "blue", "black", "black", "brown")
 
 
# Printing out the mode of the above data-sets
print("Mode of data set 1 is % s" % (mode(data1)))
print("Mode of data set 2 is % s" % (mode(data2)))
print("Mode of data set 3 is % s" % (mode(data3)))
print("Mode of data set 4 is % s" % (mode(data4)))
print("Mode of data set 5 is % s" % (mode(data5)))

Producción:

Mode of data set 1 is 5
Mode of data set 2 is 1.3
Mode of data set 3 is 1/2
Mode of data set 4 is -2
Mode of data set 5 is black

Consulte el siguiente artículo para obtener información detallada sobre promedios y medidas de tendencia central.

Medida de variabilidad

Hasta ahora, hemos estudiado la medida de tendencia central, pero esto por sí solo no es suficiente para describir los datos. Para superar esto necesitamos la medida de la variabilidad . La medida de la variabilidad se conoce como la dispersión de los datos o qué tan bien se distribuyen nuestros datos. Las medidas de variabilidad más comunes son:

  • Rango
  • Diferencia
  • Desviación Estándar

Rango

La diferencia entre el punto de datos más grande y más pequeño en nuestro conjunto de datos se conoce como rango. El rango es directamente proporcional a la dispersión de los datos, lo que significa que cuanto mayor sea el rango, mayor será la dispersión de los datos y viceversa.

Rango = valor de datos más grande – valor de datos más pequeño

Podemos calcular el valor máximo y mínimo usando los métodos max() y min() respectivamente.

Ejemplo:

Python3

# Sample Data
arr = [1, 2, 3, 4, 5]
 
#Finding Max
Maximum = max(arr)
# Finding Min
Minimum = min(arr)
 
# Difference Of Max and Min
Range = Maximum-Minimum    
print("Maximum = {}, Minimum = {} and Range = {}".format(
    Maximum, Minimum, Range))

Producción:

Maximum = 5, Minimum = 1 and Range = 4

Diferencia

Se define como una desviación cuadrada promedio de la media. Se calcula encontrando la diferencia entre cada punto de datos y el promedio, que también se conoce como la media, elevándolos al cuadrado, sumándolos todos y luego dividiendo por la cantidad de puntos de datos presentes en nuestro conjunto de datos.

\sigma^2=\frac{\sum(x-\mu^2)}{N}

donde N = número de términos

u = media

El módulo de estadísticas proporciona el método variance() que hace todos los cálculos detrás de escena. Si el argumento pasado está vacío, se genera StatisticsError .

Ejemplo:

Python3

# Python code to demonstrate variance()
# function on varying range of data-types
 
# importing statistics module
from statistics import variance
 
# importing fractions as parameter values
from fractions import Fraction as fr
 
# tuple of a set of positive integers
# numbers are spread apart but not very much
sample1 = (1, 2, 5, 4, 8, 9, 12)
 
# tuple of a set of negative integers
sample2 = (-2, -4, -3, -1, -5, -6)
 
# tuple of a set of positive and negative numbers
# data-points are spread apart considerably
sample3 = (-9, -1, -0, 2, 1, 3, 4, 19)
 
# tuple of a set of fractional numbers
sample4 = (fr(1, 2), fr(2, 3), fr(3, 4),
           fr(5, 6), fr(7, 8))
 
# tuple of a set of floating point values
sample5 = (1.23, 1.45, 2.1, 2.2, 1.9)
 
# Print the variance of each samples
print("Variance of Sample1 is % s " % (variance(sample1)))
print("Variance of Sample2 is % s " % (variance(sample2)))
print("Variance of Sample3 is % s " % (variance(sample3)))
print("Variance of Sample4 is % s " % (variance(sample4)))
print("Variance of Sample5 is % s " % (variance(sample5)))

Producción:

Variance of Sample1 is 15.80952380952381 
Variance of Sample2 is 3.5 
Variance of Sample3 is 61.125 
Variance of Sample4 is 1/45 
Variance of Sample5 is 0.17613000000000006 

Desviación Estándar

Se define como la raíz cuadrada de la varianza. Se calcula encontrando la media, luego restando cada número de la media, que también se conoce como promedio, y elevando al cuadrado el resultado. Sumando todos los valores y luego dividiendo por el número de términos seguido de la raíz cuadrada.

\sigma=\sqrt\frac{\sum(x-\mu^2)}{N}

donde N = número de términos

u = media

El método stdev() del módulo de estadísticas devuelve la desviación estándar de los datos. Si el argumento pasado está vacío, se genera StatisticsError .

Ejemplo:

Python3

# Python code to demonstrate stdev()
# function on various range of datasets
 
# importing the statistics module
from statistics import stdev
 
# importing fractions as parameter values
from fractions import Fraction as fr
 
# creating a varying range of sample sets
# numbers are spread apart but not very much
sample1 = (1, 2, 5, 4, 8, 9, 12)
 
# tuple of a set of negative integers
sample2 = (-2, -4, -3, -1, -5, -6)
 
# tuple of a set of positive and negative numbers
# data-points are spread apart considerably
sample3 = (-9, -1, -0, 2, 1, 3, 4, 19)
 
# tuple of a set of floating point values
sample4 = (1.23, 1.45, 2.1, 2.2, 1.9)
 
# Print the standard deviation of
# following sample sets of observations
print("The Standard Deviation of Sample1 is % s"
      % (stdev(sample1)))
 
print("The Standard Deviation of Sample2 is % s"
      % (stdev(sample2)))
 
print("The Standard Deviation of Sample3 is % s"
      % (stdev(sample3)))
 
 
print("The Standard Deviation of Sample4 is % s"
      % (stdev(sample4)))

Producción:

The Standard Deviation of Sample1 is 3.9761191895520196
The Standard Deviation of Sample2 is 1.8708286933869707
The Standard Deviation of Sample3 is 7.8182478855559445
The Standard Deviation of Sample4 is 0.41967844833872525

Consulte el siguiente artículo para obtener información detallada sobre la Medida de variabilidad.

Publicación traducida automáticamente

Artículo escrito por nikhilaggarwal3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *