Come misurare la "distanza" statistica tra due distribuzioni di frequenza?


14

Sto intraprendendo un progetto di analisi dei dati che prevede lo studio dei tempi di utilizzo del sito Web nel corso dell'anno. Quello che vorrei fare è confrontare quanto "coerenti" sono i modelli di utilizzo, diciamo, quanto sono vicini a un modello che comporta l'utilizzo per 1 ora una volta alla settimana, o uno che comporta l'utilizzo per 10 minuti alla volta, 6 volte a settimana. Sono a conoscenza di diverse cose che possono essere calcolate:

  • Entropia di Shannon: misura quanto la "certezza" nel risultato differisce, cioè quanto una distribuzione di probabilità differisce da una distribuzione uniforme;
  • Divergenza di Kullback-Liebler: misura quanto una distribuzione di probabilità differisce da un'altra
  • Divergenza di Jensen-Shannon: simile alla divergenza KL, ma più utile in quanto restituisce valori finiti
  • Test di Smirnov-Kolmogorov : un test per determinare se due funzioni di distribuzione cumulativa per variabili casuali continue provengono dallo stesso campione.
  • Test chi-quadro: un test di bontà di adattamento per decidere se una distribuzione di frequenza differisce da una distribuzione di frequenza prevista.

Quello che vorrei fare è confrontare quanto le durate di utilizzo effettive (blu) differiscono dai tempi di utilizzo ideali (arancione) nella distribuzione. Queste distribuzioni sono discrete e le versioni seguenti sono normalizzate per diventare distribuzioni di probabilità. L'asse orizzontale rappresenta la quantità di tempo (in minuti) che un utente ha trascorso sul sito Web; questo è stato registrato per ogni giorno dell'anno; se l'utente non si è mai recato sul sito Web, questo vale come durata zero ma questi sono stati rimossi dalla distribuzione di frequenza. Sulla destra è la funzione di distribuzione cumulativa.

Distribuzione dei dati di utilizzo del sito Web rispetto ai dati di utilizzo ideali

Il mio unico problema è, anche se riesco a ottenere la divergenza JS per restituire un valore finito, quando guardo diversi utenti e confronto le loro distribuzioni di utilizzo con quella ideale, ottengo valori per lo più identici (che quindi non è un buon indicatore di quanto differiscono). Inoltre, quando si normalizzano le distribuzioni di probabilità piuttosto che le distribuzioni di frequenza si perdono molte informazioni (si supponga che uno studente utilizzi la piattaforma 50 volte, quindi la distribuzione blu dovrebbe essere ridimensionata verticalmente in modo che il totale delle lunghezze delle barre sia uguale a 50 e la barra arancione dovrebbe avere un'altezza di 50 anziché 1). Parte di ciò che intendiamo per "coerenza" è se la frequenza con cui un utente accede al sito web influisce su quanto ne esce; se il numero di volte che visitano il sito Web viene perso, il confronto delle distribuzioni di probabilità è un po 'dubbio; anche se la distribuzione di probabilità della durata di un utente è vicina all'uso "ideale", quell'utente potrebbe aver usato la piattaforma solo per 1 settimana durante l'anno, il che probabilmente non è molto coerente.

Esistono tecniche ben consolidate per confrontare due distribuzioni di frequenza e calcolare una sorta di metrica che caratterizza quanto sono simili (o diverse)?


4
Potresti iniziare chiedendoti quale sia la tua funzione di perdita (ovvero, in che modo il modello di utilizzo differisce dal male ideale e in che modo la quantità di cattività dipende da quale tipo di divergenza esiste) e progettando la tua metrica intorno a quello.
Accumulo

Risposte:


12

Potresti essere interessato alla distanza del movimento terra , nota anche come metrica di Wasserstein . È implementato in R (guarda il emdistpacchetto) e in Python . Abbiamo anche un numero di thread su di esso .

EMD funziona sia per distribuzioni continue che discrete. Il emdistpacchetto per R funziona su distribuzioni discrete.

Il vantaggio rispetto a una statistica è che l'EMD produce risultati interpretabili . Immagina la tua distribuzione come tumuli di terra, quindi l'EMD ti dice quanta terra avresti bisogno per trasportare fino a che punto trasformare una distribuzione nell'altra.χ2

In altre parole: due distribuzioni (1,0,0) e (0,1,0) dovrebbero essere "più simili" di (1,0,0) e (0,0,1). L'EMD lo riconoscerà e assegnerà una distanza minore alla prima coppia rispetto alla seconda. La statistica assegnerà la stessa distanza ad entrambe le coppie, perché non ha idea di un ordinamento nelle voci di distribuzione.χ2


Perché quella particolare distanza? Sembra essere progettato per qualsiasi distribuzione continua. OP ha una distribuzione di frequenza, quindi perché non una distanza più "discreta" come Chi-quadrato?
user2974951

@ user2974951: abbastanza giusto. Vedi la mia modifica.
Stephan Kolassa,

se le distribuzioni sono 1D, come suggerito nella domanda, l'esecuzione e il risolutore EMD sono eccessivi. Ciò che deve essere fatto in quel caso è solo calcolare una metrica tra le funzioni quantili empiriche di entrambe le densità (essenzialmente le inversioni dei CDF tracciate nella domanda). p.31 in arxiv.org/abs/1803.00567 o se hai bisogno di un account più dettagliato, capitolo 2 di math.u-psud.fr/~filippo/OTAM-cvgmt.pdfLp
Marco Cuturi,

@MarcoCuturi: una distanza è sicuramente un'altra possibilità. Tuttavia, assegnerà nuovamente la stessa distanza tra (1,0,0) e (0,1,0) tra (1,0,0) e (0,0,1), il che è un po 'poco intuitivo. Se la gentilezza intuitiva aggiunta dell'EMD vale la complessità aggiuntiva è qualcosa che l'OP può prendere in considerazione. Lp
Stephan Kolassa,

3

Se campionate casualmente un individuo da ciascuna delle due distribuzioni, potete calcolare una differenza tra di loro. Se lo ripeti (con la sostituzione) più volte, puoi generare una distribuzione di differenze che contiene tutte le informazioni che cerchi. Puoi tracciare questa distribuzione e caratterizzarla con tutte le statistiche riassuntive che desideri - mezzi, mediane, ecc.


1
Esiste un nome per tale procedura?
user2974951

4
Mi chiedo come si possa spiegare il fatto di base che la distribuzione delle differenze per una distribuzione arbitraria e essa stessa sarà diversa per le diverse distribuzioni arbitrarie; pensa U (0,1) contro se stesso rispetto a N (0,1) rispetto a se stesso. Quindi, la distribuzione delle differenze che otterresti confrontando due diverse distribuzioni sarebbe difficile da valutare in assenza di una base unica. Il problema scompare se le osservazioni sono accoppiate, quindi la linea di base sarebbe una massa unitaria a zero.
Richard Hardy,

@ user2974951 Sono sicuro che esiste, poiché è piuttosto semplice e chiaramente correlato al bootstrap. Ma non so come chiamarlo precisamente.
mkt - Ripristina Monica il

1
@mkt, grazie per il tuo chiarimento. Senza voler discutere solo per il gusto di pensare, continuo a pensare che senza una base unica non abbiamo un sovrano. Ma lo lascerò a quello. C'è comunque qualcosa di carino nella tua idea.
Richard Hardy,

1
@RichardHardy Apprezzo lo scambio qui e potresti avere ragione. Dovrò pensarci ulteriormente.
mkt - Ripristina Monica il

0

Una delle metriche è la distanza di Hellinger tra due distribuzioni che sono caratterizzate da deviazioni standard e medie. L'applicazione è disponibile nel seguente articolo.

https://www.sciencedirect.com/science/article/pii/S1568494615005104


Grazie per quello Ho visto che esiste un'intera famiglia di divergenze (f-divergenze) che fanno ciò che voglio, ma una rapida occhiata alla letteratura non sembra indicare quale sia la migliore quando ... conosci qualche buona letteratura su Questo?
omegaSQU4RED
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.