Il modo migliore per mettere due istogrammi sulla stessa scala?


14

Diciamo che ho due distribuzioni che voglio confrontare in dettaglio, cioè in un modo che rende facilmente visibili forma, scala e spostamento. Un buon modo per farlo è quello di tracciare un istogramma per ogni distribuzione, metterli sulla stessa scala X e impilare uno sotto l'altro.

Nel fare ciò, come si dovrebbe fare il binning? Entrambi gli istogrammi dovrebbero usare gli stessi limiti del cestino anche se una distribuzione è molto più dispersa dell'altra, come nell'immagine 1 in basso? Il binning deve essere eseguito in modo indipendente per ciascun istogramma prima di eseguire lo zoom, come nell'immagine 2 di seguito? C'è anche una buona regola empirica su questo?

Immagine 1 Immagine 2


5
I grafici QQ sono strumenti di gran lunga migliori per un confronto incisivo delle distribuzioni empiriche. Il loro utilizzo evita del tutto il problema del binning.
whuber

3
@whuber: D'accordo, se vuoi solo una visualizzazione sensibile della differenza tra due distribuzioni, ma l'approccio dell'istogramma è IMHO migliore se vuoi avere una visione dettagliata di come sono diverse.
dsimcha,

3
@dsimcha La mia esperienza è stata l'opposto. Il diagramma QQ mostra chiaramente (in modo quantitativo) le differenze di scala, posizione e forma, specialmente nello spessore delle code. (Prova a confrontare due SD direttamente dagli istogrammi, ad esempio: è impossibile quando sono vicini di valore. Su un diagramma QQ devi solo confrontare le pendenze, che sono veloci e relativamente accurate.) Un diagramma QQ è inferiore a un istogramma in termini delle modalità di selezione, ma nessun istogramma è valido fino a quando non è stata raccolta una discreta quantità di dati e non è stata fatta una buona scelta di bin.
whuber

1
Sono d'accordo che i grafici QQ sono la soluzione migliore, anche se non evitano il problema del cestino, ti costringono solo a posizionare i contenitori in determinati luoghi (i quantili :-) D'altra parte, ciò implica che i contenitori non , in effetti non dovrebbe essere condiviso dalle due distribuzioni.
conjugateprior

1
@dsimcha, penso che qualcosa come le trame di età / genere potrebbero essere utili. Comunque perché usare gli istogrammi per questo? Basta tracciare direttamente le funzioni di distribuzione. Tuttavia, se stai giocando con cose empiriche, il suggerimento per la trama QQ è la scelta migliore.
Dmitrij Celov

Risposte:


7

Penso che devi usare gli stessi contenitori. Altrimenti la mente ti gioca brutti scherzi. Normale (0,2) appare più disperso rispetto a Normale (0,1) nell'immagine n. 2 rispetto all'immagine n. 1. Niente a che vedere con le statistiche. Sembra che Normal (0,1) abbia seguito una "dieta".

-Ralph Winters

Anche i punti finali del punto medio e dell'istogramma possono alterare la percezione della dispersione. Si noti che in questa applet una selezione massima del cestino implica un intervallo di> 1,5 - ~ 5 mentre una selezione minima del cestino implica un intervallo di <1 -> 5,5

http://www.stat.sc.edu/~west/javahtml/Histogram.html


1
Potresti fornire qualche giustificazione teorica per questa opinione?
whuber

No, solo un'opinione. Ma se avessi tempo, inizierei la mia ricerca dal mondo dell'imballaggio al dettaglio (percezione del corpo sottile) e incorporerei parte del lavoro di Tufte.
Ralph Winters

@whuber: è principalmente legato al modo in cui il nostro cervello elabora le informazioni. Quando ci sono bidoni più piccoli, la nostra mente "restringe" anche i confini della curva. Prova a invertire la dimensione dei cassonetti di fig. # 2 per vedere cosa intendo.
nico

@nico Sì, c'è un elemento percettivo nella domanda. Ma in primo piano c'è il problema statistico perché ha un'influenza molto maggiore: bin più piccoli ==> maggiore variabilità del campione nei bin = => istogrammi più "sfilacciati ==> maggiore difficoltà nel confronto. Pertanto, IMO, qualsiasi risposta utile dovrebbe fornire supporto dalla teoria statistica (almeno).
whuber

@whuber: mi riferivo al fatto che la distribuzione appare diversamente dispersa nelle due immagini. Naturalmente il loro aspetto non ha nulla a che fare con quanto sono veramente dispersi.
nico,

2

Un altro approccio sarebbe quello di tracciare le diverse distribuzioni sulla stessa trama e usare qualcosa come il alphaparametro ggplot2per affrontare i problemi di overploting. L'utilità di questo metodo dipenderà dalle differenze o somiglianze nella tua distribuzione in quanto saranno tracciati con gli stessi bin. Un'altra alternativa sarebbe quella di visualizzare curve di densità levigate per ogni distribuzione. Ecco un esempio di queste opzioni e delle altre opzioni discusse nel thread:

library(ggplot2)

df <- melt(
    data.frame( 
        x = rnorm(1000)
        , y = rnorm(1000, 0, 2)
    )
)


ggplot(data = df) + 
#   geom_bar(aes(x = value, fill = variable), alpha = 1/2)
#   geom_bar(aes(x = value)) + facet_grid(variable ~ .)
#   geom_density(aes(x = value, colour = variable))
#   stat_qq(aes(sample = value, colour = variable))

Questo non spinge semplicemente la domanda al problema di selezionare le larghezze del kernel appropriate e se (e come) si possono confrontare due smooth con diverse larghezze del kernel?
whuber

1
@whuber - punto valido. Non stavo cercando di suggerire che le curve di densità fossero il metodo più completo da utilizzare, offrendo semplicemente altre alternative. Da questo post è chiaro che ci sono pro e contro in ogni approccio, quindi è stato offerto questo come un'altra valida alternativa da aggiungere al mix.
Chase

Alla luce di ciò sto votando la tua risposta, +1.
whuber

0

Quindi si tratta di mantenere le stesse dimensioni del cestino o mantenere lo stesso numero di bin? Vedo argomenti per entrambe le parti. Una soluzione alternativa sarebbe quella di standardizzare prima i valori. Quindi potresti mantenere entrambi.


Funzionerebbe quando le due dimensioni del campione sono simili. Ma quando sono diversi, la dimensione comune del cestino (anche in unità standardizzate) potrebbe essere appropriata per l'uno o l'altro istogramma, ma non per entrambi. Come gestiresti quel caso?
whuber

Forse stiamo pensando a diversi significati di standardizzare. Intendevo quello a cui ero collegato, ad esempio, se una popolazione ha uno stdev di 5 e l'altra ha uno stdev di 10, dopo la standardizzazione avrebbero entrambi uno stdev di 1. Potrebbero quindi essere più equamente confrontati con lo stesso dimensione del contenitore poiché ogni contenitore ha una quantità comparabile di pixel e dati. O forse stavi ottenendo il problema più grande che "la dimensione appropriata del cestino" è un po 'un'arte nera e unica per ogni set di dati ...
xan

Condividiamo lo stesso significato di "standardizzare". La scelta di una dimensione del cestino richiede giudizio e conoscenza del contesto, ma è un tratto caratterizzarlo come "arte nera": vedi, ad esempio, stats.stackexchange.com/q/798/919 .
whuber
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.