Calcolare quantili approssimativi per un flusso di numeri interi usando i momenti?


20

migrato da math.stackexchange .

Sto elaborando un lungo flusso di numeri interi e sto considerando di tenere traccia di alcuni momenti per poter calcolare approssimativamente vari percentili per il flusso senza memorizzare molti dati. Qual è il modo più semplice per calcolare percentili da pochi istanti. Esiste un approccio migliore che prevede solo l'archiviazione di una piccola quantità di dati?


2
Sai qualcosa di specifico sulle proprietà distributive del tuo stream? Ad esempio, sono, diciamo, positivi? Delimitata? Qualsiasi altro dettaglio che puoi fornire sarà utile. I momenti sono piuttosto facili da calcolare e archiviare per uno stream. Ci sono anche domande precedenti qui sulla stima diretta dei quantili da uno stream, che suona come quello che stai davvero cercando di fare. Potresti cercare e cercare quelli.
cardinale

Rappresentano i tempi di elaborazione, quindi sono positivi e per lo più strettamente raggruppati a meno che non vi sia una sorta di problema tecnico o sovraccarico nel sistema. Cercherò le domande quantili; potrebbero essere abbastanza buoni. Sono ancora curioso di sapere come passare dai momenti al calcolo del valore associato a un percentile arbitrario. So che archiviare i momenti è facile, è come usarli che non conosco.
jonderry,

Hai visto questa domanda ?
cardinale

Risposte:


15

Non lo affermi esplicitamente, ma dalla tua descrizione del problema sembra probabile che tu stia cercando un insieme di quantili altamente distorto (ad esempio, 50 °, 90 °, 95 ° e 99 ° percentile).

In tal caso, ho avuto molto successo con il metodo descritto in "Calcolo efficace di quantili distorti su flussi di dati" di Cormode et al. È un algoritmo veloce che richiede poca memoria ed è facile da implementare.

Il metodo si basa su un algoritmo precedente di Greenwald e Khanna che mantiene un piccolo campione del flusso di input insieme a limiti superiore e inferiore sul rango dei valori nel campione. Richiede più spazio di una raccolta di pochi momenti, ma sarà molto meglio nel descrivere accuratamente la regione di coda interessante della distribuzione.


1
ϵnn

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.