Recientemente comencé a trabajar para una clínica de tuberculosis. Nos reunimos periódicamente para analizar la cantidad de casos de TB que estamos tratando actualmente, la cantidad de pruebas administradas, etc. Me gustaría comenzar a modelar estos conteos para que no solo estemos adivinando si algo es inusual o no. Desafortunadamente, he recibido muy poca capacitación en series de tiempo, y la mayor parte de mi exposición ha sido a modelos para datos muy continuos (precios de acciones) o cantidades muy grandes de conteos (influenza). Pero tratamos con 0-18 casos por mes (media 6.68, mediana 7, var 12.3), que se distribuyen así:
[imagen perdida por las brumas del tiempo]
[imagen comida por un grue]
He encontrado algunos artículos que abordan modelos como este, pero agradecería mucho escuchar sus sugerencias, tanto para los enfoques como para los paquetes R que podría usar para implementar esos enfoques.
EDITAR: La respuesta de mbq me ha obligado a pensar más detenidamente sobre lo que pregunto aquí; Me obsesioné demasiado con los recuentos mensuales y perdí el enfoque real de la pregunta. Lo que me gustaría saber es: ¿la disminución (bastante visible) desde, digamos, 2008 en adelante refleja una tendencia a la baja en el número total de casos? Me parece que el número de casos mensuales desde 2001-2007 refleja un proceso estable; quizás algo de estacionalidad, pero en general estable. Desde 2008 hasta el presente, parece que ese proceso está cambiando: el número total de casos está disminuyendo, a pesar de que los recuentos mensuales pueden tambalearse hacia arriba y hacia abajo debido a la aleatoriedad y la estacionalidad. ¿Cómo puedo probar si hay un cambio real en el proceso? Y si puedo identificar una disminución,
fuente
Respuestas:
Para evaluar la tendencia histórica, usaría un juego con tendencia y componentes estacionales. Por ejemplo
Luego,
summary(fit)
le dará una prueba de importancia del cambio de tendencia y la gráfica le dará algunos intervalos de confianza. Los supuestos aquí son que las observaciones son independientes y la distribución condicional es Poisson. Debido a que se permite que la media cambie suavemente con el tiempo, estos no son supuestos particularmente fuertes.Para pronosticar es más difícil ya que necesita proyectar la tendencia en el futuro. Si está dispuesto a aceptar una extrapolación lineal de la tendencia al final de los datos (que ciertamente es dudosa pero probablemente esté bien durante algunos meses), use
Para ver los pronósticos en el mismo gráfico:
Puede detectar los meses inusuales buscando valores atípicos en los residuos (desviaciones) del ajuste.
fuente
Es posible que desee echar un vistazo a strucchange :
PD. Buenos gráficos;)
fuente
¿Realmente necesita algún modelo avanzado? Según lo que sé sobre la TB, en caso de que no haya epidemia, las infecciones son actos estocásticos y, por lo tanto, el conteo del mes N no debe correlacionarse con el conteo del mes N-1. (Puede verificar esta suposición con autocorrelación). Si es así, analizar solo la distribución de los recuentos mensuales puede ser suficiente para decidir si algún recuento es significativamente más alto de lo normal.
Por otro lado, puede buscar correlaciones con algunas otras variables, como la temporada, el tráfico de viajes o cualquier cosa que pueda imaginar que pueda estar correlacionada. Si encontrara algo como esto, podría usarse para cierta normalización de datos.
fuente
A menudo, los datos de enfermedades como este se realizan con un modelo lineal generalizado, ya que no es necesariamente una gran aplicación del análisis de series de tiempo: los meses a menudo no están tan correlacionados entre sí.
Si me dieran estos datos, esto es lo que haría (y, de hecho, lo habría hecho con datos similares):
Cree una variable de "tiempo" que se describa con mayor precisión como "Meses desde 1/1/2000" si estoy analizando correctamente sus datos. Luego, ejecutaría un modelo lineal general en R usando la distribución de Poisson (o binomio negativo) y un enlace de registro con aproximadamente la siguiente forma:
log(Counts) = b0 + b1*t + b2*(t^2) + b3*cos(2pi*w*t) + b4*sin(2pi*w*t)
Donde t es el tiempo descrito anteriormente, yw es 1/365 para una enfermedad anual como la gripe. Generalmente es 1 / n, donde n es la duración del ciclo de su enfermedad. No sé de antemano qué es para la tuberculosis.
Las dos tendencias temporales le mostrarán, fuera de la variación estacional normal, si tiene una variación significativa a lo largo del tiempo.
fuente
Puede considerar aplicar un gráfico de Control de Tukey a los datos.
fuente
Puede intentar modelar sus datos utilizando un Modelo lineal generalizado dinámico (DGLM). En R, puede ajustar este tipo de modelos utilizando paquetes sspir y KFAS. En cierto sentido, esto es similar al enfoque gam sugerido por Rob, excepto que en lugar de suponer que la media logarítmica de las observaciones de Poisson es una función suave del tiempo, se supone que sigue una dinámica estocástica.
fuente
dlm
paquete. Los DLM no son tan fáciles de usar como otras soluciones, pero lodlm
hacen lo más fácil posible y tiene una bonita viñeta que lo guía a través del proceso.Voy a dejar la pregunta principal sola, porque creo que me equivocaré (aunque también analizo los datos de un proveedor de atención médica, y para ser honesto, si tuviera estos datos, los analizaría utilizando técnicas estándar y espero lo mejor, se ven bastante bien para mí).
En cuanto a los paquetes R, he encontrado la biblioteca TSA y su libro acompañante es muy útil. El
armasubsets
comando, particularmente, creo que es un gran ahorro de tiempo.fuente
Escápese de las estadísticas enumerativas tradicionales, como Deming sugeriría, y aventúrese en las estadísticas analíticas tradicionales, en este caso, cuadros de control. Consulte cualquier libro de Donald Wheeler PhD, en particular sus "Temas avanzados en SPC" para obtener más información.
fuente
En respuesta a su pregunta directa "¿Cómo puedo evaluar si hay un cambio real en el proceso? Y si puedo identificar una disminución, ¿cómo podría usar esa tendencia y cualquier estacionalidad que haya para estimar el número de casos que podríamos ver en los próximos meses? Desarrolle un Modelo de función de transferencia (ARMAX) que explique fácilmente la dependencia de un período a otro, incluida una estructura ARIMA estacional. Incorpore cualquier cambio de nivel identificable, pulsos estacionales, tendencias de tiempo local y PUlses que puedan haber sido sugeridos por métodos empíricos / analíticos como la detección de intervención. SI ESTE MODELO ROBUSTO INCLUYE UN FACTOR / SERIE que coincida con "rechazos", entonces sus oraciones han sido contestadas. En la alternativa, simplemente agregue una estructura hipotética, por ejemplo, para probar un cambio de tendencia en el tiempo en el punto T1, construya dos dummies X1 = 1,1,2,3 ,,,,,, T y X2 = 0,0,0,0,0,0,0,1,2,3,4,5, .... DONDE LOS CEROES TERMINAN EN EL PERÍODO T1-1. La prueba de la hipótesis de un cambio de tendencia significativo en el período de tiempo T1 se evaluará utilizando el "valor t" para X2.
Editado 22/09/11
A menudo, los datos de enfermedades como este tienen efectos mensuales ya que el clima / temperatura es a menudo una causa no especificada. En la omisión de la verdadera serie caudsal, los modelos ARIMA usan memoria o tontos estacionales como sustituto. Además, series como esta pueden tener cambios de nivel y / o tendencias de tiempo local que reflejan cambios estructurales a lo largo del tiempo. Se ha descubierto que la explotación de la estructura autorregresiva en los datos en lugar de imponer diversos artefactos, como el tiempo y el cuadrado del tiempo y el tiempo cúbico, etc., es bastante útil y menos presuntivo y ad hoc. También se debe tener cuidado para identificar "valores inusuales", ya que a menudo pueden ser útiles para sugerir variables de causa adicionales y, como mínimo, llevar a estimaciones sólidas de los otros parámetros del modelo. Finalmente, hemos encontrado que la variabilidad / los parámetros pueden variar con el tiempo, por lo que estos ajustes del modelo pueden estar en orden.
fuente