Tengo lo que ingenuamente pensé que era un problema bastante sencillo que implica la detección de valores atípicos para muchos conjuntos diferentes de datos de conteo. En concreto, quiero determinar si uno o más valores de una serie de datos de recuento son más altos o más bajos de lo esperado en relación con el resto de los recuentos de la distribución.
El factor de confusión es que tengo que hacer esto para 3.500 distribuciones y es probable que algunas de ellas se ajusten a una poisson sobredispersa inflada a cero, mientras que otras pueden ajustarse mejor a una binomial negativa o ZINB, mientras que otras pueden tener una distribución normal. Por esta razón, las puntuaciones Z simples o el trazado de la distribución no son apropiados para gran parte del conjunto de datos. He aquí un ejemplo de los datos de recuento para los que quiero detectar valores atípicos.
counts1=[1 1 1 0 2 1 1 0 0 1 1 1 1 1 0 0 0 0 1 2 1 1 2 1 1 1 1 0 0 1 0 1 1 1 1 0
0 0 0 0 1 2 1 1 1 1 1 1 0 1 1 2 0 0 0 1 0 1 2 1 1 0 2 1 1 1 0 0 1 0 0 0
2 0 1 1 0 2 1 0 1 1 0 0 2 1 0 1 1 1 1 2 0 3]
counts2=[0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 0]
counts3=[14 13 14 14 14 14 13 14 14 14 14 14 15 14 14 14 14 14 14 15 14 13 14 14
15 12 13 17 13 14 14 14 14 15 14 14 13 14 13 14 14 14 14 13 14 14 14 15
15 14 14 14 14 14 15 14 1414 14 15 14 14 14 14 14 14 14 14 14 14 14 14 13 16]
counts4=[0 3 1.......]
and so on up to counts3500.
Inicialmente pensé que tendría que escribir un bucle en Python o R que aplicara un conjunto de modelos a cada distribución y seleccionara el modelo que mejor se ajustara según el AIC u otro (¿tal vez el fitdistrplus en R?). A continuación, podría preguntar cuáles son los extremos de la distribución dada (los recuentos que caen en las colas, por ejemplo, ¿un recuento de "4" sería un valor atípico en la distribución counts1 anterior?) Sin embargo, no estoy seguro de que ésta sea una estrategia válida, y se me ocurre que puede haber una metodología sencilla para determinar los valores atípicos en los datos de recuento que yo desconozco. He buscado mucho y no he encontrado nada que parezca apropiado para mi problema dado el número de distribuciones que quiero mirar.
Mi objetivo final es detectar aumentos o disminuciones significativos de un recuento para cada distribución de recuentos, utilizando la metodología más adecuada desde el punto de vista estadístico.