2011-06-17 14 views
5

Sto cercando un algoritmo per generare un istogramma su una grande quantità di dati di streaming, il massimo e il minimo non sono noti in anticipo ma la deviazione standard e la media sono in un particolare gamma.Calcolo di un istogramma su un flusso di dati - Calcolo dell'istogramma online

Apprezzo le tue idee.

Cheers,

+0

che cosa è un istogramma approssimativa? – CharlesB

+0

Intendo che non voglio avere l'istogramma esatto (il numero di elementi in ciascun bucket non deve essere esatto). –

+0

Vedere anche http://stackoverflow.com/questions/2464871/numpy-histogram-of-large-arrays – mtrw

risposta

2

Ho appena trovato una soluzione. Sez. 2.2 di "Creazione di un istogramma on-line da una carta dell'algoritmo per alberi decisionali paralleli". Algo è implementato dalla classe NumericHistogram in progetto alveare:

Un generico, riutilizzabile classe istogramma che supporta aggregazioni parziali. L'algoritmo è un'euristica adattato dal seguente documento: Yael Ben-Haim e Elad Tom-Tov, "Un in streaming albero decisionale parallelo algoritmo", J. Machine Learning Research 11 (2010), pp 849-. -872. Anche se non ci sono garanzie di approssimazione , sembra funzionare bene con dati adeguati e un numero elevato (ad es., 20-80) di intervalli di istogrammi.

1

deviazione standard e media non hanno importanza per un istogramma. Scegli semplicemente la tua risoluzione e disegna una barra più alta di quella che hai per la sua gamma. Questo, ovviamente, diventerà più costoso con una risoluzione più alta. Puoi provare ad aggiustare la risoluzione cercando di adattare i dati esistenti in una curva normale (o qualsiasi modello tu voglia) e trovando la deviazione standard per scegliere una granularità ragionevole.

Modifica: Leggi tutto sbagliato la prima volta. Se si conosce la deviazione standard approssimativa, è possibile scegliere dimensioni ragionevoli per i gruppi di istogrammi dall'inizio. Basta confrontare ogni nuova voce con il minimo e il massimo attuali e regolare di conseguenza la propria gamma.

Problemi correlati