Fundación Universitaria Compensar
Análisis Estadístico de la Información
Sesión 3 · 2 horas

Lo típico y lo variable

Medidas de tendencia central y de dispersión con pandas, y cómo elegirlas según la variable y su forma
Media y medianaModa y clase modalDesviación estándarCuartiles y cajasRobustez
Ningún centro sin su dispersión.
Javier Mauricio Sierra
Fundación Universitaria Compensar
Análisis Estadístico de la Información
Sesión 3 · Lo típico y lo variable

Apertura
El centro
La dispersión
Práctica y cierre
Hoja de ruta

Lo que vamos a construir hoy

Objetivo de la sesión
Calcular e interpretar las medidas de tendencia central y de dispersión de una variable, elegir la que corresponde a su tipo y a su forma, y reconocer cuáles se mueven con unos pocos datos extremos.
Media y medianaModa y clase modalDesviación estándarCuartiles y cajasRobustez
2 / 39
Fundación Universitaria Compensar
Análisis Estadístico de la Información
Sesión 3 · Lo típico y lo variable

Apertura
El centro
La dispersión
Práctica y cierre
01

Apertura

¿Cuánto tarda un pedido típico, y qué tan variable es?

3 / 39
Apertura

Dos horas en cinco momentos

1Apertura15 min: coevaluación y diagnóstico
→
2El centro25 min: media, mediana y moda
→
3La dispersión30 min: desviación, cuartiles y cajas
→
4Práctica guiada35 min en Colab
→
5Cierre10 min

Hoy respondemos la primera pregunta de la gerencia: cuánto tarda un pedido típico y qué tan variable es.

Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar4 / 39
Apertura

Otra persona del curso revisa tus tres frases con tres criterios

1Intercambiaen parejas, comparte tus tres frases sobre el tiempo de entrega
→
2Revisalas de la otra persona, con los tres criterios · 5 min
→
3Devuelveuna sugerencia concreta por frase · 2 min
CriterioPregunta
Exactitud¿Lo que dice la frase se ve en la tabla o en el histograma?
Precisión¿Da una cifra y dice sobre qué total se calculó?
Claridad¿La entendería alguien de la gerencia que no sabe estadística?
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar5 / 39
Diagnóstico · 2 y 3

Dos preguntas del diagnóstico se responden hoy con datos

  1. Cinco pedidos tardan 20, 22, 25, 27 y 150 min. ¿Qué describe mejor el tiempo típico: la media (48,8 min) o la mediana (25 min)?
  2. Dos ciudades con media de 35 min: en A, la desviación es de 4 min; en B, de 15. ¿Qué cambia?
Respuesta

1, la mediana: el 150 arrastra la media. 2, en B los tiempos son menos predecibles: la media dice dónde está el centro; la desviación, cuánto se alejan de él los pedidos.

Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar6 / 39
Apertura

Para prometer una hora de llegada hacen falta dos números

Lo típico

Un número que represente a los 12 000 pedidos: las medidas de tendencia central, como la media, la mediana y la moda.

Lo variable

Cuánto se alejan los pedidos de ese número: las medidas de dispersión, como el rango, la desviación estándar y el rango intercuartílico.

Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar7 / 39
Fundación Universitaria Compensar
Análisis Estadístico de la Información
Sesión 3 · Lo típico y lo variable

Apertura
El centro
La dispersión
Práctica y cierre
02

El centro

Un número para representar a 12 000 pedidos: ¿cuál?

8 / 39
El centro

La media es el punto de equilibrio de los datos

$$ \begin{aligned} \bar{x} &= \frac{1}{n}\sum_{i=1}^{n} x_i && \text{media} \\[6pt] \sum_{i=1}^{n} \left(x_i - \bar{x}\right) &= 0 && \text{punto de equilibrio} \end{aligned} $$

Con los cinco tiempos del diagnóstico, \(\bar{x} = 48{,}8\): el pedido de 150 queda 101,2 min por encima, y los otros cuatro suman 101,2 min por debajo.

Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar9 / 39
El centro

La mediana deja la mitad de los pedidos a cada lado

Mediana

El valor del medio cuando los datos se ordenan de menor a mayor. Con un número par de datos, el promedio de los dos del medio.

  • Cinco tiempos ordenados: 20, 22, 25, 27, 150
  • No usa los valores, solo el orden: el 150 podría ser 300 y la mediana seguiría en 25
  • En una tabla de frecuencias, es donde el % acumulado llega al 50 %
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar10 / 39
El centro

En Tingua, la media es 35,1 min y la mediana, 33,7

[centro]
tiempo = pedidos["tiempo_entrega_min"]
print(f"Media:   {tiempo.mean():.1f} min")
print(f"Mediana: {tiempo.median():.1f} min")
#> Media:   35.1 min
#> Mediana: 33.7 min
  • mean() suma y divide; median() ordena y toma el del medio
  • La media queda 1,4 min por encima de la mediana
  • Python escribe el decimal con punto (35.1); en el texto va con coma (35,1)
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar11 / 39
El centro

En una continua, la moda es una clase, no un valor

[moda]
moda = tiempo.mode()[0]
print("Moda de los valores:", moda, "min,",
      "en", (tiempo == moda).sum(), "pedidos")
clases = pd.cut(tiempo, bins=range(0, 210, 5), right=False)
conteo = clases.value_counts(sort=False)
print("Clase modal:", conteo.idxmax(), "con", conteo.max(), "pedidos")
#> Moda de los valores: 31.3 min, en 73 pedidos
#> Clase modal: [30, 35) con 2619 pedidos
  • 31,3 min se repite en 73 pedidos, el 0,6 %: lo decide el azar del redondeo
  • La clase modal, \([30, 35)\), reúne 2619 pedidos: el 21,8 %
  • mode() sí sirve en una nominal o en una discreta con pocos valores
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar12 / 39
El centro

La cola a la derecha empuja la media por encima de la mediana

0 20 40 60 80 100 Minutos 0 500 1000 1500 2000 2500 Pedidos Tiempo de entrega, con su media y su mediana Pedidos Media: 35.1 min Mediana: 33.7 min
Tiempo de entrega con su media y su mediana (celda histograma_centro)
  • El pico está en \([30, 35)\): ahí cae la mediana
  • Los pedidos lentos de la cola tiran de la media hacia la derecha
  • Con una cola a la derecha, la media supera a la mediana
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar13 / 39
El centro

La media sigue a los extremos; la mediana, no

Cinco tiempos

Media 48,8 · mediana 25 min. Un solo pedido de 150 deja la media lejos de los otros cuatro.

El tiempo de Tingua

Media 35,1 · mediana 33,7 min. La cola apenas mueve la media: la diferencia es de 1,4 min.

El valor del pedido

Media 65 964 · mediana 58 000 pesos. Una cola larga, que llega a 1 751 600 pesos.

Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar14 / 39
Pregunta para la clase

Si el pedido de 150 minutos hubiera tardado 300, ¿qué les pasa a la media y a la mediana?

Respuesta

La media sube de 48,8 a 78,8 min; la mediana sigue en 25. La mediana solo usa el orden, y el pedido más lento sigue siendo el último.

[cinco]
cinco = pd.Series([20, 22, 25, 27, 150])
print("Media:", cinco.mean(), "· mediana:", cinco.median())
cinco[4] = 300
print("Media:", cinco.mean(), "· mediana:", cinco.median())
#> Media: 48.8 · mediana: 25.0
#> Media: 78.8 · mediana: 25.0
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar15 / 39
El centro

El tipo de variable decide qué centro tiene sentido

Tipo de variableCentroEn Tingua
NominalLa modaEl medio de pago más usado
OrdinalLa mediana (y la moda)La franja o la calificación mediana
Cuantitativa, simétricaLa media o la medianaLa temperatura en Medellín
Cuantitativa, con colaLa mediana, sin olvidar la mediaEl valor del pedido
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar16 / 39
El centro

La mediana de una ordinal tiene sentido, pero pandas no la calcula

[mediana_ordinal]
try:
    pedidos["franja"].median()
except TypeError as error:
    print("TypeError:", error)
#> TypeError: 'Categorical' with dtype category
#>   does not support reduction 'median'
  • En la sesión 1, mean() se negaba porque promediar una ordinal no tiene sentido
  • Aquí la mediana sí lo tiene, pero pandas no la implementa
  • Un error de la herramienta no es un error del concepto
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar17 / 39
El centro

La mediana de una ordinal se lee en la acumulada: la franja mediana es el almuerzo

[acumulada_franja]
franja = pedidos["franja"].value_counts(sort=False, normalize=True)
(franja.cumsum() * 100).round(1)
#> franja
#> Mañana       15.1
#> Almuerzo     51.1
#> Tarde        70.7
#> Noche       100.0
#> Name: proportion, dtype: float64
  • La acumulada llega al 50 % en el Almuerzo: es la primera que lo alcanza
  • El 51,1 % de los pedidos se hizo en el almuerzo o antes
  • En la práctica harás lo mismo con el estrato y la calificación
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar18 / 39
Idea clave

La media usa los valores; la mediana, solo el orden

Por eso la mediana resiste a los extremos y sirve para las ordinales; la media aprovecha toda la información cuando la forma lo permite.

Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar19 / 39
Fundación Universitaria Compensar
Análisis Estadístico de la Información
Sesión 3 · Lo típico y lo variable

Apertura
El centro
La dispersión
Práctica y cierre
03

La dispersión

El mismo centro puede esconder pedidos muy parecidos o muy distintos.

20 / 39
La dispersión

El rango solo mira los dos pedidos más extremos

[rango]
print("Mínimo:", tiempo.min(), "· máximo:", tiempo.max())
print(f"Rango: {tiempo.max() - tiempo.min():.1f} min")
#> Mínimo: 6.0 · máximo: 200.9
#> Rango: 194.9 min
  • \(\text{Rango} = \text{máximo} - \text{mínimo}\)
  • Depende de dos pedidos entre 12 000
  • Con los cinco tiempos del diagnóstico, el rango es de 130 min, y casi todo lo pone el 150
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar21 / 39
La dispersión

Las distancias a la media siempre suman cero

Tiempo20222527150
Distancia a la media\(-28{,}8\)\(-26{,}8\)\(-23{,}8\)\(-21{,}8\)\(+101{,}2\)

Su promedio no sirve: siempre da cero. Por eso se elevan al cuadrado antes de promediar: el cuadrado las vuelve positivas y pesa más las grandes.

Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar22 / 39
La dispersión

La varianza promedia los cuadrados; la desviación vuelve a minutos

$$ \begin{aligned} \sigma^2 &= \frac{1}{N}\sum_{i=1}^{N} \left(x_i - \mu\right)^2 && \text{población: divide entre } N \\[6pt] s^2 &= \frac{1}{n-1}\sum_{i=1}^{n} \left(x_i - \bar{x}\right)^2 && \text{muestra: divide entre } n - 1 \end{aligned} $$

La desviación estándar es la raíz: \(\sigma = \sqrt{\sigma^2}\) y \(s = \sqrt{s^2}\), otra vez en minutos.

Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar23 / 39
La dispersión

Con 12 000 pedidos, dividir entre N o entre n − 1 casi no cambia nada

[desviacion]
print(f"Varianza:       {tiempo.var():.1f} min²")
print(f"s, entre n - 1: {tiempo.std():.3f} min")
print(f"σ, entre N:     {tiempo.std(ddof=0):.3f} min")
#> Varianza:       160.2 min²
#> s, entre n - 1: 12.658 min
#> σ, entre N:     12.657 min
  • La varianza está en minutos al cuadrado: no se lee
  • std() divide entre \(n - 1\); con ddof=0, entre \(N\)
  • Si la pregunta es sobre el semestre, los 12 000 pedidos son la población; aun así, la diferencia no se nota
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar24 / 39
Pregunta para la clase

pandas y numpy no dan la misma desviación para cinco tiempos: ¿cuál se equivocó?

Con los cinco tiempos del diagnóstico, pandas da 56,64 min y numpy, 50,66 min.

Respuesta

Ninguno. pandas divide entre \(n - 1\) y numpy, entre \(n\): ddof dice cuánto se le resta a \(n\). Con 5 datos la diferencia es grande; con 12 000, desaparece.

[ddof]
cinco = [20, 22, 25, 27, 150]
print(f"pandas: {pd.Series(cinco).std():.2f}")
print(f"numpy:  {np.std(cinco):.2f}")
print(f"pandas con ddof=0: {pd.Series(cinco).std(ddof=0):.2f}")
#> pandas: 56.64
#> numpy:  50.66
#> pandas con ddof=0: 50.66
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar25 / 39
La dispersión

El 81,7 % de los pedidos está a menos de una desviación de la media

[dentro]
media, s = tiempo.mean(), tiempo.std()
cerca = tiempo.between(media - s, media + s)
print(f"De {media - s:.1f} a {media + s:.1f} min:",
      f"{cerca.mean() * 100:.1f} % de los pedidos")
#> De 22.5 a 47.8 min: 81.7 % de los pedidos
  • Una desviación de 12,7 min alrededor de 35,1: de 22,5 a 47,8 min
  • between marca cada pedido con True o False
  • La media de True y False es la proporción de True
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar26 / 39
La dispersión

Los cuartiles parten los pedidos en cuatro partes iguales

[cuartiles]
q1 = tiempo.quantile(0.25)
q3 = tiempo.quantile(0.75)
print(f"Q1 = {q1:.1f} · Q3 = {q3:.1f} · RIC = {q3 - q1:.1f} min")
tiempo.describe().round(1)
#> Q1 = 27.9 · Q3 = 40.4 · RIC = 12.5 min
#> count    12000.0
#> mean        35.1
#> std         12.7
#> min          6.0
#> 25%         27.9
#> 50%         33.7
#> 75%         40.4
#> max        200.9
#> Name: tiempo_entrega_min, dtype: float64
  • \(Q_1\) deja debajo el 25 %; \(Q_2\), la mediana, el 50 %, y \(Q_3\), el 75 %
  • \(\text{RIC} = Q_3 - Q_1\): la mitad central de los pedidos tarda de 27,9 a 40,4 min
  • Mínimo, \(Q_1\), mediana, \(Q_3\) y máximo: el resumen de cinco números
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar27 / 39
La dispersión

El diagrama de caja dibuja los cuartiles de cada ciudad y aparta los pedidos lejanos

Bucaramanga Barranquilla Cali Medellín Bogotá 0 25 50 75 100 125 150 175 200 Minutos Tiempo de entrega por ciudad
Tiempo de entrega por ciudad (celda cajas)
  • La caja va de \(Q_1\) a \(Q_3\); la línea es la mediana
  • Los bigotes llegan hasta el pedido más lejano que está a no más de 1,5 RIC de la caja
  • Los puntos: candidatos a atípicos, el tema de la sesión 4
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar28 / 39
La dispersión

Sin el 0,5 % más lento, la desviación cae un 23 % y la mediana no se mueve

[robustez]
corte = tiempo.quantile(0.995)
sin_cola = tiempo[tiempo <= corte]
print(f"Salen {len(tiempo) - len(sin_cola)} pedidos,",
      f"de más de {corte:.1f} min")
print(f"Media:      {tiempo.mean():.1f} → {sin_cola.mean():.1f}")
print(f"Desviación: {tiempo.std():.1f} → {sin_cola.std():.1f}")
print(f"Mediana:    {tiempo.median():.1f} → {sin_cola.median():.1f}")
#> Salen 60 pedidos, de más de 94.1 min
#> Media:      35.1 → 34.6
#> Desviación: 12.7 → 9.7
#> Mediana:    33.7 → 33.7
  • 60 pedidos entre 12 000 bajan la desviación de 12,7 a 9,7 min
  • La media baja de 35,1 a 34,6; la mediana no cambia
  • Una medida que no se mueve con unos pocos extremos es robusta
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar29 / 39
La dispersión

Barranquilla y Bucaramanga: casi la misma media, casi el mismo RIC y distinta desviación

[dos_ciudades]
dos = pedidos[pedidos["ciudad"].isin(["Barranquilla", "Bucaramanga"])]
grupos = dos.groupby("ciudad")["tiempo_entrega_min"]
resumen = pd.DataFrame({
    "media": grupos.mean(),
    "desviación": grupos.std(),
    "RIC": grupos.quantile(0.75) - grupos.quantile(0.25),
})
resumen.round(1)
#>               media  desviación   RIC
#> ciudad
#> Barranquilla   29.8        10.5  10.3
#> Bucaramanga    29.7        13.3  10.6
  • groupby("ciudad") calcula lo mismo en cada ciudad
  • Media: 29,8 y 29,7 min · RIC: 10,3 y 10,6 min
  • Desviación: 10,5 y 13,3 min
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar30 / 39
Idea clave

El cuerpo es igual; Bucaramanga tiene más demoras extremas

La desviación las siente y el RIC no. El 1 % más lento de Bucaramanga tarda más de 63,4 min; el de Barranquilla, más de 54,9. Su pedido más lento: 200,9 frente a 152,9 min.

Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar31 / 39
La dispersión

La media va con la desviación; la mediana, con el RIC

CentroDispersiónCon unos pocos datos extremos
MediaDesviación estándarSe mueven
MedianaCuartiles y RICCasi no se mueven

Con una cola larga, informa la mediana y el RIC; con una forma simétrica, la media y la desviación.

Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar32 / 39
La dispersión

El coeficiente de variación: el valor varía más del doble que el tiempo

[cv]
valor = pedidos["valor_pedido"]
print(f"Tiempo: CV = {tiempo.std() / tiempo.mean():.2f}")
print(f"Valor:  CV = {valor.std() / valor.mean():.2f}")
#> Tiempo: CV = 0.36
#> Valor:  CV = 0.77
  • \(\text{CV} = s / \bar{x}\): no tiene unidades, así que compara minutos con pesos
  • En proporción a su media, el valor varía 2,1 veces lo que varía el tiempo
  • Solo para variables de razón con media positiva: nunca para la temperatura
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar33 / 39
Idea clave

Ningún centro sin su dispersión

«35,1 minutos» no le sirve a la gerencia sin su desviación, 12,7, ni la mediana, 33,7, sin su RIC, 12,5: el centro dice cuánto tarda un pedido típico, y la dispersión, cuánto se alejan de él los demás.

Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar34 / 39
Fundación Universitaria Compensar
Análisis Estadístico de la Información
Sesión 3 · Lo típico y lo variable

Apertura
El centro
La dispersión
Práctica y cierre
04

Práctica y cierre

Treinta y cinco minutos con el cuaderno (notebook): cuatro ejercicios con verificador.

35 / 39
Práctica y cierre

Práctica guiada: cuatro ejercicios en el notebook

1Una discretamedia, mediana y moda de n_productos · 7 min
→
2Dos ordinalesla mediana de estrato y de calificacion · 8 min
→
3Por ciudadmedia, desviación y RIC del tiempo · 12 min
→
4La distanciacuartiles y diagrama de caja · 8 min

Abrir el notebook de la sesión 3 en Colab. Antes del ejercicio 1: clic en [ej1] → Entorno de ejecución → Ejecutar anteriores.

Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar36 / 39
Pregunta para la clase

¿Qué medida usarías?

  1. El medio de pago más usado en Bucaramanga
  2. La calificación típica de los pedidos calificados
  3. El valor típico de un pedido, para un informe a la gerencia
  4. La temperatura típica en Medellín y cuánto varía
Respuesta

1 la moda: es nominal · 2 la mediana (o el % de 4 y 5 estrellas): es ordinal · 3 la mediana con el RIC: tiene una cola larga · 4 la media con la desviación: es simétrica; el CV, no, porque la temperatura es de intervalo

Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar37 / 39
Práctica y cierre

Lo que te llevas hoy

  • La media es el punto de equilibrio; la mediana, el valor del medio; en una continua, la moda es una clase
  • El tipo de variable decide el centro: moda, mediana o media
  • La desviación se lee en minutos; el RIC es el ancho de la mitad central
  • La media y la desviación sienten los extremos; la mediana y el RIC, casi no
  • Ningún centro sin su dispersión
Ningún centro sin su dispersión. — Javier Mauricio Sierra
Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar38 / 39
Práctica y cierre

La sesión 4 busca los pedidos que se salen de lo normal

  • Termina la práctica: los verificadores revisan los cuatro ejercicios, salvo el diagrama de caja
  • Lee OpenIntro Statistics (4.ª edición): en la sección 2.1, los diagramas de caja y la robustez; en la sección 4.1, el puntaje Z (Z-score)
  • Escribe tres frases sobre una ciudad que elijas: su centro, su dispersión y un pedido que te parezca raro. Otra persona del curso las revisará

Próxima sesión: datos atípicos y exploración multidimensional.

Sesión 3 · Lo típico y lo variableAnálisis Estadístico de la Información · UCompensar39 / 39

Atajos del teclado

→EspacioAvPágSiguiente (y revela lo pendiente)
←RePágAnterior
InicioFinPrimera · última
12EnterIr a la diapositiva 12
MÍndice por secciones
NNotas del presentador
PVista del presentador (otra ventana)
FPantalla completa
B.Pantalla en negro
EscCerrar paneles
·
00:00
A continuación
Notas