Devo esclarecer imediatamente que sou um desenvolvedor de software que pratica, não um estatístico e que minha aula de estatística da faculdade foi há muito tempo ...
Dito isso, eu gostaria de saber se existe um método para acumular um conjunto de estatísticas descritivas que possam ser usadas para produzir um boxplot, que não implica armazenar um monte de amostras individuais?
O que estou tentando fazer é produzir um resumo gráfico dos tempos de serviço da fila em um processo complexo de múltiplas filas. No passado, usei um pacote chamado tnftools que permitia que grandes amostras fossem acumuladas e depois processadas em um bom gráfico de tempos de resposta e outliers ... Mas o tnftools não está disponível para minha plataforma atual.
Idealmente, eu gostaria de poder acumular um conjunto de estatísticas descritivas "on the fly" enquanto o processo é executado e depois extrair os dados para análise sob demanda. Mas não posso simplesmente fazer com que o processo acumule amostras, pois a memória / IO envolvida nesse processo teria um impacto inaceitável no desempenho do sistema.
fonte
Respostas:
Para boxplot 'on the fly', você precisará de min / max 'on the fly' (trivial) e quartis 'on the fly' (0,25,0,5 = mediana e 0,75).
Muito trabalho foi realizado recentemente no problema do algoritmo on-line (ou "on the fly") para computação mediana.
Um desenvolvimento recente é binmediano . Como chute lateral, ele também desfruta de uma complexidade de pior caso melhor do que a seleção rápida (que não é on-line nem passe único).
Você pode encontrar o documento associado, bem como os códigos C e FORTRAN on-line aqui . Pode ser necessário verificar os detalhes da licença com os autores.
Você também precisará de um algoritmo de passagem única para os quartis, para o qual você pode usar a abordagem acima e a seguinte caracterização recursiva dos quartis em termos de medianas:
e
isto é, o quartil de 25 (75) por cento está muito próximo da mediana das observações que são menores (maiores) que a mediana.
Termo aditivo:
Existem vários métodos antigos de múltiplas passagens para calcular quantis. Uma abordagem popular é manter / atualizar um reservatório de tamanho determinístico de observações selecionadas aleatoriamente a partir do fluxo e calcular quantis recursivamente (veja esta revisão) neste reservatório. Essa abordagem (e relacionada) é substituída pela proposta acima.
fonte
Em vez de apenas encontrar a mediana, existe um algoritmo que mantém diretamente um histograma estimado: " o algoritmo do quadrado P para cálculo dinâmico de modais e histogramas sem armazenar observações". Provavelmente será muito mais eficiente que a repetição de bin para cada quantil desejado.
fonte