¶
medidas numéricas
3.1 MEDIDAS DE POSICIÓN O LOCALIZACIÓN
- Media
- Mediana
- Moda
- Percentiles
- Cuartiles
3.2 MEDIDAS DE VARIABILIDAD
- Rango
- Rango intercuartílico
- Varianza
- Desviación estándar
- Coeficiente de variación
3.3 MEDIDAS DE LA FORMA DE LA DISTRIBUCIÓN, POSICIÓN RELATIVA Y DETECCIÓN DE OBSERVACIONES ATÍPICAS
- Forma de la distribución
- Valor z
- Teorema de Chebyshev
- Regla empírica
- Detección de observaciones atípicas
3.4 ANÁLISIS EXPLORATORIO DE DATOS
- Resumen de cinco números
- Diagrama de caja
3.5 MEDIDAS DE ASOCIACIÓN ENTRE DOS VARIABLES
- Covarianza
- Interpretación de la covarianza
- Coeficiente de correlación
- Interpretación del coeficiente de correlación
3.6 MEDIA PONDERADA Y TRABAJO CON DATOS AGRUPADOS
- Media ponderada
- Datos agrupados
3.1 Medidas de posición o localización¶
Media¶
La media, o valor medio, es quizá la medida de ubicación más importante para una variable, pues proporciona una medida de la ubicación central de los datos. Si los datos son para una muestra, la media se denota por $ \bar{x} $; si son para una población, se denota por la letra griega $ \mu $.
En las fórmulas estadísticas se acostumbra denotar el valor de la primera observación de la variable $x$ mediante $x_1$, el valor de la segunda observación de la variable $x$ por medio de $x_2$, y así sucesivamente hasta $x_i$. Si se tiene una muestra con $n$ observaciones, la fórmula para la media muestral es la siguiente.
- $\bar{x}$ es la media muestral.
- $x_i$ son las observaciones individuales.
- $ n $ es el número total de observaciones.
Ejercicio 1. Se quiere calcular la media muestral de los sueldos mensuales iniciales para una muestra de 12 licenciados en administración de empresas recién egresados de la Universidad Mayor de San Andres. Tendiendo los siguientes datos:
Tabla 1.1 Sueldos mensuales
Egresado | Sueldo (Bs) | Egresado | Sueldo (Bs) |
---|---|---|---|
1 | 3450 | 7 | 3470 |
2 | 3560 | 8 | 3540 |
3 | 3650 | 9 | 3600 |
4 | 3480 | 10 | 3360 |
5 | 3355 | 10 | 3510 |
6 | 3310 | 10 | 3500 |
El cálculo de la media muestral se realizará de la siguiente manera:
$$ \bar{x} = \frac{\sum_{i=1}^{n} x_i}{n}= \frac{ x_1+x_2+x_3+...+x_n}{n} $$
$$ \bar{x} = \frac{ 3450+3560+3650+3480+3355+3310+3470+3540+3600+3360+3510+3500}{12} $$
$$ \bar{x} = \frac{41785}{12} $$
$$ \bar{x} = 3482.1 $$
3482.1 Bs la media muestral de los sueldos de los 12 licenciados recién egresados.
Ejercicio 2. La venta de vivienda en la ciudad de La Paz ha aumentado en los últimos 10 años. A continuación, se presentan los datos muestrales con el precio de venta representativo para las casas usadas y las nuevas. Los datos se expresan en miles de dólares. Tendiendo los siguientes datos:
Tabla 2.1 Venta de las casas en la ciudad de La Paz
Casas Usadas | Casas Nuevas |
---|---|
315.5 | 275.9 |
190.5 | 350.2 |
140.2 | 295.8 |
181.3 | 425.5 |
470.2 | 520.0 |
169.9 | 415.2 |
112.8 | 215.5 |
230.0 | 175.0 |
177.5 | 250.9 |
Calcular la media muestral de la venta de las casas usadas y la media muestral de las casas nuevas
a) Media muestral de las casas usadas:
$$ \bar{x} = \frac{\sum_{i=1}^{n} x_i}{n}= \frac{ x_1+x_2+x_3+...+x_n}{n} $$
$$ \bar{x} = \frac{315.5+190.5+140.2+181.3+470.2+169.9+112.8+230.0+177.5}{9} $$
$$ \bar{x} = \frac{1987.9}{9} $$
$$ \bar{x} = 220.9 $$
b) Media muestral de las casas nuevas:
$$ \bar{x} = \frac{\sum_{i=1}^{n} x_i}{n}= \frac{ x_1+x_2+x_3+...+x_n}{n} $$
$$ \bar{x} = \frac{275.9+350.2+295.8+425.5+525.0+415.2+215.5+175.0+250.9}{9} $$
$$ \bar{x} = \frac{2929}{9} $$
$$ \bar{x} = 325.4 $$
Media muestral de las casas usadas es de 220.9 miles de dólares. Media muestral de las casas nuevas es de 325.4 miles de dólares.
Le ecuacion para los anteriores ejemplos se utilizó la Media muestral con $n$ observaciones. La formula para la Media Poblacional es muy similar, solo que se usa una notacion diferente.
- $\mu$ es la media poblacional.
- $x_i$ son las observaciones individuales.
- $ N $ es el número total de la población.
La aplicación de esta fórmula sigue el mismo procedimiento que se empleó para calcular la media muestral. Su propósito es determinar la media de los datos de toda la población en relación con un aspecto específico que esté siendo investigado.
Importante hacer notar que la media muestral $\bar{x}$ es un estimador puntual de la media poblacional $\mu$.
Mediana¶
La mediana es otra medida de ubicación central; es el valor de en medio cuando los datos están acomodados en orden ascendente (del valor menor al valor mayor). Con un número impar de observaciones, la mediana es el valor de en medio. Con un número par, no hay valor de en medio. En este caso se sigue la convención y la mediana se define como el promedio de los valores de las dos observaciones de en medio. Por conveniencia, la definición de la mediana se replantea como sigue.
- Para un número impar de observaciones, la mediana es el valor de en medio.
- Para un número par de observaciones, la mediana es el promedio de los dos valores de en medio.
Esta definición se aplica para calcular la mediana de los tamaños de grupo para la muestra de cinco grupos de estudiantes universitarios. Al ordenar los datos de forma ascendente se ob- tiene la lista siguiente. $$32, 42, 46, 46, 54$$ Dado que n = 5 es impar, la mediana es el valor de en medio. Por tanto, la mediana del tamaño de grupo es 46 estudiantes.
Suponga además que se calcula la mediana de los sueldos iniciales para los 12 licenciados en administración de empresas. Primero se acomodan los datos en orden ascendente. $$3 310, 3 355, 3 450, 3 480, 3 480, 3 490, 3 520, 3 540, 3 550, 3 650, 3 730, 3 925$$ Como n = 12 es par, se identifican los dos valores de en medio: la mediana es el promedio de estos dos valores. $$ Mediana = \frac{3490+3520}{2} = 3505 $$
Moda¶
Una tercera medida de posición es la moda. Se define de la manera siguiente.
Ejemplo de Moda en Ingresos Mensuales en Bolivia
2000, 3000, 2500, 2000, 3500, 3000, 3000, 2500, 4000, 3000, 3500, 2500, 2500
Moda: 2500 (ocurre con mayor frecuencia)
En este ejemplo, los ingresos mensuales de 2500 son la moda, ya que son el valor que ocurre con mayor frecuencia en el conjunto de datos.
Percentiles¶
Un percentil proporciona información sobre cómo se distribuyen los datos en el intervalo del valor menor al valor mayor. Para datos que no contienen muchos valores repetidos, el percentil p-ésimo los divide en dos partes. Alrededor de p por ciento de las observaciones tiene valores menores que el percentil p-ésimo y cerca de (100 - p) por ciento de las observaciones tiene valores mayores que el percentil p-ésimo. Éste se define formalmente del modo siguiente.
En estadísticas, el percentil es una medida que indica el valor por debajo del cual cae un porcentaje dado de observaciones en un conjunto de datos ordenado. Supongamos que tenemos las siguientes puntuaciones en un examen:
$$[ 85, 90, 92, 95, 98, 100, 102, 105, 110, 120 ]$$
Si queremos calcular el percentil 75 (denotado como ($ P_{75} $)), significa que el 75% de las puntuaciones son iguales o inferiores a este valor.
La fórmula para calcular el percentil es:
$$ P_k = \left( \frac{k \cdot (n + 1)}{100} \right) $$
Para el percentil 75 en nuestro ejemplo:
$$ \begin{align*} P_{75} &= \left( \frac{75 \cdot (10 + 1)}{100} \right) \\ &= \left( \frac{825}{100} \right) \\ &= 8.25 \end{align*} $$
Por lo tanto, el percentil 75 de nuestras puntuaciones sería el valor que está en la posición 8.25. Dado que no puede haber una fracción de posición, tomaríamos el promedio de las observaciones en las posiciones 8 y 9.
El percentil 75 en nuestro conjunto de datos sería el promedio de las puntuaciones 105 y 110, es decir:
$$ P_{75} = \frac{105 + 110}{2} = 107.5 $$
En este caso, el percentil 75 es 107.5, lo que significa que el 75% de las puntuaciones son iguales o inferiores a 107.5.
Cuartiles¶
A menudo es recomendable dividir los datos en cuatro partes, cada una de las cuales contiene aproximadamente un cuarto, o 25% de las observaciones. Los puntos de división se conocen como cuartiles y son definidos como:
Los cuartiles Q1, Q2 y Q3 son medidas que dividen un conjunto de datos ordenado en cuatro partes iguales.
$$ \begin{align*} &- Q1 \text{ es el valor que separa el 25\% inferior de los datos.} \\ &- Q2 \text{, que es equivalente a la mediana, separa el 50\% de los datos.} \\ &- Q3 \text{ es el valor que separa el 75\% superior de los datos.} \end{align*} $$
$$ \text{La fórmula general para calcular los cuartiles es:} $$
$$ Q_k = \left( \frac{k \cdot (n + 1)}{100} \right) $$
$$ \text{Donde } Q_k \text{ es el cuartil deseado y } n \text{ es el número total de observaciones.} $$
En el caso de Q1 y Q3 , podría ser necesario utilizar interpolación para encontrar los valores exactos en los datos.
$$ \text{Por ejemplo, si tenemos 10 observaciones, los cálculos serían:} $$
$$ \begin{align*} &- Q1 = \left( \frac{25 \cdot (10 + 1)}{100} \right) = 3.25 \quad \text{(Interpolación requerida)} \\ &- Q2 = \left( \frac{50 \cdot (10 + 1)}{100} \right) = 6 \quad \text{(Posición entera)} \\ &- Q3 = \left( \frac{75 \cdot (10 + 1)}{100} \right) = 8.25 \quad \text{(Interpolación requerida)} \end{align*} $$
Ejercicio 3. En un estudio antropométrico en una ciudad de La Paz Bolivia, se recolectaron datos sobre la altura (en centímetros) de un grupo de personas seleccionadas al azar. Los datos recopilados son los siguientes:
Tabla 3.1 Tabla de las estaturas recopiladas
N | Estaturas (cm) |
---|---|
1 | 160 |
2 | 165 |
3 | 155 |
4 | 170 |
5 | 160 |
6 | 165 |
7 | 160 |
8 | 155 |
9 | 180 |
10 | 175 |
11 | 170 |
12 | 165 |
13 | 160 |
14 | 165 |
15 | 145 |
Grafica 3.1 estaturas recopiladas
import matplotlib.pyplot as plt
# Alturas de muestra en centímetros
alturas_bolivia = [160, 165, 155, 170, 175, 160, 165, 160, 155, 180, 175, 170, 165, 160, 165]
# Crear la figura y los ejes
fig, ax = plt.subplots()
# Ajustar el color de fondo
ax.set_facecolor("#d4f8b7")
# Pintar el fondo externo del gráfico
fig.patch.set_facecolor('#D4F8B7')
# Crear el gráfico de barras
plt.hist(alturas_bolivia, bins=10, color='#5CCB5f', edgecolor='black', linewidth=1.5)
# Añadir etiquetas y título con texto en negrita
plt.xlabel('Alturas (cm)', fontsize=10, fontweight='bold')
plt.ylabel('Frecuencia', fontsize=10, fontweight='bold')
plt.title('Distribución de Alturas', fontsize=12, fontweight='bold')
# Mostrar el gráfico
plt.show()
a) Calcular la media muestral
$$ \bar{x} = \frac{\sum_{i=1}^{n} x_i}{n}= \frac{ x_1+x_2+x_3+...+x_n}{n} $$
$$ \bar{x} = \frac{160+165+155+170+160+165+160+155+180+175+170+165+160+165+145}{15} $$
$$ \bar{x} = \frac{2285}{15} $$
$$ \bar{x} = 152 $$ b) Calcular la media poblacional
Recordando que le media muestral es un estimador de la media poblacional entonces: $$\mu = 152 $$
c) Calcular la mediana Ordenando lso dato se tiene:
d) Calcular la moda Viendo la grafica podemos notar que la estatura que hay dos estaturas que mas se repiten siendo bimodal:
e) Calcular el percentil 75 Ordenamos los valores: $$145 ,155, 155, 160, 160, 160, 160, 165, 165, 165, 165, 170, 170, 175, 180$$ Calculamos el indice i :
f) Calcular el primer cuartil Calculamos el indice i :
3.2 Medidas de variabilidad¶
Además de las medidas de posición, con frecuencia es conveniente considerar las medidas de variabilidad o dispersión.
Se tiene una muestra de 100 estudiantes de la Universidad Mayor de San Andrés (UMSA) que se graduaron en 2022. Se desea comparar la variabilidad de los tiempos de graduación entre los estudiantes de la carrera de Ingeniería de Sistemas y los estudiantes de la carrera de Derecho.
** Histogramas que muestran los tiempos de graduación de los estudiantes**
import matplotlib.pyplot as plt
# Datos de Ingeniería de Sistemas
is_tiempos = [10, 20, 25, 30, 35, 40, 45, 50]
# Datos de Derecho
d_tiempos = [5, 10, 15, 20, 25]
# Figura
fig, ax = plt.subplots(1, 2, figsize=(12, 5))
# Histograma de Ingeniería de Sistemas
ax[0].hist(is_tiempos, bins=4, color='#5CCB5f', edgecolor='black', width=5, alpha=0.5)
ax[0].set_title('Ingeniería de Sistemas')
ax[0].set_xlabel('Tiempo de graduación (años)', fontsize=10, fontweight='bold')
ax[0].set_ylabel('Frecuancia relativa', fontsize=10, fontweight='bold')
#Color de fondo
ax[0].set_facecolor('#D4F8B7')
# Histograma de Derecho
ax[1].hist(d_tiempos, bins=3, color='#5CCB5f', edgecolor='black', width=5, alpha=0.5)
ax[1].set_title('Derecho')
ax[1].set_xlabel('Tiempo de graduación (años)', fontsize=10, fontweight='bold')
ax[1].set_ylabel('Frecuancia relativa', fontsize=10, fontweight='bold')
#Color de fondo
ax[1].set_facecolor('#D4F8B7')
fig = plt.gcf()
fig.patch.set_facecolor('#D4F8B7')
# Mostrar la figura
plt.show()
Como se puede observar, los histogramas muestran que la distribución de los tiempos de graduación de los estudiantes de Ingeniería de Sistemas es más dispersa que la distribución de los tiempos de graduación de los estudiantes de Derecho.
Ahora se verá a la revisión de algunas medidas de variabilidad de uso común.
Rango¶
La medida de variabilidad más sencilla es el rango.
Los datos sobre los sueldos iniciales para los licenciados en administración de empresas recién egresados que hemos venido trabajando. El sueldo inicial mayor es de $3 925$ y el menor es de $3 310$. El rango es $3 925 - 3 310 = 615$. Aun cuando el rango es la medida de variabilidad más fácil de calcular, pocas veces se usa como la única medida debido a que se basa sólo en dos de las observaciones y, por tanto, los valores extremos influyen mucho en él. Suponga que uno de los licenciados recién egresados recibe un sueldo inicial de $10 000$ al mes. En este caso, el rango sería $10 000 - 3 310 - 6 690$ en vez de $615$. Este valor mayor para el rango no describe con claridad la variabilidad de los datos debido a que 11 de los 12 sueldos iniciales se agrupan estrechamente entre $3 310$ y $3 730$.
Ejemplo: Según un estudio realizado por el Instituto Nacional de Estadística de Bolivia (INE) en 2022.
Hombres
- Altura minima: 1,52 metros
- Altura maxima: 1,80 metros
Mujeres
- Altura minima: 1,45 metros
- Altura maxima: 1,61 metros
Ejercicios¶
%%html
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Rango Intercuartílico</title>
</head>
<body>
<button onclick="generarNumeros()" type="button" style="background-color:#009929">Generar Ejercicio</button>
<p id="numerosAleatorios">_</p>
<label for="inputMayor">Ingresa el valor mayor:</label>
<input type="number" id="inputMayor" required style="background-color: #D4F8B7;">
<label for="inputMenor">Ingresa el valor menor:</label>
<input type="number" id="inputMenor" required style="background-color: #D4F8B7;">
<label for="inputRango">Ingresa el rango:</label>
<input type="number" id="inputRango" required style="background-color: #D4F8B7;">
<button onclick="verificar() "type="button" style="background-color:#009929">Verificar</button>
<p id="resultado"><br></p>
<script>
var numerosAleatorios = [];
function generarNumeros() {
// Generar 10 números aleatorios entre 1 y 100
numerosAleatorios = [];
for (var i = 0; i < 10; i++) {
numerosAleatorios.push(Math.floor(Math.random() * 100) + 1);
}
// Mostrar los números aleatorios generados
document.getElementById("numerosAleatorios").innerText = "Considere una muestra con los datos " + numerosAleatorios.join(", ");
}
function verificar() {
// Obtener valores ingresados por el usuario
var numeroMayor = parseInt(document.getElementById("inputMayor").value);
var numeroMenor = parseInt(document.getElementById("inputMenor").value);
var rangoEsperado = parseInt(document.getElementById("inputRango").value);
// Verificar si los números generados cumplen con los criterios
var rangoCalculado = Math.max(...numerosAleatorios) - Math.min(...numerosAleatorios);
var resultado = "";
if (rangoCalculado === rangoEsperado && Math.max(...numerosAleatorios) === numeroMayor && Math.min(...numerosAleatorios) === numeroMenor) {
resultado += "<strong>¡Verificación exitosa!</strong>";
} else {
resultado += "<strong> Verificación fallida. Por favor, verifica los valores ingresados.</strong>";
}
// Mostrar los resultados en el documento HTML
document.getElementById("resultado").innerHTML = resultado;
}
</script>
</body>
</html>
_
_
Rango intercuartílico¶
Una medida de la variabilidad que supera la dependencia sobre los valores extremos es el rango intercuartílico (RIC). Esta medida de la variabilidad es la diferencia entre el tercer cuartil, $Q_3$, y el primer cuartil, $Q_1$. En otras palabras, el rango intercuartílico es el rango de la media de $50\%$ de los datos.
Para los datos sobre los sueldos mensuales iniciales, los cuartiles son $Q_3 = 3 600$ y $Q_1 = 3 465$. Por tanto, el rango intercuartílico es $3 600 - 3 465 = 135$.
**Ejemplo: **
Para calcular el RIC, primero se deben ordenar los datos de menor a mayor. Luego, se encuentran $Q_1$ y $Q_3$. $Q_1$ es el valor que divide la mitad inferior de los datos en dos partes iguales. $Q_3$ es el valor que divide la mitad superior de los datos en dos partes iguales.
Por ejemplo, si un conjunto de datos tiene los siguientes valores:
$$1, 2, 3, 4, 5, 6, 7, 8, 9, 10$$
$Q_1$ es igual a 3 y $Q_3$ es igual a 8. Por lo tanto, el RIC es igual a 5:
$$RIC = 8 - 3 = 5$$
El RIC se puede interpretar como el rango de valores que abarcan el 50% central de los datos. En el ejemplo anterior, el 50% de los datos se encuentran entre 3 y 8.
Ejercicios¶
%%html
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Rango Intercuartílico</title>
</head>
<body>
<button onclick="generarNumeros()" type="button" style="background-color:#009929">Generar Números</button>
<p id="numerosAleatorios"></p>
<label for="inputMayor">Ingresa Q<sub>3</sub>:</label>
<input type="number" id="inputMayor" required style="background-color: #D4F8B7;">
<label for="inputMenor">Ingresa Q<sub>1</sub>:</label>
<input type="number" id="inputMenor" required style="background-color: #D4F8B7;">
<label for="inputRango">Ingresa el rango intercuartilico:</label>
<input type="number" id="inputRango" required style="background-color: #D4F8B7;">
<button onclick="verificar()" type="button" style="background-color:#009929">Verificar</button>
<p id="resultado"><br></p>
<script>
var numerosAleatorios = [];
function generarNumeros() {
// Generar 10 números aleatorios entre 1 y 100
numerosAleatorios = [];
for (var i = 0; i < 10; i++) {
numerosAleatorios.push(Math.floor(Math.random() * 100) + 1);
}
// Mostrar los números aleatorios generados
document.getElementById("numerosAleatorios").innerText = "Números aleatorios generados: " + numerosAleatorios.join(", ");
}
function verificar() {
// Obtener valores ingresados por el usuario
var numeroMayor = parseInt(document.getElementById("inputMayor").value);
var numeroMenor = parseInt(document.getElementById("inputMenor").value);
var rangoEsperado = parseInt(document.getElementById("inputRango").value);
// Verificar si los números generados cumplen con los criterios
// Ordenar los datos
var datosOrdenados = numerosAleatorios.slice().sort(function(a, b) {
return a - b;
});
var Q1 = datosOrdenados[2];
var Q3 = datosOrdenados[7];
var iqrCalculado = Q3-Q1;
var resultado = "";
if (iqrCalculado === rangoEsperado && Q3 === numeroMayor && Q1 === numeroMenor) {
resultado += "<strong>¡Verificación exitosa!</strong>";
} else {
resultado += "<strong>Verificación fallida. Por favor, verifica los valores ingresados.</strong>";
}
// Mostrar los resultados en el documento HTML
document.getElementById("resultado").innerHTML = resultado;
}
</script>
</body>
</html>
Varianza¶
from IPython.display import YouTubeVideo
youtube_video = YouTubeVideo('YRfpblzLTrA')
display(youtube_video)
La varianza es una medida de la variabilidad que utiliza todos los datos. Se basa en la diferencia entre el valor de cada observación $(x_i)$ y la media. La diferencia entre cada $x_i$ y la media($\overline{x}$ para una muestra; μ para una población) se llama desviación respecto de la media. Para una muestra, una desviación respecto de la media se escribe ($x_i$ - $\overline{x}$); para una población, se escribe ($x_i$ - μ). Si se desea calcular la varianza, las desviaciones respecto de la media se elevan al cuadrado.
Varianza Poblacional¶
Si los datos pertenecen a una población, el promedio de las desviaciones elevadas al cuadrado se llama varianza poblacional, la cual se denota por medio del símbolo griego $σ_2$. Para una población de N observaciones con una media poblacional μ, la definición de la varianza poblacional es la siguiente.
- $ \sigma^2 $ es la varianza poblacional.
- $ x_i $ es un dato de la población.
- $ \mu $ es la media poblacional.
- $ N $ es el tamaño de la población.
import matplotlib.pyplot as plt
import matplotlib.patches as patches
# Crear la figura y el eje
fig, ax = plt.subplots()
#color
fig.patch.set_facecolor('#D4F8B7')
#formula
ax.text(0.25,0.3,r"$\sigma^2 = \frac{\sum(x_i-\mu)^2}{N}$",fontsize=30)
# Agregar el texto y las flechas
ax.text(0.2, 0.6, 'Varianza poblacional', fontsize=12, ha='center', va='center')
arrow_n = patches.FancyArrowPatch((0.2, 0.56), (0.27, 0.4), mutation_scale=15, color='#5CCB5f')
ax.add_patch(arrow_n)
ax.text(0.4, 0.7, 'Dato de la poblacion', fontsize=12, ha='center', va='center')
arrow_n = patches.FancyArrowPatch((0.4, 0.66), (0.54, 0.44), mutation_scale=15, color='#5CCB5f')
ax.add_patch(arrow_n)
ax.text(0.8, 0.7, 'Media poblacional', fontsize=12, ha='center', va='center')
arrow_mean = patches.FancyArrowPatch((0.8, 0.65), (0.68, 0.44), mutation_scale=15, color='#5CCB5f')
ax.add_patch(arrow_mean)
ax.text(0.8, 0.1, 'Tamaño de la Población', fontsize=12, ha='center', va='center')
arrow_summation = patches.FancyArrowPatch((0.8, 0.15), (0.62, 0.27), mutation_scale=15, color='#5CCB5f')
ax.add_patch(arrow_summation)
# Ajustar límites y mostrar la imagen
ax.set_xlim(0, 1)
ax.set_ylim(0, 0.8)
# Ocultar ejes
ax.axis('off')
plt.show()
**Ejemplo: **
from IPython.display import YouTubeVideo
youtube_video = YouTubeVideo('A7xDMQ6CQj0')
display(youtube_video)
En la mayoría de las aplicaciones estadísticas, los datos que se analizan provienen de una muestra. Cuando se calcula una varianza muestral, a menudo lo que interesa es usarla para estimar la varianza poblacional $σ^2$.Esta mostrarse que si la suma de las desviaciones respecto de la media al cuadrado se divide entre $n - 1$, y no entre $n$, la varianza muestral resultante proporciona un estimador insesgado de la varianza poblacional. Por esta razón, la varianza muestral, denotada por $s^2$, se define como sigue.
Varianza Muestral¶
La varianza muestral es una medida estadística que describe la dispersión de un conjunto de datos en relación con la media de una muestra. Se representa comúnmente por el símbolo $s^2$. La fórmula para calcular la varianza muestral es la siguiente:
Formula para la Varianza Muestral
$s^2 = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})$
Donde:
- $s^2$ es la varianza muestral.
- $n$ es el tamaño de la muestra.
- $x_i$ son los valores individuales en la muestra.
- $\bar{x}$ es la media de la muestra.
Ejercicios
Según la recopilación de datos realizada por la División de Estadística de Delitos contra la Propiedad en Bolivia durante los meses de enero a febrero de 2021, se ha elaborado una tabla que refleja la incidencia de robos agravados. A continuación, utilizaremos los datos proporcionados en esta tabla para calcular la varianza muestral
Departamento | Robos Agrabados |
---|---|
Beni | 34 |
Chuquisaca | 38 |
Cochabamba | 107 |
La Paz | 17 |
Oruro | 11 |
Pando | 17 |
Potosí | 25 |
Santa Cruz | 130 |
Tarija | 35 |
Paso 1: Calcular la media $\bar{x}$:
$ \bar{x} = \frac{34 + 38 + 107 + 17 + 11 + 17 + 25 + 130 + 35}{9} \approx 46 $
Paso 2: Calcular las diferencias y elevar al cuadrado:
$ (34 - 46)^2 = 144 $
$ (38 - 46)^2 = 64 $
$ (107 - 46)^2 = 3961 $
$ (17 - 46)^2 = 841 $
$ (11 - 46)^2 = 1225 $
$ (17 - 46)^2 = 841 $
$ (25 - 46)^2 = 441 $
$ (130 - 46)^2 = 7921 $
$ (35 - 46)^2 = 121 $
Paso 3: Calcular la varianza muestral $s^2$:
$$ s^2 = \frac{(34 - 46)^2 + (38 - 46)^2 + \ldots + (35 - 46)^2}{8} = \frac{144 + 64 + 3961 + 841 + 1225 + 841 + 441 + 7921 + 121}{8} \approx 2250.5 $$
Como conclusion, un valor más alto de varianza sugiere una mayor variabilidad en la cantidad de robos agravados entre los departamentos. Esta medida estadística es útil para comprender la amplitud de la distribución y para identificar patrones de variabilidad en los datos.
Desviación estándar¶
from IPython.display import YouTubeVideo
youtube_video = YouTubeVideo('https://www.youtube.com/watch?v=hLmsEFNaOgY&list=PLeySRPnY35dE25b7mIEUlsMCQqlhJFhyG')
display(youtube_video)
Desviación estándar muestral
La desviación estándar muestral es una medida estadística que cuantifica la dispersión o variabilidad de un conjunto de datos en relación con la media muestral. Es particularmente útil para comprender cuán dispersos están los valores individuales con respecto a la media aritmética de la muestra.
La fórmula para la desviación estándar muestral ($s$) es:
Formula de la Desviacion Estandar Muestral
$$s = \sqrt{s^2} $$
Donde:
- $s^2$ es la Desviacion estandar muestral.
Desviacion Estandar Poblacional
La desviación estándar poblacional es una medida estadística que cuantifica la dispersión o variabilidad de un conjunto de datos en relación con la media poblacional. A diferencia de la desviación estándar muestral, la desviación estándar poblacional utiliza la media de la población en lugar de la media muestral.
La fórmula para la desviación estándar poblacional ($\sigma$) es:
Formula de la Desviacion Estandar Poblacional
$\sigma = \sqrt{\sigma^2}$
Donde:
- $\sigma^2$ es la Desviacion estandar poblacional.
Ejercicios
Calcular la Desvicion estandar muestral del ejemplo mencionado anteriormente.
$$s = \sqrt{s^2} = \sqrt{2250.5} \approx 47.44$$
from IPython.display import YouTubeVideo
youtube_video = YouTubeVideo('A7xDMQ6CQj0')
display(youtube_video)
Coeficiente de variación¶
El coeficiente de variación es una medida estadística que proporciona información sobre la variabilidad relativa de un conjunto de datos en comparación con su media. Esta medida es especialmente útil cuando se trabaja con diferentes escalas o unidades. La fórmula para calcular el (CV) se expresa como:
$$CV = (\left( \frac{\text{Desviación estándar}}{\text{Media}} \right) \times 100)\%$$
El (CV) se presenta como un porcentaje y cuantifica la dispersión de los datos en relación con su valor promedio, permitiendo una comparación más significativa entre de datos con magnitudes diferentes.
Ejemplo
Vamos a utilizar un ejemplo hipotético relacionado con las alturas de estudiantes en dos escuelas diferentes en Bolivia para calcular el coeficiente de variación.
Supongamos que tenemos las alturas de los estudiantes de dos escuelas (en centímetros):
Escuela A: 150, 155, 160, 165, 170 Escuela B: 140, 145, 160, 175, 180
Primero, calculemos el coeficiente de variación utilizando la formula anterior.
import numpy as np
import matplotlib.pyplot as plt
# Alturas de estudiantes en centímetros
alturas_escuela_a = np.array([150, 155, 160, 165, 170])
alturas_escuela_b = np.array([140, 145, 160, 175, 180])
# Calcular la media y la desviación estándar para cada escuela
media_a = np.mean(alturas_escuela_a)
desviacion_estandar_a = np.std(alturas_escuela_a)
cv_a = (desviacion_estandar_a / media_a) * 100
media_b = np.mean(alturas_escuela_b)
desviacion_estandar_b = np.std(alturas_escuela_b)
cv_b = (desviacion_estandar_b / media_b) * 100
# Gráfico comparativo
fig, axs = plt.subplots(1, 2, figsize=(12, 5))
# Escuela A
axs[0].hist(alturas_escuela_a, edgecolor="black", color="#5CCB5F")
axs[0].axvline(x=media_a, color='red', linestyle='dashed', linewidth=2, label=f'Media: {media_a:.2f}')
axs[0].set_title(f"Escuela A CV: {cv_a:.2f}%", color="#5CCB5F")
axs[0].set_xlabel("Alturas (cm)")
axs[0].set_ylabel("Frecuencia relativa")
axs[0].legend()
axs[0].set_facecolor('#D4F8B7')
# Escuela B
axs[1].hist(alturas_escuela_b, edgecolor="black", color="#5CCB5F")
axs[1].axvline(x=media_b, color='red', linestyle='dashed', linewidth=2, label=f'Media: {media_b:.2f}')
axs[1].set_title(f"Escuela B CV: {cv_b:.2f}%", color="#5CCB5F")
axs[1].set_xlabel("Alturas (cm)")
axs[1].set_ylabel("Frecuencia relativa")
axs[1].legend()
axs[1].set_facecolor('#D4F8B7')
# Ajustes generales
fig.patch.set_facecolor('#D4F8B7')
plt.suptitle("Comparación de Alturas de Estudiantes en Escuelas A y B", fontsize=16, color="#5CCB5F")
plt.show()
Escuela A
En la Escuela A, hemos recopilado las siguientes alturas de estudiantes:
- Alturas: [150, 155, 160, 165, 170]
- Media: 162.00 cm
- Desviación Estándar: 6.24 cm
- Coeficiente de Variación (CV): 3.85%
En el histograma correspondiente, la línea roja punteada indica la media de las alturas.
Escuela B
En la Escuela B, los datos de alturas son los siguientes:
- Alturas: [140, 145, 160, 175, 180]
- Media: 160.00 cm
- Desviación Estándar: 15.13 cm
- Coeficiente de Variación (CV): 9.46%
Nuevamente, en el gráfico de alturas de la Escuela B, la línea roja punteada destaca la media.
Comparación
Al comparar las dos escuelas, observamos que la Escuela A tiene una menor variabilidad en las alturas con un CV del 3.85%, mientras que la Escuela B muestra una mayor variabilidad con un CV del 9.46%.
Esta información nos proporciona una comprensión inicial de la dispersión de las alturas en ambas escuelas.
3.3 Medidas de la forma de la distribución, posición relativa y detección de observaciones atípicas¶
Forma de la distribución¶
Histogramas que muestran el sesgo de cuatro distribuciones
import numpy as np
import matplotlib.pyplot as plt
# Datos para un histograma sesgado a la derecha
datos_sesgo_derecha = np.random.exponential(scale=2, size=1000)
# Datos para un histograma sesgado a la izquierda
datos_sesgo_izquierda = -np.random.exponential(scale=2, size=1000)
# Datos para un histograma sin sesgo
datos_sin_sesgo = np.random.normal(loc=0, scale=2, size=1000)
# Gráficos
fig, axs = plt.subplots(1, 3, figsize=(15, 5))
# Histograma sesgado a la derecha
axs[0].hist(datos_sesgo_derecha, bins=30, color="#FFD700", edgecolor="black")
axs[0].set_title("Sesgo a la Derecha")
axs[0].set_xlabel("Valores")
axs[0].set_ylabel("Frecuencia relativa")
# Histograma sesgado a la izquierda
axs[1].hist(datos_sesgo_izquierda, bins=30, color="#FFD700", edgecolor="black")
axs[1].set_title("Sesgo a la Izquierda")
axs[1].set_xlabel("Valores")
axs[1].set_ylabel("Frecuencia relativa")
# Histograma sin sesgo
axs[2].hist(datos_sin_sesgo, bins=30, color="#FFD700", edgecolor="black")
axs[2].set_title("Sin Sesgo")
axs[2].set_xlabel("Valores")
axs[2].set_ylabel("Frecuencia relativa")
# Ajustes generales
fig.patch.set_facecolor('#D4F8B7')
plt.suptitle("Ejemplos de Sesgo en Histogramas", fontsize=16, color="#5CCB5F")
plt.show()
En una distribución simétrica, la media y la mediana son iguales. Cuando los datos están sesgados positivamente, la media por lo general será mayor que la mediana; cuando están sesgados negativamente, la media será menor que la mediana.
Valor z¶
El valor Z, también conocido como puntaje Z o estadístico Z, es una medida estandarizada que indica cuántas desviaciones estándar un punto de datos está del promedio de un conjunto. Este valor Z es esencial en estadísticas, ya que proporciona una forma de comparar y entender la posición relativa de un dato dentro de una distribución.
El cálculo del valor Z se realiza utilizando la siguiente fórmula: $$Z = \frac{\text{X - μ}}{\text{σ}} $$
donde:
- X es el valor individual
- μ es la media de la población
- σ es la desviación estándar de la población.
Un valor Z positivo indica que el dato está por encima de la media, mientras que un valor Z negativo indica que está por debajo de la media.
Ejemplo Rendimiento en Exámenes
Grupo A:
Media de puntajes: 75
Desviación estándar: 10
Puntaje de Estudiante X en Grupo A: 85
Grupo B:
Media de puntajes: 65
Desviación estándar: 8
Puntaje de Estudiante Y en Grupo B: 72
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.table import Table
# Datos
data = {
'Grupo': ['A', 'B'],
'Media': [75, 65],
'Desviación Estándar': [10, 8],
'Puntaje del Estudiante': [85, 72],
'Valor Z del Estudiante': [1, 0.875]
}
# Crear un DataFrame
df = pd.DataFrame(data)
# Crear la figura y los ejes
fig, ax = plt.subplots(figsize=(8, 4))
# Ocultar ejes
ax.set_axis_off()
# Convertir el DataFrame a una tabla de matplotlib
tabla = Table(ax, bbox=[0, 0, 1, 1])
# Ajustar automáticamente el ancho de las columnas
tabla.auto_set_column_width([0, 1, 2, 3, 4])
# Añadir filas y columnas a la tabla
tabla.auto_set_font_size(False)
tabla.set_fontsize(10)
tabla.scale(1.2, 1.2) # Ajustar el tamaño de la tabla
# Encabezados de columna
for i, key in enumerate(df.keys()):
tabla.add_cell(0, i, 0.1, 0.1, text=key, loc='center', facecolor='#5CCB5F')
# Datos y colores
colors = [
['#5CCB5F', '#5CCB5F', '#D4F8B7', '#D4F8B7', '#D4F8B7'],
['#5CCB5F', '#5CCB5F', '#D4F8B7', '#D4F8B7', '#D4F8B7']
]
for i in range(len(df)):
for j, key in enumerate(df.keys()):
tabla.add_cell(i+1, j, 0.1, 0.1, text=str(df.iloc[i, j]), loc='center', facecolor=colors[i][j])
# Añadir la tabla al eje
ax.add_table(tabla)
plt.show()
Para el estudiante X en el Grupo A:
$$Z = \frac{\text{85 - 75}}{\text{10}} = 1$$
El valor Z de 1 indica que el puntaje del estudiante X está a una desviación estándar por encima de la media del Grupo A.
Para el estudiante Y en el Grupo B:
$$Z = \frac{\text{72 - 65}}{\text{8}} = 0.875$$
El valor Z de 0.875 indica que el puntaje del estudiante Y está a aproximadamente 0.88 desviaciones estándar por encima de la media del Grupo B.
Estos valores Z proporcionan una forma estandarizada de comparar el rendimiento relativo de los estudiantes en diferentes grupos.
Teorema de Chebyshev¶
El Teorema de Chebyshev es un principio estadístico que proporciona información sobre la dispersión de datos en cualquier conjunto de datos, independientemente de su forma de distribución. Este teorema es especialmente útil cuando no conocemos la forma exacta de la distribución de los datos. La formulación general del Teorema de Chebyshev es la siguiente:
Para cualquier conjunto de datos, la proporción de observaciones dentro de $k$ desviaciones estándar de la media es al menos $1 - \frac{\text{1}}{\text{k²}}$ , donde $k > 1.$
En otras palabras, al menos $1 - \frac{\text{1}}{\text{k²}}$ del total de los datos se encuentra dentro de $k$ desviaciones estándar de la media.
Ejemplo Supongamos que tenemos un conjunto de datos con una media de 50 y una desviación estándar de 10. Utilizaremos el teorema para calcular el porcentaje de datos que se encuentra dentro de 2 y 3 desviaciones estándar de la media.
import numpy as np
import matplotlib.pyplot as plt
from IPython.display import Image, display
# Generar datos ficticios
np.random.seed(42)
datos = np.random.normal(loc=50, scale=10, size=1000)
# Crear histograma con color de fondo personalizado
fig, ax = plt.subplots()
ax.hist(datos, bins=30, color="#5CCB5F", edgecolor="black")
ax.axvline(np.mean(datos), color='red', linestyle='dashed', linewidth=2, label=f'Media: {np.mean(datos):.2f}')
ax.axvline(np.mean(datos) + 2 * np.std(datos), color='orange', linestyle='dashed', linewidth=2, label='+2 Desviaciones')
ax.axvline(np.mean(datos) - 2 * np.std(datos), color='orange', linestyle='dashed', linewidth=2, label='-2 Desviaciones')
ax.set_title("Teorema de Chebyshev")
ax.set_xlabel("Datos")
ax.set_ylabel("Frecuencia relativa")
ax.legend()
# Configurar el color de fondo
fig.patch.set_facecolor('#D4F8B7')
# Guardar el gráfico como imagen
plt.savefig("teorema_chebyshev.png")
# Mostrar la imagen en Colab
display(Image(filename="teorema_chebyshev.png"))
Ten en cuenta que el Teorema de Chebyshev proporciona una estimación conservadora y no precisa de la dispersión de datos, pero es útil en situaciones donde no conocemos la forma exacta de la distribución.
Regla empírica¶
Una de las ventajas del teorema de Chebyshev estriba en que se aplica a cualquier conjunto de datos sin importar su forma de distribución. De hecho, podría usarse con cualquiera de las distribuciones. Sin embargo, en muchas aplicaciones prácticas los conjuntos de datos exhiben una distribución simétrica con forma de pila o de campana. Cuando se piensa que los datos se aproximan a esta distribución, la regla empírica se usa para determinar el porcentaje de valores de datos que deben estar dentro de un número específico de desviaciones estándar de la media.
import numpy as np
import matplotlib.pyplot as plt
# Generar datos ficticios con una distribución normal
np.random.seed(42)
datos = np.random.normal(loc=0, scale=1, size=1000)
# Crear histograma con color de fondo personalizado
fig, ax = plt.subplots()
n, bins, patches = ax.hist(datos, bins=30, density=True, color="#5CCB5F", edgecolor="black", alpha=0.7)
# Ajustar la curva de campana (distribución normal)
from scipy.stats import norm
media, desviacion_estandar = np.mean(datos), np.std(datos)
x = np.linspace(min(bins), max(bins), 100)
y = norm.pdf(x, media, desviacion_estandar)
ax.plot(x, y, 'k--', linewidth=2)
# Configurar el color de fondo
fig.patch.set_facecolor('#D4F8B7')
# Configurar etiquetas y título
ax.set_title("Distribución Normal (Campana de Gauss)", fontsize=16, color="#5CCB5F")
ax.set_xlabel("Datos")
ax.set_ylabel("Densidad de Probabilidad")
# Mostrar el gráfico
plt.show()
Ejemplo
Los envases de detergente líquido se llenan automáticamente en una línea de producción. Los pesos de llenado suelen tener una distribución en forma de campana. Si el peso medio de llenado es de 16 onzas y la desviación estándar de 0.25 onzas, se utiliza la regla em- pírica para formular las conclusiones siguientes. tro de dos desviaciones estándar de la media).
- Aproximadamente 68% de los envases llenos pesará entre 15.75 y 16.25 onzas (dentro de una desviación estándar de la media).
- Aproximadamente 95% de los envases llenos pesará entre 15.50 y 16.50 onzas (den-
- Casi todos los envases llenos pesarán entre 15.25 y 16.75 onzas (dentro de tres desvia- ciones estándar de la media).
Detección de observaciones atípicas¶
Un conjunto de datos a veces tiene una o más observaciones con valores inusualmente grandes o sumamente pequeños. Estos valores extremos se llaman observaciones atípicas. Los expertos en estadística experimentados emprenden acciones para identificar observaciones atípicas y luego revisan cada una con detalle. Una observación atípica suele ser un valor de datos que se registró incorrectamente; si esto ocurre, el error se corrige antes de un análisis posterior. También puede ser una observación que se introdujo de forma incorrecta en el conjunto de datos; si este es el caso, se elimina.
Por último, puede consistir en un valor de datos inusual que se registró correctamente y pertenece al conjunto de datos. En tal caso, debe conservarse. Los valores estandarizados (puntuaciones z), se utilizan para identificar observaciones atípicas. Recuerde que la regla empírica permite concluir que cuando los datos tienen una dis- tribución en forma de campana, casi todos los valores de datos están dentro de tres desviaciones estándar de la media. Por tanto, al usar puntuaciones z para identificar observaciones extremas, se recomienda tomar en cuenta como una observación atípica cualquier valor de datos con una puntuación z menor que -3 o mayor que +3. La exactitud de estos valores debe verificarse y determinar si pertenecen al conjunto de datos.
Ejemplo
import numpy as np
import matplotlib.pyplot as plt
# Generar datos ficticios con algunos valores atípicos
np.random.seed(42)
datos = np.concatenate([np.random.normal(0, 1, 50), np.random.normal(10, 1, 5)])
# Crear un gráfico de caja
fig, ax = plt.subplots()
ax.boxplot(datos, vert=False, widths=0.7, patch_artist=True, medianprops={'color': 'red'})
# Configurar el color de fondo
fig.patch.set_facecolor('#D4F8B7')
# Configurar etiquetas y título
ax.set_title("Gráfico de Caja con Observaciones Atípicas", fontsize=16, color="#5CCB5F")
ax.set_xlabel("Datos")
# Mostrar el gráfico
plt.show()
En este ejemplo, observamos un conjunto de datos con 50 valores normales distribuidos alrededor de 0 y 5 valores atípicos distribuidos alrededor de 10.
3.4 Análisis exploratorio de datos¶
En el capítulo 2 se introdujo el diagrama de tallo y hoja como una técnica de análisis exploratorio de datos. Recuerde que dicho análisis permite usar operaciones aritméticas simples y representaciones gráficas fáciles de dibujar para resumir los datos. En esta sección continúa el análisis exploratorio de datos considerando resúmenes de cinco números y diagramas de caja.
Resumen de cinco números¶
En un resumen de cinco números, los cinco siguientes se usan para resumir los datos.
- Valor menor
- Primer cuartil $(Q_1)$
- Mediana $(Q_2)$
- Tercer cuartil $(Q_3)$
- Valor mayor
Ejemplo
La mediana de 3 505 y los cuartiles Q1 = 3 465 y Q3 = 3 600 se calcularon en la sección 3.1. Al revisar los datos se observa un valor menor de 3 310 y un valor mayor de 3 925. Por tanto, el resumen de cinco números para los datos de los sueldos iniciales es 3 310, 3 465, 3 505, 3 600 y 3 925. Entre los números adyacentes de un resumen de cinco números se encuentra aproximadamente un cuarto, o 25%, de las observaciones.
Diagrama de caja¶
Un diagrama de caja es un resumen gráfico de los datos basado en un resumen de cinco nú- meros. La clave para elaborar de un diagrama de caja es el cálculo de la mediana y los cuartiles $Q_1$ y $Q_3$. El rango intercuartílico $RIC = Q_3 - Q_1$.
Los pasos que se siguen para elaborarlo se presentan a continuación.
- Se traza una caja con sus extremos ubicados en el primer y tercer cuartiles.
- Se traza una línea vertical en el cuadro donde se ubica la mediana.
- Al usar el rango intercuartílico, se localizan los límites.
- Usando las líneas punteadas se trazan desde los extremos de la caja hasta los valores menor y mayor dentro de los límites calculados en el paso 3.
- Por último, la ubicación de cada observación atípica se señala con un asterisco.
Ejemplo
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
# Generar datos ficticios con algunos valores atípicos
np.random.seed(42)
datos = np.concatenate([np.random.normal(0, 1, 50), np.random.normal(10, 1, 5)])
# Crear un diagrama de caja con Seaborn
sns.set(style="whitegrid")
fig, ax = plt.subplots(figsize=(8, 6))
# Configurar el color de fondo
fig.patch.set_facecolor('#D4F8B7')
# Crear el diagrama de caja
sns.boxplot(x=datos, color="#5CCB5F", width=0.5)
# Agregar puntos atípicos
sns.stripplot(x=datos, color="red", size=8, jitter=0.3)
# Configurar etiquetas y título
ax.set_title("Diagrama de Caja con Observaciones Atípicas", fontsize=16, color="#5CCB5F")
ax.set_xlabel("Datos")
# Mostrar el gráfico
plt.show()
En este ejemplo, utilizando Seaborn para crear un diagrama de caja (boxplot) y agregando puntos atípicos (stripplot) en rojo.
3.5 Medidas de asociación entre dos variables¶
Hasta ahora hemos examinado los métodos numéricos que resumen los datos de una variable a la vez. Un gerente o quien toma decisiones se interesa con frecuencia en la relación entre dos variables. En esta sección se presentan la covarianza y la correlación como medidas descriptivas de la relación entre dos variables.
Covarianza¶
Covarianza Muestral
La covarianza muestral es una medida estadística que evalúa la relación lineal entre dos variables aleatorias en una muestra de datos. Proporciona información sobre la dirección de la relación (positiva o negativa). En el contexto de la estadística, la covarianza es un indicador de cómo cambian dos variables juntas.
La fórmula de la covarianza muestral $$s_{xy}$$ entre dos variables X e Y en una muestra de datos es:
$$s_{xy} = \frac{\sum_{i=1}^{n} (x_i - \bar{X})(y_i - \bar{Y})}{n-1}$$
donde:
- n es el tamaño de la muestra
- $$x_i \text{ y } y_i$$ son los valores individuales de las dos variables en la muestra
- $$\bar{X} \text{ y } \bar{Y}$$ son las medias muestrales de las dos variables, respectivamente
La covarianza toma valores positivos cuando las variables tienden a aumentar o disminuir juntas, negativos cuando una variable tiende a aumentar mientras que la otra disminuye, y cercanos a cero cuando no hay una clara relación lineal entre las variables.
Es importante destacar que la covarianza muestral puede ser afectada por la escala de las variables, lo cual puede dificultar su interpretación. Por esta razón, se utiliza a menudo el coeficiente de correlación, que es la covarianza normalizada, para proporcionar una medida más estandarizada de la relación entre dos variables.
Ejemplo
Covarianza Muestral en Bolivia
En el contexto de un estudio sobre diferentes regiones de Bolivia, hemos recopiladolos siguientes datos sobre el ingreso per cápita (en dólares) y la tasa de alfabetización (en porcentaje) en cinco regiones diferentes. Queremos entender cómo estas dos variables se relacionan entre sí.
import numpy as np
import matplotlib.pyplot as plt
from tabulate import tabulate
# Datos ficticios
ingreso_per_capita = np.array([5000, 6000, 4500, 7000, 5500])
tasa_alfabetizacion = np.array([85, 88, 78, 92, 80])
# Calcular las medias muestrales
media_ingreso = np.mean(ingreso_per_capita)
media_alfabetizacion = np.mean(tasa_alfabetizacion)
# Calcular la covarianza muestral
covarianza_muestral = np.cov(ingreso_per_capita, tasa_alfabetizacion, ddof=1)[0, 1]
# Crear la tabla con colores
tabla_info = [
["", "Media", "Covarianza Muestral"],
["Ingreso Per Cápita", f"{media_ingreso:.2f}", ""],
["Tasa de Alfabetización", f"{media_alfabetizacion:.2f}", f"{covarianza_muestral:.2f}"]
]
# Mostrar la tabla en la consola con colores
print(tabulate(tabla_info, headers="firstrow", tablefmt="fancy_grid", colalign=("center", "center", "center")))
# Graficar los datos con el color de fondo #D4F8B7
fig, ax = plt.subplots()
ax.scatter(ingreso_per_capita, tasa_alfabetizacion, color='#5CCB5F', edgecolor="black")
ax.set_xlabel('Ingreso Per Cápita')
ax.set_ylabel('Tasa de Alfabetización')
ax.axhline(y=media_alfabetizacion, color='red', linestyle='dashed', linewidth=2, label=f'Media Alfabetización: {media_alfabetizacion:.2f}')
ax.axvline(x=media_ingreso, color='blue', linestyle='dashed', linewidth=2, label=f'Media Ingreso: {media_ingreso:.2f}')
ax.legend()
ax.set_facecolor('#D4F8B7')
fig.patch.set_facecolor('#D4F8B7')
plt.suptitle("Dispersión entre Ingreso Per Cápita y Tasa de Alfabetización", fontsize=16, color="#5CCB5F")
plt.show()
╒════════════════════════╤═════════╤═══════════════════════╕ │ │ Media │ Covarianza Muestral │ ╞════════════════════════╪═════════╪═══════════════════════╡ │ Ingreso Per Cápita │ 5600 │ │ ├────────────────────────┼─────────┼───────────────────────┤ │ Tasa de Alfabetización │ 84.6 │ 4800.00 │ ╘════════════════════════╧═════════╧═══════════════════════╛
Covarianza Poblacional
La covarianza poblacional es una medida estadística que evalúa la relación lineal entre dos variables en una población completa. A diferencia de la covarianza muestral, que utiliza datos de una muestra específica, la covarianza poblacional considera todos los individuos en la población. Esta medida proporciona información valiosa sobre la dirección y fuerza de la relación entre dos variables aleatorias.
La fórmula de covarianza poblacional $$σ_{xy}$$ entre dos variables X e Y en una población se expresa como:
$$σ_{xy} = \frac{\sum_{i=1}^{N} (x_i - μ_x)(y_i - μ_y)}{N}$$
donde:
- N es el tamaño total de la población
- $$x_i \text{ y } y_i$$ son los valores individuales de las dos variables de la población
- $$μ_x \text{ y } μ_y$$ son las medias poblacionales de las dos variables
La covarianza poblacional toma valores positivos cuando las variables tienden a aumentar o disminuir juntas, valores negativos cuando una variable tiende a aumentar mientras que la otra disminuye, y cerca de cero cuando no hay una clara relación lineal entre las variables.
Es importante tener en cuenta que la covarianza poblacional puede ser utilizada para calcular el coeficiente de correlación poblacional, que normaliza la covarianza y proporciona una medida estandarizada de la fuerza y dirección de la relación entre dos variables en toda la población.
Ejemplo
Supongamos que estamos interesados en estudiar la relación entre la cantidad de horas de estudio semanal (variable X) y el rendimiento académico en un examen (variable Y) en una población de estudiantes universitarios. A continuación, un ejemplo para ilustrar la covarianza poblacional:
Horas de estudio semanal (en horas) horas_estudio = [10, 12, 8, 15, 11]
Rendimiento académico en el examen (en porcentaje) rendimiento_examen = [75, 80, 65, 90, 78]
Primero, calculamos las medias poblacionales $$μ_x = \frac{\sum_{i=1}^{N} (x_i)}{N}$$ $$μ_y = \frac{\sum_{i=1}^{N} (y_i)}{N}$$
Supongamos que N=5 en este caso.
import numpy as np
import matplotlib.pyplot as plt
# Datos ficticios
horas_estudio = np.array([10, 12, 8, 15, 11])
rendimiento_examen = np.array([75, 80, 65, 90, 78])
# Calcular las medias poblacionales
media_horas_estudio = np.mean(horas_estudio)
media_rendimiento_examen = np.mean(rendimiento_examen)
# Calcular la covarianza poblacional
covarianza_poblacional = np.cov(horas_estudio, rendimiento_examen)[0, 1]
# Crear un scatter plot
plt.figure(figsize=(8, 6))
plt.scatter(horas_estudio, rendimiento_examen, color='blue', label='Datos')
# Línea que indica la dirección de la relación
plt.plot([media_horas_estudio, media_horas_estudio], [media_rendimiento_examen, media_rendimiento_examen + covarianza_poblacional], color='red', linestyle='--', linewidth=2, label='Dirección de la relación')
# Etiquetas y título
plt.xlabel('Horas de Estudio Semanal')
plt.ylabel('Rendimiento en el Examen (%)')
plt.title("Relación entre Horas de Estudio y Rendimiento en el Examen", fontsize=16, color="#5CCB5F")
# Establecer el color de fondo
plt.gca().set_facecolor('#D4F8B7')
# Mostrar la leyenda
plt.legend()
# Mostrar el gráfico
plt.show()
Coeficiente de correlación¶
Es relativamente frecuente que haya cierta confusión en relación a lo que estudia un análisis de regresión y un análisis de correlación. Sin embargo, ambos análisis ofrecen información complementaria. El Análisis de Regresión estudia la forma en que ambas variables aleatorias están relacionadas, mientras que el Análisis de Correlación investiga la fuerza de dicha relación. En esta entrada vamos a conocer cómo se calcula el coeficiente de correlación en R, coeficiente que nos va a medir la fuerza y la dirección de la relación entre las dos variables.
Curiosamente, la abreviatura del coeficiente de correlación es una r minúscula. De forma predeterminada, R nos va a calcular el coeficiente de correlación de Pearson. Este tema sobre las regresiones y correlaciones no es nuevo en Viva el Software Libre, como lo atestiguan estes tema sobre intervalos de predicción, este otro sobre intervalos de confianza.
Para los datos muestrales, el coeficiente de correlación del producto-momento de Pearson se define como se indica a continuación.
- $s_{xy}$ = covarianza muestral
- $s_x$ = desviación estándar muestral de x
- $s_y$ = desviación estándar muestral de y
- $ \sigma_{xy}$ = covarianza poblacional
- $ \sigma_x$ = desviación estándar poblacional de x
- $ \sigma_y$ = desviación estándar poblacional de y
Ejemplo
import numpy as np
import matplotlib.pyplot as plt
# Datos
np.random.seed(42)
x = np.random.rand(100) * 10 # Variable independiente
y = 2 * x + 1 + np.random.randn(100) * 2 # Variable dependiente con ruido
# Calcular el coeficiente de correlación (Pearson)
coef_corr = np.corrcoef(x, y)[0, 1]
# Crear un gráfico de dispersión
plt.scatter(x, y, color="#5CCB5F", label=f"Coeficiente de Correlación: {coef_corr:.2f}")
# Configurar el color de fondo
plt.gcf().patch.set_facecolor('#D4F8B7')
# Configurar etiquetas y título
plt.title("Gráfico de Dispersión con Coeficiente de Correlación", fontsize=16, color="#5CCB5F")
plt.xlabel("Variable Independiente")
plt.ylabel("Variable Dependiente")
plt.legend()
# Mostrar el gráfico
plt.show()
En este ejemplo, existen dos conjuntos de datos relacionados linealmente. El coeficiente de correlación de Pearson se calcula utilizando np.corrcoef, y luego se visualiza el gráfico de dispersión de los datos con el coeficiente de correlación en la leyenda. Este es un ejemplo positivo de correlación, ya que el coeficiente debería estar cerca de 1 debido a la relación lineal entre x e y.
3.6 Media ponderada y trabajo con datos agrupados¶
En la sección 3.1 se presentó la media como una de las medidas más importantes de ubicación central. La fórmula para la media de una muestra con n observaciones se vuelve a establecer como sigue.
En esta fórmula, cada $x_i$ recibe igual importancia o peso. Aunque esta práctica es la más común, en algunos casos la media se calcula confiriendo a cada observación un peso que refleje su importancia. Una media calculada de esta manera se conoce como media ponderada.
Media ponderada¶
La media ponderada se calcula como sigue.
- $w_i$ = peso de la observación $i$
Ejemplo
Compra de materia prima
Compra | Costo(Bs) | Numero de Libras |
---|---|---|
1 | 3.00 | 1200 |
2 | 3.40 | 500 |
3 | 2.80 | 2750 |
4 | 2.90 | 1000 |
5 | 3.25 | 800 |
Calcular la media muestral de la venta de las casas usadas y la media muestral de las casas nuevas
$$ \bar{x} = \frac{1 200(3.00) + 500(3.40) + 2 750(2.80) + 1 000(2.90) + 800(3.25)}{1 200 + 500 + 2 750 + 1 000 + 800} $$
$$ \bar{x} = \frac{18500}{6250} $$
$$ \bar{x} = 2.96 $$
Por tanto, el cálculo de la media ponderada indica que el costo medio por libra para la materia prima es $2.96(Bs)$.
Datos agrupados¶
En la mayoría de los casos, las medidas de posición y variabilidad se calculan con valores de datos individuales. No obstante, los datos en ocasiones están disponibles sólo en forma agrupada o en forma de distribución de frecuencia. En el análisis siguiente se explica cómo usar la fórmula de la media ponderada para obtener aproximaciones de la media, la varianza y la desviación estándar para datos agrupados.
Media Muestral para Datos Agrupados¶
La media muestral para datos agrupados es una medida estadística que proporciona una estimación de la tendencia central de un conjunto de datos que ha sido organizado en intervalos o clases. Esta medida se denota comúnmente por $\bar{x}$ y se calcula teniendo en cuenta la frecuencia de cada intervalo.
La fórmula general para calcular la media muestral para datos agrupados es:
$$ \bar{x} = \frac{\sum_{i=1}^{k} f_i \cdot m_i}{N} $$
Donde:
- $\bar{x}$ representa la media muestral.
- $k$ es el número de intervalos o clases.
- $f_i$ es la frecuencia del i-ésimo intervalo.
- $m_i$ es la marca de clase del i-ésimo intervalo (el punto medio del intervalo).
- $N$ es el tamaño total de la muestra (la suma de todas las frecuencias).
El cálculo implica multiplicar cada marca de clase por su frecuencia correspondiente, sumar estos productos y luego dividir por el tamaño total de la muestra. Esta fórmula proporciona una estimación de la media de la población basada en la información agrupada en intervalos.
Es esencial tener en cuenta que, al trabajar con datos agrupados, la media muestral proporciona una medida de la tendencia central del conjunto de datos, pero pierde detalle sobre las observaciones individuales dentro de cada intervalo. Es una herramienta útil para resumir datos agrupados de manera más compacta.
Ejercicios
Tenemos los siguientes datos agrupados en intervalos para el número de ventas mensuales en la tienda de MANACO de las ventas de cada empleado:
Intervalo de Ventas | Frecuencia |
---|---|
10 - 20 | 5 |
20 - 30 | 12 |
30 - 40 | 8 |
40 - 50 | 15 |
50 - 60 | 10 |
Paso 1: Calcular la Marca de Clase $m_i$
La marca de clase $m_i$ se encuentra tomando el punto medio de cada intervalo. Para el primer intervalo, por ejemplo, sería (10 + 20) / 2 = 15. Haces esto para cada intervalo.
Paso 2: Calcular $f_i \cdot m_i$ para cada intervalo:
Multiplicas la frecuencia $f_i$ por la marca de clase $m_i$ para cada intervalo.
Paso 3: Sumar $f_i \cdot m_i$ para todos los intervalos:
Sumas los productos obtenidos en el paso anterior.
Intervalo de Ventas | Frecuencia | Marca de Clase fi | fi * mi |
---|---|---|---|
10 - 20 | 5 | 15 | 75 |
20 - 30 | 12 | 25 | 300 |
30 - 40 | 8 | 35 | 280 |
40 - 50 | 15 | 45 | 675 |
50 - 60 | 10 | 55 | 550 |
Paso 4: Calcular la Media Muestral $\bar{x}$:
Utilizas la fórmula de la media muestral:
$$ \bar{x} = \frac{\sum_{i=1}^{k} f_i \cdot m_i}{N} $$
Paso 5: Suma de $f_i \cdot m_i$:
$75 + 300 + 280 + 675 + 550 = 1880$
Paso 6: Número total de observaciones $N$:
$5 + 12 + 8 + 15 + 10 = 50$
Paso 7: Media Muestral $\bar{x}$:
$\frac{1880}{50} = 37.6$
Gráfico
import matplotlib.pyplot as plt
# Datos
intervalos = ['10-20', '20-30', '30-40', '40-50', '50-60']
frecuencias = [5, 12, 8, 15, 10]
marcas_de_clase = [15, 25, 35, 45, 55]
# Calcular la media muestral
suma_fi_mi = sum([f * m for f, m in zip(frecuencias, marcas_de_clase)])
suma_fi = sum(frecuencias)
media_muestral = suma_fi_mi / suma_fi
# Configurar colores
color_fondo = '#D4F8B7'
color_barras = '#8CC084'
color_media = 'red'
# Crear el gráfico de barras con personalizaciones
fig, ax = plt.subplots()
bars = ax.bar(marcas_de_clase, frecuencias, width=8, align='center', alpha=0.7, color=color_barras, label='Frecuencia')
ax.scatter(media_muestral, max(frecuencias), color=color_media, marker='x', s=100, label='Media Muestral')
# Establecer el fondo de color
fig.patch.set_facecolor(color_fondo)
ax.set_facecolor(color_fondo)
# Etiquetas y título
ax.set_xlabel('Marca de Clase')
ax.set_ylabel('Frecuencia')
ax.set_title('Histograma con Media Muestral')
ax.legend()
# Mostrar la media muestral en la consola
print(f'Media Muestral: {media_muestral}')
# Mostrar el gráfico
plt.show()
Media Muestral: 37.6
Varianza Muestral para Datos Agrupados¶
La varianza muestral para datos agrupados es una medida estadística que proporciona una estimación de la variabilidad o dispersión de un conjunto de datos agrupados alrededor de la media muestral. La fórmula para calcular la varianza muestral en el caso de datos agrupados se deriva teniendo en cuenta la estructura de intervalos o clases en los que se agrupan los datos.
La fórmula general para la varianza muestral de datos agrupados es:
$s^2 = \frac{\sum_{i=1}^{k} f_i \cdot (m_i - \bar{x})^2}{N - 1}$
Donde:
- $k$ es el número de intervalos o clases.
- $f_i$ es la frecuencia del i-ésimo intervalo.
- $m_i$ es la marca de clase del i-ésimo intervalo (el punto medio del intervalo).
- $\bar{x}$ es la media muestral.
- $N$ es el tamaño total de la muestra (la suma de todas las frecuencias).
Ejercicios
Supongamos que ahora estamos analizando la cantidad de gasto mensual en alimentación de familias en diferentes ciudades de Bolivia. Hemos recopilado los siguientes datos agrupados en intervalos de 200 bolivianos:
Intervalo de Gasto Mensual (en bolivianos) | Frecuencia |
---|---|
0-200 | 10 |
200-400 | 15 |
400-600 | 20 |
600-800 | 12 |
800-1000 | 8 |
Supongamos que la media muestral del gasto mensual ($\bar{x}$) es de 500 bolivianos.
Paso 1: Calcular la clase $m_i$:
La marca de clase se calcula como el punto medio de cada intervalo. Por ejemplo, para el primer intervalo (0-200):
$ m_1 = \frac{0 + 200}{2} = 100 $
Realizamos este cálculo para todos los intervalos.
Paso 2: Calcular $\bar{x}$:
Dado que ya se proporciona la media muestral: $\bar{x} = 500$
Paso 3: Calcular $ (m_i - \bar{x})^2 $ para cada intervalo:
$(m_1 - \bar{x})^2 = (100 - 500)^2 = 400^2 = 160000 $
Paso 4: Multiplicar $ (m_i - \bar{x})^2 $ por la frecuencia $f_i$ para cada intervalo :
$ f_1 \cdot (m_1 - \bar{x})^2 = 10 \cdot 160000 = 1600000 $
Intervalo | Frecuencia | Marca de Clase (\(m_i\)) | \((m_i - \bar{x})^2\) | \(f_i \cdot (m_i - \bar{x})^2\) |
---|---|---|---|---|
0-200 | 10 | 100 | 86553.71 | 865537.1 |
200-400 | 15 | 300 | 7949.97 | 119249.55 |
400-600 | 20 | 500 | 12184.67 | 243693.4 |
600-800 | 12 | 700 | 102352.51 | 1228230.12 |
800-1000 | 8 | 900 | 160546.81 | 1284374.48 |
Paso 5: Sumar $(m_i - \bar{x})^2$ * $f_i$ para todos los intervalos donde $k$ es igual a 5:
$\sum_{i=1}^{k} f_i \cdot (m_i - \bar{x})^2 = \sum_{i=1}^{5} f_i \cdot (m_i - \bar{x})^2$
$ \sum_{i=1}^{5} f_i \cdot (m_i - \bar{x})^2 \approx 865537.1 + 119249.55 + 243693.4 + 1228230.12 + 1284374.48 \approx 3030084.65 $
Paso 6: Calcular la varianza muestral:
$ s^2 = \frac{\sum_{i=1}^{5} f_i \cdot (m_i - \bar{x})^2}{N - 1} = \frac{3030084.65}{65 - 1} \approx \frac{3030084.65}{64} \approx 47376.64 $
La conclusión sobre la varianza muestral obtenida de los datos agrupados en intervalos de gasto mensual en alimentación para familias en diferentes ciudades de Bolivia es que existe una variabilidad considerable en los gastos mensuales entre las familias. La varianza, que mide la dispersión de los datos respecto a la media muestral, es de aproximadamente 47376.64 47376.64 bolivianos al cuadrado.
Este valor indica cuánto se alejan, en promedio, los gastos mensuales de cada intervalo del gasto medio muestral. Cuanto mayor sea la varianza, mayor será la dispersión de los datos. En este caso, la varianza sugiere que hay una variabilidad considerable en los gastos mensuales entre las familias de las diferentes ciudades.
from IPython.display import YouTubeVideo
youtube_video = YouTubeVideo('v8fjSz6PMyk')
display(youtube_video)
Media Poblacional para datos agrupados¶
La media poblacional para datos agrupados es una medida estadística que representa el valor típico o promedio de una característica en una población cuando los datos se presentan en forma de intervalos o clases. Se calcula utilizando la fórmula:
- $\mu$ representa la media poblacional.
- $k$ es el número de intervalos o clases.
- $f_i$ es la frecuencia del i-ésimo intervalo.
- $M_i$ es la marca de clase del i-ésimo intervalo (el punto medio del intervalo).
- $N$ es el tamaño total de la poblacion.
La media muestral para datos agrupados es una estimación de la media poblacional basada en una muestra de la población. Tanto la media poblacional como la media muestral para datos agrupados buscan representar la tendencia central de los datos cuando se presentan en intervalos. La diferencia principal radica en que la media poblacional considera la población completa, mientras que la media muestral se basa en una muestra de la población. Ambas son herramientas importantes en estadística descriptiva y son útiles para entender la distribución de datos agrupados.
Varianza Poblacional para datos agrupados¶
La varianza poblacional para datos agrupados es una medida estadística que cuantifica la dispersión o variabilidad de una característica en una población cuando los datos están agrupados en intervalos o clases. Se calcula utilizando la fórmula:
- $k$ es el número de intervalos o clases.
- $f_i$ es la frecuencia del i-ésimo intervalo.
- $M_i$ es la marca de clase del i-ésimo intervalo (el punto medio del intervalo).
- $\mu$ es la media poblacional.
- $N$ es el tamaño total de la muestra.
La varianza muestral para datos agrupados es una estimación de la varianza poblacional basada en una muestra de la población. Utiliza una fórmula similar, pero con las frecuencias relativas de la muestra. La varianza poblacional para datos agrupados mide la dispersión en una población completa, mientras que la varianza muestral para datos agrupados estima esta dispersión basándose en una muestra. Ambas proporcionan información sobre la variabilidad de una característica en datos agrupados.