Intervalo de confianza para el número de pacientes con coronavirus (cálculo de mortalidad)

Un argumento popular para una publicación viral sobre el coronavirus : ¿cómo se pueden obtener estadísticas para tres casos? ¡No puede sacar conclusiones sobre muestras tan pequeñas! Todos los que estudiaron ciencias sociales absorbieron esta historia sobre los tamaños de muestra con la leche materna de alma. Y esto es correcto en aquellas situaciones con las que generalmente tratamos: con estadísticas selectivas.

Para el caso de los tres fallecidos, estas estadísticas están muy indirectamente relacionadas. En aquellos años en que todavía enseñaba métodos matemáticos para psicólogos en la universidad, siempre intentaba parar en este lugar, algo de lo que se trata todo este curso no está relacionado con los datos reales. Solo al problema, cuando necesitamos sacar una conclusión sobre la población general de una muestra aleatoria.

Y aquí tenemos el número 3. Tres muertos, no una especie de vector, ni una tabla o muestra. Es un hecho. Tres de los muertos vinieron a nosotros completamente por casualidad. Murieron.

Por lo tanto, consideraremos uno de los métodos más simples para determinar la cantidad de casos, por la tasa de mortalidad y la cantidad de muertes. Supongamos que conocemos la mortalidad y es del 1%. En esta situación, sería lógico y correcto considerar que el número de personas recuperadas será de 297. Pero, ¿cuál es la confiabilidad de este juicio? ¿Podemos dejar de lado que tenemos tres muertos, afirmando que tres no son estadísticas?

imagen

Esta pregunta será respondida por una distribución binomial negativa y su profeta - Wikipedia. Hay muchas letras griegas, si tú, como yo, les tienes miedo, te diré lo que sucede. Esta distribución solo responde a la pregunta de cuántas veces es necesario tirar el dado para que el seis caiga cinco veces. Utilizo el lenguaje de programación R para los cálculos, en el que hay una función preparada que le permite evaluar el intervalo de confianza.

qnbinom(p=c(.025,.975),size=3, prob=0.01)

Aquí p es 2.5% desde abajo y 2.5% desde arriba, entre los cuales se encuentra el rango deseado.

El resultado es un intervalo de confianza de 60 a 717. ¡No está tan mal! Es probable que los tres muertos no signifiquen en absoluto 297 recuperados, ¡sino solo sesenta! Pero tal vez por setecientos. :-(

Para las personas muy sospechosas que no creen en una distribución binomial negativa, puedo ofrecer modelos numéricos. En general, si no sabes cómo calcular por fórmulas y distribuciones, modelo. En cualquier situación incomprensible, modelo, Monte Carlo te está esperando.

Escribiremos la función infectada al azar, que simula una situación de enfermedad y muerte.

random_infected <- function(deaths, fatality_rate)
{
  dead = 0
  all = 1
  while (dead < deaths) {
    if (runif(1) < fatality_rate) {
      all = all + 1
      dead = dead + 1
    } else
      all = all + 1
  }
  return(all)
}

Esta función hace lo siguiente: tira un cubo con "cara n" (con distribución uniforme). Si se cae uno, entonces aumenta el número de muertos y el número todo en uno. Y si no fuera así, solo el número todos. Cada tirada de este dado es una persona enferma que puede morir o recuperarse. Tan pronto como tenemos el número de muertes especificado por el parámetro de muertes, nos detenemos e informamos cuántas veces tiramos el dado (el número total). La probabilidad de que uno se caiga en nuestro cubo imaginario es la mortalidad, en nuestro caso el parámetro fatality_rate.

infected_sizes<-replicate(100000,random_infected(deaths=3,fatality_rate=0.01))

Y ahora calculemos este número 100 mil veces. Tengo una computadora portátil vieja, así que soy reacio a esperar hasta que se cuenten un millón.

Después de eso, puede calcular la media aritmética de los números obtenidos. Obtuve 301.2, muy similar al número esperado 300. Así es como se ve la distribución del número de rollos de nuestro cubo de la muerte:

library(ggplot2)
theme_set(theme_classic())

g <- ggplot(data.frame(infected_sizes=infected_sizes), aes(infected_sizes))
g + geom_density(alpha=0.8,fill="plum")

imagen

Aquí está: una distribución binomial negativa, por favor, amor y favor. Sobre la base de dichos datos, es posible dar respuestas aproximadas a las preguntas: ¿cuál es la probabilidad de que el número total de casos sea inferior a cincuenta (1.2%) o superior a 1000 (0.3%)?

Por supuesto, estas son solo estimaciones. Se basan en datos que pueden ser incorrectos. No sabemos sobre la verdadera mortalidad del coronavirus. Pero cuanto menor es la tasa de mortalidad, más casos de enfermedad por cada fallecido y más estimaciones de la magnitud de la pandemia.

Déjame recordarte que tiramos este dado al instante. Sobre el modelo de cálculo de mortalidad, que se utilizó en el sensacional artículo de Thomas Pueyo, tengo una pequeña queja. Allí, suponemos que, con base en las 3 muertes en el día X, una tasa de mortalidad del 1% y el conocimiento de que el tiempo promedio entre la infección y la muerte es de 17 días, 300 personas se infectaron en el día X-17. Sin embargo, dicho cálculo es válido solo si la cantidad de personas enfermas es la misma todos los días. Dado que 17 días no es un número estricto, también tiene intervalos de confianza y errores. Si tenemos un aumento rápido en el número de casos, entonces, entre los que murieron el día X, tenemos un cierto número de personas infectadas no hace 17 días, sino hace 16 o 15 días, y tal vez hace 10 días. Quizás hay incluso más de ellos que los que se infectaron hace 17 días. De este modo,En una situación de rápido aumento en el número de casos, dicho cálculo inverso puede conducir a una sobreestimación de la prevalencia de la enfermedad. En general, todo es complicado.

PD: Gracias a Gregory Demin por una pista sobre el tipo de distribución.

All Articles