La pregunta

En la Ciudad de México se repite que “en hora pico atropellan a alguien cada media hora”. ¿Es cierto?

Durante todo el curso vamos a contestar esta pregunta con datos reales. Al principio no tenemos las herramientas para hacerlo bien; cada unidad del temario agrega una pieza, y en la última (pruebas de hipótesis) podremos responderla con rigor.

Los datos

El Centro de Comando, Control, Cómputo, Comunicaciones y Contacto Ciudadano (C5) registra cada reporte de incidente vial: fecha, hora al segundo, tipo de incidente, alcaldía, coordenadas y si el reporte se confirmó. Los datos son abiertos (licencia CC BY 4.0) y se preparan con 0-datos-atropellamientos.R.

atropellamientos <- leer_atropellamientos()
glimpse(atropellamientos)
## Rows: 52,715
## Columns: 11
## $ folio         <chr> "C2O/20220101/00099", "C2O/20220101/00232", "C2P/2022010…
## $ fecha         <date> 2022-01-01, 2022-01-01, 2022-01-01, 2022-01-01, 2022-01…
## $ hora          <time> 09:05:53, 18:42:30, 08:19:36, 08:23:22, 03:19:07, 03:43…
## $ dia_semana    <chr> "Sábado", "Sábado", "Sábado", "Sábado", "Sábado", "Sábad…
## $ codigo_cierre <chr> "A", "A", "D", "D", "A", "F", "F", "A", "A", "D", "F", "…
## $ alcaldia      <chr> "Iztapalapa", "Xochimilco", "Azcapotzalco", "Azcapotzalc…
## $ latitud       <dbl> 19.38380, 19.24900, 19.49014, 19.49014, 19.51059, 19.493…
## $ longitud      <dbl> -99.02114, -99.09420, -99.20769, -99.20769, -99.13774, -…
## $ momento       <dttm> 2022-01-01 09:05:53, 2022-01-01 18:42:30, 2022-01-01 08…
## $ hora_num      <int> 9, 18, 8, 8, 3, 3, 6, 7, 8, 8, 9, 13, 14, 15, 15, 15, 15…
## $ mes           <chr> "2022-01", "2022-01", "2022-01", "2022-01", "2022-01", "…

No todos los reportes son atropellamientos reales: muchos son duplicados (varias personas llaman por el mismo hecho) o falsos. Trabajaremos solo con los confirmados (código de cierre A).

atropellamientos |> count(codigo_cierre, name = "reportes") |>
  mutate(porcentaje = round(100 * reportes / sum(reportes), 1))
## # A tibble: 4 × 3
##   codigo_cierre reportes porcentaje
##   <chr>            <int>      <dbl>
## 1 A                20537       39  
## 2 D                26436       50.1
## 3 F                 5637       10.7
## 4 I                  105        0.2

Qué vamos a medir

Definimos la variable aleatoria

\[ X = \text{minutos entre dos atropellamientos confirmados consecutivos} \]

en la hora pico de días laborables (lunes a viernes, de 18:00 a 21:00). El tiempo se mide con un “reloj de hora pico” que solo corre en esas horas: cuando termina la ventana de un día, el reloj continúa a las 18:00 del siguiente día laborable. En el capítulo 2 veremos por qué medir así es indispensable.

Su media, \(\mu = E[X]\), es el parámetro que nos interesa: la frase “cada media hora” dice que \(\mu = 30\) minutos.

La muestra

Tomamos los atropellamientos de marzo de 2023, un mes sin periodos vacacionales largos (solo tiene el festivo del lunes 20; en el capítulo 2 revisamos que los festivos no cambian la tasa). (En el capítulo 2 descubriremos que algunos atropellamientos aparecen confirmados dos veces; la muestra ya los cuenta una sola vez.)

x <- muestra_curso(atropellamientos)
length(x)
## [1] 121
summary(x)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##   0.1167  11.3500  23.5000  33.8813  48.6333 152.8333
mean(x)
## [1] 33.88127

La media muestral no es 30 minutos, sino 33.9. ¿Eso basta para decir que la frase es falsa? Si tomáramos otro mes, ¿obtendríamos lo mismo? ¿Qué tan lejos de 30 tendría que estar la media para estar seguros?

Todavía no podemos contestar. Ese es el plan del curso:

Capítulo Unidad del temario Qué aporta a la respuesta
1 Distribuciones muestrales Cuánto cambia la media de una muestra a otra
2 Análisis exploratorio Si los datos se comportan como un modelo exponencial, y en qué condiciones
3 Estimación puntual El mejor estimador de \(\mu\) y qué tan preciso puede ser
4 Estimación por intervalos Un rango de valores plausibles para \(\mu\)
5 Pruebas de hipótesis La respuesta: ¿es compatible \(\mu = 30\) con los datos?