
Cómo encontrar la varianza usando Python
julio 4, 2022
Este artículo fue publicado originalmente en Built In por Eric Kleppen.
La varianza es una estadística poderosa utilizada en el análisis de datos y el aprendizaje automático. Es una de las cuatro principales medidas de variabilidad junto con el rango, el rango intercuartílico (RIC) y la desviación estándar. Comprender la varianza es importante porque le brinda información sobre la distribución de sus datos y puede usarse para comparar diferencias entre grupos de muestras o identificar características de modelado importantes. La varianza también se usa en el aprendizaje automático para comprender los cambios en el rendimiento del modelo debido al uso de diferentes muestras de datos de entrenamiento.
Calcular la varianza es fácil con Python. Antes de sumergirme en el código Python, primero explicaré qué es la varianza y cómo puedes calcularla. Al final de este tutorial, comprenderá mejor por qué la varianza es una estadística importante, así como varios métodos para calcularla usando Python.
¿Qué es la varianza?
La mejor experiencia al mejor precio
¡Suscríbase a nuestro boletín y sea el primero en saber cuándo estarán a la venta las entradas para la Conferencia TNW 2023!
La varianza es una estadística que mide la dispersión. Una varianza baja indica que los valores son generalmente similares y no se desvían mucho de la media, mientras que una varianza alta indica que los valores están más alejados de la media. Puede usar la varianza sobre un conjunto de muestras o sobre toda la población, porque el cálculo considera todos los puntos de datos en el conjunto dado. Aunque el cálculo difiere ligeramente cuando se compara una muestra con una población, puede calcular la varianza como la media de las diferencias al cuadrado de la media.
Debido a que la varianza es un valor al cuadrado, puede ser difícil de interpretar en comparación con otras medidas de variabilidad como la desviación estándar. De cualquier manera, puede ser útil examinar la varianza; esto puede facilitarle la decisión de qué pruebas estadísticas usar con sus datos. De acuerdo con las pruebas estadísticas, la variación desigual entre las muestras podría sesgar o sesgar los resultados.
Una de las pruebas estadísticas populares que aplica la varianza se llama prueba de análisis de varianza (ANOVA). Se utiliza una prueba ANOVA para evaluar si alguna de las medias de los grupos es significativamente diferente entre sí al analizar una variable independiente categórica y una variable dependiente cuantitativa. Por ejemplo, suponga que desea analizar si el uso de las redes sociales afecta las horas de sueño. Puede dividir el uso de las redes sociales en diferentes categorías, como uso bajo, uso medio y uso alto, y luego ejecutar una prueba ANOVA para evaluar si existen diferencias estadísticas entre las medias del grupo. La prueba puede mostrar si los resultados se explican por diferencias grupales o diferencias individuales.
¿Cómo encontrar la brecha?
El cálculo de la varianza de un conjunto de datos puede diferir dependiendo de si el conjunto es la población completa o una muestra de la población.
La fórmula para calcular la varianza de una población completa se ve así:
σ² = ∑ (Xᵢ— μ)² / N
Una explicación de la fórmula:
- σ² = varianza de la población
- Σ = suma de…
- Χᵢ = cada valor
- μ = media de la población
- Ν = número de valores en la población
- Usando un ejemplo de rango de números, veamos el cálculo paso a paso.
Ejemplo de rango de números: 8, 6, 12, 3, 13, 9
Encuentre la media poblacional (μ):
Calcule las desviaciones de la media restando la media de cada valor.
Eleva al cuadrado cada desviación para obtener un número positivo.
Suma los valores al cuadrado.
Divide la suma de cuadrados por N o n-1.
Como estamos trabajando con toda la población, dividiremos por N. Si estuviéramos trabajando con una muestra de la población, dividiríamos por n-1.
69,5/6 = 11,583
¡Lo tenemos! La varianza de nuestra población es 11.583.
¿Por qué usar n-1 para calcular la varianza de la muestra?
La aplicación de n-1 a la fórmula se llama corrección de Bessel, llamada así por Friedrich Bessel. Cuando usamos muestras, necesitamos calcular la varianza estimada para la población. Si usáramos N en lugar de n-1 para la muestra, la estimación estaría sesgada y podría subestimar la varianza de la población. El uso de n-1 hará que la estimación de la varianza sea más grande, sobrestimando la variabilidad en las muestras y, por lo tanto, reduciendo el sesgo.
Recalculemos la varianza suponiendo que los valores provienen de una muestra:
Como podemos ver, ¡la varianza es mayor!
Calcular la varianza con Python
Ahora que hemos hecho el cálculo a mano, podemos ver que completarlo para una gran cantidad de valores sería muy tedioso. Afortunadamente, Python puede manejar fácilmente la computación de datos muy grandes. Exploraremos dos métodos usando Python:
- Escribir nuestra propia función de cálculo de varianza
- Usar la función integrada de Pandas
Escribe una función de varianza
Cuando comencemos a escribir una función para calcular la varianza, recuerda los pasos que dimos al calcularla a mano. Queremos que la función acepte dos parámetros:
- población: una serie de números
- is_sample: un booleano para modificar el cálculo dependiendo de si estamos trabajando con una muestra o una población
Comience por definir la función que tiene en cuenta ambos parámetros.
A continuación, agregue lógica para calcular la media de la población.
Después de calcular la media, encuentre las diferencias de la media para cada valor. Puede hacer esto en una línea usando una lista de comprensión.
Luego eleva al cuadrado las diferencias y súmalas.
Finalmente, calcule la varianza. Al usar una instrucción If/Else, podemos usar el parámetro is_sample. Si is_sample es verdadero, calcule la varianza usando (n-1). Si es falso (el valor predeterminado), use N:
Podemos probar las matemáticas usando el rango de números que procesamos a mano:
Encontrar varianza usando pandas
Aunque podemos escribir una función para calcular la varianza en menos de 10 líneas de código, hay una manera aún más fácil de encontrar la varianza. Puedes hacerlo en una línea de código usando Pandas. Carguemos algunos datos y trabajemos en un ejemplo real de búsqueda de varianza.
Cargando datos de muestra
El ejemplo de Pandas utiliza el conjunto de datos BMW Price Challenge de Kaggle, que se puede descargar gratis. Comience importando la biblioteca de Pandas, luego lea el archivo CSV en un marco de datos de Pandas:
Podemos contar el número de filas en el conjunto de datos y mostrar las primeras cinco filas para asegurarnos de que todo se cargue correctamente:

Encuentra la variación de los datos de BMW
Dado que el conjunto de datos de BMW es de 4843 filas, calcularlo a mano sería… nada divertido. En cambio, podemos simplemente conectar la columna del marco de datos en nuestra función de cálculo_varianza y devolver la varianza. Encontremos la varianza de las columnas numéricas kilometraje, caballos de fuerza y precio.

Usando la función Pandas var()
En caso de que olvidemos el cálculo de la varianza y no podamos escribir nuestra propia función, Pandas tiene una función integrada para calcular la varianza llamada var(). Por defecto, asume una muestra de población y usa n-1 en el cálculo; sin embargo, puede ajustar el cálculo pasando el argumento ddof=0.

Como podemos ver, la función Var() corresponde a los valores producidos por nuestra función de calcular_varianza, y es solo una línea de código. Al observar los resultados, podemos ver que el kilometraje tiene una variación alta, lo que significa que los valores tienden a desviarse mucho de la media. Esto tiene sentido porque muchos factores afectan la distancia que tiene que viajar una persona. En comparación, engine_power tiene una variación baja, lo que indica que los valores no se desvían mucho de la media.
La venta para llevar
Comprender la varianza puede ser una parte importante del análisis de datos y el aprendizaje automático porque puede usarlo para evaluar las diferencias entre grupos. La varianza también afecta las pruebas estadísticas que pueden ayudarnos a tomar decisiones basadas en datos. Una varianza alta significa que los valores están muy lejos de la media, mientras que una varianza baja significa que los números no están lejos de la media. Si tenemos un pequeño conjunto de valores, es posible calcular la varianza a mano en solo cinco pasos. Para grandes conjuntos de datos, hemos visto lo fácil que es calcular la varianza usando Python y Pandas. La función Var() en Pandas calcula la varianza de las columnas numéricas en un marco de datos en una sola línea de código, ¡lo cual es bastante útil!