Saltar a contenido

Desviación estándar

La desviación estándar es una medida que se usa para cuantificar la variación o dispersión de un conjunto de datos numéricos.

\[\begin{equation} s = \sqrt{\dfrac{1}{n-1}\sum_{i=1}^n (x_i-\mu)^2} \end{equation}\]

Donde \(n\) es la cantidad de datos, \(\mu\) es el promedio y los \(x_i\) son cada uno de los datos. Esto significa que hay que hacerlo siguiendo estos pasos:

  • Calcular el promedio de los valores;
  • a cada valor hay que restarle el promedio, y el resultado elevarlo al cuadrado;
  • sumar todos los valores obtenidos;
  • dividir la suma por la cantidad de valores; y
  • sacar la raíz cuadrada del resultado.

Desarrolle la función desviacion_estandar(valores) cuyo parámetro valores sea una lista de números reales. La función debe retornar la desviación estándar de los valores.

Ejemplos

>>> desviacion_estandar([1.3, 1.3, 1.3])
0.0
>>> desviacion_estandar([4.0, 1.0, 11.0, 13.0, 2.0, 7.0])
4.88535225615
>>> desviacion_estandar([1.5, 9.5])
5.65685424949
Solución
def desviacion_estandar(valores):
    # Numero de elementos
    n = len(valores) 
    # Calculo del promedio
    promedio = sum(valores) / n
    lista = [] # Lista para guardar las diferencias al cuadrado
    for val in valores: # Se recorren los valores
        lista.append((val - promedio) ** 2) # Se agregan las diferencias al cuadrado
    desv = (sum(lista) / (n - 1)) ** 0.5 # Calculo de la desviacion
    return desv
# Pruebas
print(desviacion_estandar([1.3, 1.3, 1.3]))
print(desviacion_estandar([4.0, 1.0, 11.0, 13.0, 2.0, 7.0]))
print(desviacion_estandar([1.5, 9.5]))