2 puntos por GN⁺ 2023-12-05 | 1 comentarios | Compartir por WhatsApp
  • Si indicadores muy volátiles, como las tasas de criminalidad a nivel nacional, se presentan solo como predicciones puntuales, pequeñas diferencias de tendencia pueden sobreinterpretarse fácilmente, por lo que es necesario ver también los intervalos de predicción para poder juzgar
  • Se entrenó un modelo ARIMA(1,1,2) de Python statsmodels con la tasa de delitos violentos de 1960 a 2015 y se predijo el período 2016-2025; el código y los datos están publicados en GitHub
  • En las predicciones a 1 año de 2016 a 2020, el error estándar es menor que 20, pero al predecir varios años en secuencia el error se acumula, y el intervalo de predicción del 95% para 2025 se amplía hasta 260.36-575.07
  • Los valores reales observados en 2021 y 2022 no coincidieron con la predicción de tendencia al alza de Richard Rosenfeld, pero dentro del intervalo de predicción de ARIMA siguen siendo compatibles con el modelo
  • Las predicciones de tasas nacionales de criminalidad a largo plazo son difíciles de usar directamente para respuestas de política local; para la asignación real de personal y recursos son más útiles predicciones más concretas, como el aumento de llamadas de servicio por el crecimiento urbano

Es difícil evaluar tendencias de criminalidad solo con predicciones puntuales

  • Richard Rosenfeld abordó en Criminologist la predicción de tasas de criminalidad a nivel nacional y, en un artículo publicado a fines de 2023, presentó predicciones para 2021-2025
  • Aunque hay quejas de que las estadísticas criminales del FBI salen con un año de retraso, esta predicción tiene el carácter de una predicción tardía, ya que al momento de publicación incluía años que ya habían pasado
  • Como las predicciones puntuales casi siempre fallan, se debe presentar junto con el valor predicho un intervalo de predicción alrededor de este
  • Al ver los márgenes de error, queda claro lo fácil que se tambalean las interpretaciones basadas en pequeñas diferencias de tendencia

Experimento de predicción reproducido con ARIMA

  • Para el análisis se usaron pandas, statsmodels.tsa.arima.model.ARIMA y matplotlib de Python
  • Los datos se construyeron combinando UCR_1960_2019.csv de 1960-2019 con valores adicionales de 2020-2022
    • La tasa de delitos violentos VRate se calculó como Violent / Population * 100000
    • La tasa de delitos contra la propiedad PRate se calculó del mismo modo
  • El código y los datos están en GitHub
  • Para que fuera comparable con el artículo de Rosenfeld, se tomó 1960-2015 como período de entrenamiento y se ajustó un modelo ARIMA(1,1,2)
    • Rosenfeld escribió que ajustó un ARIMA(1,0,2) a la tasa de delitos violentos, pero también dijo que diferenció los datos, por lo que corresponde a ARIMA(1,1,2)
    • El modelo de Rosenfeld incluye factores exógenos como la inflación, pero aquí no se incluyen
    • No se busca el modelo óptimo mediante una grid search aparte

Diagnóstico del modelo y cómo crece el error

  • El coeficiente AR(1) del modelo ajustado resultó negativo, lo que sugiere una posible sobrediferenciación
  • Según violent.test_serial_correlation('ljungbox'), no hay autocorrelación significativa en los residuos
  • También podría elegirse un mejor modelo con un método ARIMA automático, pero en este caso es probable que la mayoría de los modelos ARIMA produzcan predicciones e intervalos de error muy similares
  • Para 2016-2020 se puede comparar mediante predicciones a 1 año a medida que se agregan los nuevos datos
    • El error estándar en este tramo es 19.813228, menor que 20
    • Entra dentro del rango de error absoluto del 10% que Rosenfeld estimó como criterio de utilidad
  • Al predecir varios años hacia adelante, el error se acumula
    • Para predecir 2022, primero se necesita la predicción de 2021
    • Para 2023 hay que predecir en cadena 2021, 2022 y 2023
    • El error estándar aumenta aproximadamente como sqrt(steps*se^2), con una estructura en la que las varianzas se suman

Intervalos de predicción y valores observados de 2016-2025

  • La media predicha por el modelo ARIMA para 2016-2025 se ubica en general entre 379 y 420, pero el intervalo de predicción se amplía con el tiempo
    • 2021: media 412.99, intervalo del 95% 374.16-451.82
    • 2022: media 420.17, intervalo del 95% 342.16-498.18
    • 2023: media 416.91, intervalo del 95% 303.53-530.28
    • 2025: media 417.72, intervalo del 95% 260.36-575.07
  • Las predicciones puntuales de Rosenfeld están más cerca de los valores reales que la media de ARIMA en algunos años
    • Para el valor observado de 398.5 en 2020, Rosenfeld predice 394.9 y la media de ARIMA es 379.21
    • Para el valor observado de 387.0 en 2021, Rosenfeld predice 404.1 y la media de ARIMA es 412.99
    • Para el valor observado de 380.7 en 2022, Rosenfeld predice 409.3 y la media de ARIMA es 420.17
  • El MAPE de la estimación puntual de ARIMA es peor que el de Rosenfeld en algunos tramos de la muestra retenida, pero los valores observados entran dentro del intervalo de predicción de ARIMA
  • Los valores observados de 2021 y 2022 muestran que la predicción de tendencia al alza de Rosenfeld ya falló
  • La predicción ARIMA es esencialmente de reversión a la media y tiende a converger al término medio en pocos pasos

Predicciones 2023-2025 más bajas tras incorporar datos recientes

  • Después de agregar los datos de 2021-2022, se volvió a predecir 2023-2025
  • Las predicciones actualizadas son más bajas que las predicciones de largo plazo anteriores
    • 2023: media 371.98, intervalo del 95% 333.14-410.81
    • 2024: media 380.09, intervalo del 95% 302.08-458.11
    • 2025: media 376.40, intervalo del 95% 263.03-489.78
  • En una gráfica se puede apreciar más fácilmente el tamaño de los márgenes de error
  • Si se incluyen factores exógenos, en predicciones de varios años hacia adelante también hay que predecir esos factores exógenos, y se debe incorporar además su error

Límites de política pública de las predicciones macro de criminalidad

  • Las predicciones de la tasa nacional de delitos violentos son difíciles de usar directamente para respuestas reales de política pública
  • Una ciudad como Pittsburgh no tiene razón para usar directamente una predicción de criminalidad a nivel nacional para tomar decisiones de política
  • Aunque la precisión de la predicción mejorara a niveles de 5% o 1%, sería difícil que un responsable operativo a nivel federal respondiera con algo como “la tasa de delitos violentos subirá 10 en dos años, así que apoyemos con 1342 policías más”
  • A las predicciones macro de criminalidad se les critica que no hay skin in the game que asumir cuando se equivocan
  • En aplicaciones reales de predicción del delito, es más práctico estimar que cuando se agrega una vivienda o departamento en una ciudad, las llamadas de servicio anuales aumentan aproximadamente en 1
    • Para ciudades en crecimiento, es más adecuado planear la asignación de personal a largo plazo de esta manera

Referencias mencionadas

1 comentarios

 
GN⁺ 2023-12-05
Opiniones en Hacker News
  • Hay dos puntos interesantes aquí. Uno es el que trata el autor y el otro no. Primero, como al final del artículo, las predicciones normalmente deberían conducir a decisiones, y si ambas se separan, su valor puede volverse poco claro.
    Rosenfield parece querer darles más peso, como predicción, a conclusiones estadísticas sobre datos del pasado, y eso suena dudoso. Segundo, tampoco queda claro qué deberían significar las barras de error. Una posibilidad es que sean intervalos de confianza[1], y otra es que sean desviaciones estándar. Es decir, en la práctica se estaría prediciendo la diferencia al cuadrado entre la propia predicción puntual y el resultado real.
    [1] Admito que la terminología no es exacta.

    • Hace poco alguien en Hacker News describió la estadística como “intentar medir qué tan sorprendido deberías estar cuando te equivocas”. Las barras de error gruesas dan la sensación de que deberías esperar equivocarte, mientras que las barras de error delgadas muestran que el hecho de haberte equivocado puede resultar bastante incómodo.
      No es una explicación que abarque toda la estadística, pero es una perspectiva útil al pensar en predicciones.
    • La postura que defendía Bill Phillips [1] y que ahora yo también sigo es esta: “deberías estar dispuesto a aceptar cualquiera de los dos lados de la apuesta implícita en un intervalo de confianza”.
      Por ejemplo, si es un intervalo de confianza del 95%, deberías estar igualmente dispuesto a aceptar cuotas de 19:1 a que el valor verdadero está fuera del intervalo, o cuotas de 1:19 a que el valor verdadero está dentro del intervalo. Este enfoque es correcto en general y, en las discusiones sobre incertidumbre, hace que el significado se perciba de forma mucho más tangible, convirtiéndolo en un criterio inmediatamente accionable. Si se hace bien, obliga a asignar una incertidumbre que no sea ni demasiado conservadora ni demasiado optimista.
      Si la idea de dejar que el lector elija cualquiera de los dos lados de la apuesta te incomoda un poco, vas en la dirección correcta. Esa sensación disminuye cuando tienes bastante confianza en que las barras de error están bien establecidas y en que la inferencia está documentada y es defendible.
      Respuesta adicional a la pregunta original: las barras de error de 1 desviación estándar son un intervalo de confianza del 68%, y 2 desviaciones estándar son un intervalo de confianza del 95%. Por supuesto, suponiendo que uno sea frecuentista.
      [1] https://www.nobelprize.org/prizes/physics/1997/phillips/fact...
    • En una predicción, las barras de error solo pueden significar la incertidumbre que tiene el modelo. Si no hay barras de error sobre los modelos, no puedes decir nada sobre qué tan bueno es ese modelo, e incluso si las hay, el modelo superior puede ser inadecuado.
    • Eso no es un intervalo de confianza. Un intervalo de confianza es una variable aleatoria que, bajo el supuesto de que el modelo está correctamente especificado, contiene el valor verdadero en el 95% de los casos.
    • Las barras de error, ya sean intervalos de confianza o desviaciones estándar, tienen una utilidad limitada porque no indican cómo se distribuye la probabilidad dentro de ese intervalo. El santo grial de la predicción es la predicción probabilística que estima toda la distribución posterior, de la cual se pueden extraer muestras para crear escenarios o realizaciones del proceso aleatorio subyacente.
  • Por favor, debería hacerse así. Estuve en una organización que durante años ejecutó miles de experimentos en línea, y al comparar el efecto de un tratamiento nuevo, contar con barras de error ayudaba muchísimo a entenderlo mejor.
    Algunas personas pensaban que eso enturbiaba el juicio. Por ejemplo, si un tratamiento nuevo producía una “mejora” del 1%, pero el intervalo de confianza iba de -10% a 10%, entonces ese experimento no te decía cómo había sido afectada esa métrica. Eso hace que la decisión se sienta arbitraria, pero precisamente ese es el punto. En ese caso la decisión realmente es arbitraria, y el intervalo de confianza te informa de eso para que puedas considerar otras compensaciones. Si el intervalo de confianza fuera de 0.9% a 1.1%, podrías tener mucha más certeza sobre el efecto.
    El gran problema es que en algunos casos es extremadamente difícil obtener barras de error significativas. Por ejemplo, sería bueno imaginar una situación en la que se adjunte un valor así a cada predicción de un modelo de aprendizaje automático, pero no sé bien cómo lograrlo razonablemente para la mayoría de los tipos de modelos. Lo mismo ocurre con los experimentos en línea que requieren diseños experimentales complejos porque no se puede hacer una asignación aleatoria que produzca grupos lo suficientemente independientes.
    De forma similar, para todas las métricas importantes habría que revisar regularmente histogramas, es decir, distribuciones estadísticas. Una vez tuvimos un problema de velocidad en llamadas a un gran servicio web: muchas llamadas terminaban en menos de 50 ms, pero demasiadas llegaban al timeout de 500 ms. Al mismo tiempo vimos que el histograma de velocidad tenía dos picos bien definidos y, al investigar más, descubrimos que esos dos picos representaban a usuarios desconectados y usuarios conectados. Gracias a eso pudimos ignorar una amplia porción del código y encontrar el problema de velocidad en un código de personalización desplegado recientemente, que de otro modo no habríamos sospechado.

    • Eso de que “la decisión se siente más arbitraria” lo veo cada vez más a medida que acumulo experiencia. La gente realmente detesta las decisiones arbitrarias.
      Hace esfuerzos sorprendentes por añadirles una justificación a las decisiones arbitrarias. A veces toma la forma de modelos estadísticos que presentan el ruido como si fuera señal, y a menudo proviene de falsos expertos. No tienen la metodología ni los ciclos de retroalimentación que les permitirían saber qué están haciendo, pero poseen un aura de expertise cultivada socialmente que puede prestar legitimidad a una decisión. Antes se les llamaba chamanes, sacerdotes y astrólogos; hoy se les llama consultores de gestión y macroeconomistas.
      Yo prefiero declarar explícitamente lo que está ocurriendo y literalmente lanzar una moneda. Aunque esa no es una estrategia para conseguir un gran montón de piedras brillantes.
    • Que los dos picos fueran usuarios desconectados y usuarios conectados es algo muy común, y es una de las ideas centrales del control estadístico de procesos.
      A veces hay un único proceso que genera valores con distribuciones más o menos similares. Esa es una buena situación, porque se pueden usar varias herramientas estadísticas para planificación, inferencia, etc.
      Pero en la práctica a menudo hay dos o más procesos mezclados que se hacen pasar por uno solo. Dentro de cada proceso se producen valores con distribuciones más o menos similares, pero el análisis del total agregado se vuelve confuso. Si conoces los componentes principales del falso proceso único que estás observando, siempre estarás por delante de la competencia.
      [1]: https://two-wrongs.com/statistical-process-control-a-practit...
  • Estoy totalmente de acuerdo con esta idea. Y agregaría que las estimaciones de fechas, es decir, los plazos, también deberían tener barras de error. Al final, las fechas también son predicciones
    Si un stakeholder pide una fecha, también debería especificar qué barras de error quiere. Una fecha en bruto sin estimación de incertidumbre no tiene sentido. Del mismo modo, si un ingeniero le presenta una fecha a otros stakeholders, debería incluir junto con ella alguna forma de estimación de incertidumbre. Hay una diferencia enorme entre decir que hay un 90% de probabilidad de terminar antes de X día y decir que hay un 99,9%

    • El problema es que las estimaciones de fechas para plazos no siguen una distribución normal, así que las herramientas estadísticas comunes que todos usan no funcionan
      Es casi una distribución de ley de potencias sesgada hacia un lado. Los plazos casi nunca se terminan antes, y cuando se terminan antes, por lo general no es por mucho. En cambio, cuando se retrasan, pueden retrasarse una cantidad absurda
      Construir intervalos de confianza para algo así es realmente difícil
    • Es muy cierto. Hace tiempo escribí sobre este enfoque, y una de sus grandes ventajas es que permite aprender de los errores
      Una estimación de fecha sin barras de error no se puede demostrar como incorrecta. Pero si dices “hay un 50% de probabilidad de terminar antes de esta fecha”, al revisar las últimas 20 estimaciones de ese tipo, aproximadamente 10 deberían haber terminado a tiempo. Si no, la estimación no está calibrada. Aun así, al menos puedes saberlo. Sin barras de error, no lo habrías sabido
    • Un plazo implica que el límite superior de la barra de error no puede pasar esa fecha. Por eso, para cumplir un plazo hay que agregar un buffer adecuado
  • La cuantificación de la incertidumbre es un aspecto descuidado en la ciencia de datos, especialmente en el aprendizaje automático. Los profesionales no siempre tienen formación estadística, y en machine learning suele prevalecer la actitud de “primero predecir y preguntar después”, por lo que este cuidado queda relegado
    Yo siempre pido barras de error

    • Puedes pedir barras de error, pero no siempre son posibles ni significativas. A cualquier método se le puede “encajar” a la fuerza una estimación de errores IID con distribución normal, pero eso no necesariamente tiene sentido
      En modelos no lineales generales, producir barras de error —o, más en general, distribuciones de error— que realmente describan una noción sensata de incertidumbre puede ser bastante costoso tanto en lo teórico como en lo computacional, incluso en casos ideales. Hay buenos métodos prácticos con respaldo teórico, como Monte Carlo Dropout, pero las barras de error que generan no siempre son el error que uno quiere. MC DO estima la incertidumbre debida a los pesos del modelo, pero no estima, por ejemplo, la incertidumbre causada por malos datos de entrenamiento
      Estoy muy a favor de métodos que incorporen la incertidumbre de forma natural, pero hay muchos tipos de modelos que producen resultados empíricamente muy útiles y para los cuales no está claro cómo generar o interpretar eficientemente estimaciones de incertidumbre útiles
      Otro tema aparte, y a menudo descuidado, es el concepto de salidas de modelo calibradas, pero eso ya es otra madriguera de conejo
    • Entonces, ¿esto de verdad es ciencia? Es un concepto de nivel introductorio de estadística. Las razones, la necesidad y los riesgos de no tenerlo son muy claros
      Pero se invierten millones en modelos sin estos prerrequisitos, se venden como soluciones a la gente y se deja pasar con el argumento de que “si la gente los compra, debe ser porque tienen valor”. La gente también le paga a estafadores
    • Las barras de error son importantes. Pero la mayoría interpreta mal su significado. Ver https://errorbars.streamlit.app/
    • Como estadística, las barras de error también pueden revelar problemas en los datos subyacentes y en el modelo. Por ejemplo, si son irrealmente estrechas o simétricas, habría que sospechar
  • Me recuerda a algo parecido que Walter Lewin dijo sobre las mediciones en su clase 8.01: “una medición cuya incertidumbre se desconoce no tiene sentido”
    https://youtu.be/6htJHmPq0Os
    Se podría decir que una predicción es una medición sobre el futuro

    • En una línea similar, también está la frase de Lawrence M. Krauss: “La capacidad de cuantificar la incertidumbre e incorporarla a los modelos es lo que hace que la ciencia sea cuantitativa y no cualitativa”
      Fuente: https://www.edge.org/response-detail/10459
  • Pensé que esto iba a tratar sobre el clima

    • Yo también, y esperaba un hilo sobre barras de error en modelos meteorológicos. De hecho, existen
      ECMWF corre modelos de ensamble; probablemente ejecuta 51 modelos simultáneos variando un poco las condiciones iniciales o cambiando parámetros del modelo dentro de cierto rango. De esos 51 modelos se pueden obtener intervalos de confianza bastante buenos
      Eso sí, es un modelo de menor resolución y que se ejecuta con menos frecuencia. El modelo “HRES” tiene el doble de resolución espacial, así que supongo que no se corre como ensamble. La razón, obviamente, es que sería muy caro
      [1]: https://en.wikipedia.org/wiki/Integrated_Forecast_System#Var...
    • Uso meteoblue desde hace un tiempo y te dice qué tanta confianza tiene en el pronóstico. Ahora mismo puedo ver que la predictibilidad para mañana está calificada como media, y para pasado mañana como alta
      https://content.meteoblue.com/en/research-education/specific...
    • Yo también pensé eso, pero me pregunto si, en el contexto humano, los fenómenos atmosféricos comunes se desvían tanto hoy en día como para que las barras de error tengan valor práctico, o incluso como para que generen confusión
  • Un ejemplo interesante en este artículo es el nowcasting: la técnica de predecir el presente o el pasado mientras se espera a que lleguen los datos
    Sin rangos de error, es mala ciencia y mala estadística

    • No siempre es fácil decir cuál es el beneficio. Aunque presentes la incertidumbre interna del modelo de un modelo probabilístico, eso puede no decir nada sobre el error de estimación comparado con el proceso real
      Para que una predicción muestre la incertidumbre real, tendrías que estar en una posición bastante privilegiada en la que conoces el proceso generador de datos. Cuando es posible, se puede calibrar de forma aproximada con muchos datos históricos, pero aun así hay límites
    • Tiene sentido que eso exista. Aunque hace que mi chiste sea menos gracioso: “Soy casi un profeta. Puedo predecir las cosas justo después de que ocurren”
  • Toda estimación, predicción, interpolación y extrapolación debería tener un intervalo de confianza, intervalo de predicción o intervalo de tolerancia que refleje los supuestos que el equipo incorpora al problema. Depende del campo de aplicación

  • Me hizo pensar en este paper[1]
    “La ilusión de predictibilidad en los resultados científicos: incluso los expertos confunden la incertidumbre inferencial con la variabilidad de los resultados”
    Tradicionalmente, los científicos han puesto más énfasis en comunicar la incertidumbre inferencial, es decir, la precisión de las estimaciones estadísticas, que la variabilidad de los resultados, es decir, qué tan predecibles son los resultados individuales. Este paper muestra que eso puede generar malentendidos importantes sobre las implicaciones de los resultados científicos. En concreto, en tres experimentos aleatorizados preregistrados, los participantes vieron el mismo hallazgo científico mediante visualizaciones que mostraban solo la incertidumbre inferencial, solo la variabilidad de los resultados, o ambas, y respondieron sobre el tamaño y la importancia del hallazgo. Los resultados, basados en respuestas de profesionales de la salud, científicos de datos profesionales y profesores en tenure track, muestran que la práctica habitual de visualizar solo la incertidumbre inferencial puede llevar incluso a expertos altamente capacitados a sobreestimar mucho los efectos de un tratamiento. En cambio, mostrar juntas la incertidumbre inferencial y la variabilidad de los resultados conduce, en promedio, a una percepción más precisa, manteniendo intactas otras impresiones subjetivas sobre los resultados
    [1] https://www.microsoft.com/en-us/research/publication/an-illu...

    • Es una referencia muy interesante. Existe todo un campo llamado modelado de incertidumbre
  • Las predicciones pueden ser útiles incluso sin barras de error. A veces, una sola predicción puntual basta para decidir una acción
    Pero a veces, para tomar una buena decisión, ayuda o incluso es necesario conocer toda la distribución predictiva. La frase “las predicciones puntuales siempre están equivocadas” es cierta para datos continuos, pero si se puede predecir que una acción va a subir 2,01 veces en vez de 2 veces, igual sigue siendo útil