Debo aclarar inmediatamente que soy un desarrollador de software práctica, no un estadístico, y que clase de mi universidad estadísticas era un muy largo tiempo atrás ...
Dicho esto, me gustaría saber si hay un método para acumular un conjunto de estadísticas descriptivas que luego podrían usarse para producir un diagrama de caja, que no implica almacenar un montón de muestras individuales.
Lo que intento hacer es producir un resumen gráfico de los tiempos de servicio de la cola dentro de un complejo proceso de múltiples colas. En el pasado, utilicé un paquete llamado tnftools que permitía acumular muestras grandes y luego procesarlas en un buen gráfico de tiempos de respuesta y valores atípicos ... Pero tnftools no está disponible para mi plataforma actual.
Idealmente, me gustaría poder acumular un conjunto de estadísticas descriptivas "sobre la marcha" a medida que se ejecuta el proceso, y luego extraer los datos para el análisis a pedido. Pero no puedo simplemente hacer que el proceso acumule muestras, ya que la memoria / IO involucrada en hacerlo tendría un impacto inaceptable en el rendimiento del sistema.
fuente
Respuestas:
Para el diagrama de caja 'sobre la marcha', necesitará 'sobre la marcha' min / max (trivial) así como los cuartiles 'sobre la marcha' (0.25,0.5 = mediana y 0.75).
Recientemente se ha trabajado mucho en el problema del algoritmo en línea (o 'sobre la marcha') para la computación mediana.
Un desarrollo reciente es binmedian . Como patada lateral, también disfruta de una mejor complejidad del peor de los casos que selección rápida (que no es en línea ni de un solo pase).
Puede encontrar el documento asociado, así como el código C y FORTRAN en línea aquí . Es posible que deba verificar los detalles de la licencia con los autores.
También necesitará un algoritmo de paso único para los cuartiles, para lo cual puede utilizar el enfoque anterior y la siguiente caracterización recursiva de los cuartiles en términos de medianas:
y
es decir, el cuartil del 25 (75) por ciento está muy cerca de la mediana de las observaciones que son más pequeñas (más grandes) que la mediana.
Apéndice:
Existe una gran cantidad de métodos antiguos de múltiples pasos para calcular cuantiles. Un enfoque popular es mantener / actualizar un reservorio de observaciones de tamaño determinista seleccionado al azar de la corriente y calcular cuantiles de forma recursiva (ver esta revisión) en este reservorio. Este enfoque (y el relacionado) son reemplazados por el propuesto anteriormente.
fuente
En lugar de solo encontrar la mediana, hay un algoritmo que mantiene directamente un histograma estimado: " el algoritmo de P-cuadrado para el cálculo dinámico de cuantiles e histogramas sin almacenar observaciones". Esto probablemente será mucho más eficiente que el binning repetido para cada cuantil que desee.
fuente