Calcule la desviación estándar agrupada en Python

Somos muy conscientes de que las desviaciones estándar son para medir la dispersión de los números en los conjuntos de datos. Las desviaciones estándar más pequeñas sugieren que las desviaciones en los elementos son muy pequeñas o bastante insignificantes con respecto a los valores medios de los conjuntos de datos y las desviaciones más grandes sugieren una dispersión significativa o grande de los elementos con respecto a sus valores medios en los conjuntos de datos.

Podemos calcular las desviaciones estándar usando Python, lo veremos aquí. En Python 3.x obtenemos enormes bibliotecas para los cálculos estadísticos. Las estadísticas de Python son una biblioteca integrada de Python para estadísticas descriptivas. Podemos usarlo si nuestros conjuntos de datos no son demasiado grandes o si simplemente no podemos depender de la importación de otras bibliotecas.

Desviación estándar agrupada:

La desviación estándar agrupada es un promedio ponderado de las desviaciones estándar de dos o más grupos. Las desviaciones estándar individuales se promedian, y se otorga más «peso» a los tamaños de muestra más grandes.

Esta es la fórmula alternativa de Cohen aquí como referencia:

dónde,

  • SD 1 = Desviación estándar para el grupo 1
  • SD 2 = Desviación estándar para el grupo 2
  • n 1 = Tamaño de la muestra para el grupo 1
  • n 2 = Tamaño de la muestra para el grupo 2

Para muestras de igual tamaño, simplemente se convierte en,

Paso para el cálculo:

  1. Estadísticas de importación (para bibliotecas de desviación estándar de Python)
  2. Importar matemáticas (para calcular el sqrt)
  3. Determine la longitud de las muestras usando la función len en python (digamos n1 = len(sample1))
  4. Calcule la desviación estándar de las muestras (p. ej., muestra1, usando estadísticas.stdev(muestra1))
  5. Finalmente, calcule la Desviación estándar agrupada de las muestras utilizando la fórmula.
Pooled standard deviation = √ (n1-1)sample12 +  (n2-1)sample22 / (n1+n2-2)

Nota : si las muestras están vacías, aparecerá StatisticsError.

Paso 1: probemos esto con un ejemplo:

  • Primero importamos los módulos requeridos.
  • Entonces, digamos que tenemos dos muestras, muestra1 = [4, 5, 6] y muestra2 = [10, 12, 14, 16, 18, 20]. Ahora, statistics.stdev(sample1) calcula la desviación estándar (básicamente, la función statistics.stdev() calcula la desviación estándar de la muestra en una lista de valores en Python).

Python3

# import module
import math
import statistics
sample1 = [4, 5, 6]
  
# Computing sample standard deviation for sample1
SD1 = statistics.stdev(sample1)      
print("Standard Deviation for 1st sample = ", SD1)
sample2 = [10, 12, 14, 16, 18, 20]
  
# Computing sample standard deviation for sample2
SD2 = statistics.stdev(sample2)  
print("Standard Deviation for 2nd sample = ", SD2)

Producción:

Standard Deviation for 1st sample =  1.0
Standard Deviation for 2nd sample =  3.7416573867739413

Paso 2: Luego, calculemos la longitud de las muestras usando la función len en Python

Python3

import math
import statistics
sample1 = [4, 5, 6]
  
# Computing sample standard deviation for sample1
SD1 = statistics.stdev(sample1)
sample2 = [10, 12, 14, 16, 18, 20]
  
# Computing sample standard deviation for sample2
SD2 = statistics.stdev(sample2)   
  
# calculate length of 1st sample
n1 = len(sample1)
  
# calculate length of 2nd sample
n2 = len(sample2)
  
print("sample1 : length = ", n1, " | S.D. = ", SD1)
print("sample2 : length = ", n2, " | S.D. = ", SD2)

Producción:

sample1 : length =  3  | S.D. =  1.0
sample2 : length =  6  | S.D. =  3.7416573867739413

Paso 3: finalmente, calculamos la desviación estándar agrupada utilizando la fórmula indicada anteriormente.

Python3

import math
import statistics
sample1 = [4, 5, 6]
  
# Computing sample standard deviation for sample1
SD1 = statistics.stdev(sample1)
sample2 = [10, 12, 14, 16, 18, 20]
  
# Computing sample standard deviation for sample2
SD2 = statistics.stdev(sample2)   
  
# calculate length of 1st sample
n1 = len(sample1)
  
# calculate length of 2nd sample
n2 = len(sample2)
  
  
pooled_standard_deviation = math.sqrt(
                      ((n1 - 1)*SD1 * SD1 +
                     (n2-1)*SD2 * SD2) / 
                                  (n1 + n2-2))
print("Pooled Standard Deviation = ",
      pooled_standard_deviation)

Producción:

Pooled Standard Deviation =  3.2071349029490928

Publicación traducida automáticamente

Artículo escrito por deepapandey364 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 *