İki histogramı aynı ölçekte koymanın en iyi yolu?


14

Diyelim ki ayrıntılı olarak karşılaştırmak istediğim iki dağılımım var, yani şekil, ölçek ve kaydırmayı kolayca görünür hale getirecek şekilde. Bunu yapmanın iyi bir yolu, her dağıtım için bir histogram çizmek, aynı X ölçeğine koymak ve birini diğerinin altına istiflemektir.

Bunu yaparken, binning nasıl yapılmalıdır? Aşağıdaki Şekil 1'deki gibi bir dağılım diğerinden çok daha dağılmış olsa bile her iki histogram da aynı kutu sınırlarını mı kullanmalıdır? Aşağıdaki Resim 2'deki gibi yakınlaştırma yapmadan önce her histogram için binning bağımsız olarak mı yapılmalı? Bu konuda iyi bir kural var mı?

Resim 1 Resim 2


5
QQ grafikleri ampirik dağılımların kesin karşılaştırması için çok daha iyi araçlardır. Bunları kullanmak binning problemini tamamen önler.
whuber

3
@whuber: Sadece iki dağılımları farklı olup olmadığı hassas görselleştirme istiyorum, ama detaylı bilgi isterseniz histogram yaklaşım içine daha iyi IMHO ise, Agreed nasıl they farklı.
dsimcha

3
@dsimcha Deneyimlerim tam tersi oldu. QQ grafiği, özellikle kuyrukların kalınlığında, ölçek, konum ve şekil farklılıklarını açıkça (nicel bir şekilde) gösterir. (İki SD'yi doğrudan histogramlardan karşılaştırmayı deneyin, örneğin: değere yakın olduklarında imkansızdır. QQ grafiğinde sadece hızlı ve nispeten doğru eğimleri karşılaştırmanız gerekir.) QQ grafiği histogramdan daha düşüktür ancak iyi bir miktar veri toplanana ve iyi bir kutu seçimi yapılıncaya kadar hiçbir histogram iyi değildir.
whuber

1
QQ parsellerinin en iyi çözüm olduğuna katılıyorum, bin probleminden kaçınmasalar da, sadece kutuları belirli yerlere koymaya zorlarlar (kantiller :-) Öte yandan bu, kutuların , aslında iki dağıtım tarafından paylaşılmamalıdır.
konjugateprior

1
@dsimcha, sanırım yaş / cinsiyet grafikleri gibi bir şey yararlı resimler olabilir. Her neyse, bunun için neden histogramlar kullanılıyor? Sadece dağıtım fonksiyonlarını doğrudan çizin. Ancak, ampirik şeylerle oynuyorsanız, QQ arsa önerisi en iyi seçimdir.
Dmitrij Celov

Yanıtlar:


7

Aynı kutuları kullanmanız gerektiğini düşünüyorum. Aksi takdirde zihin size hile yapar. Normal (0,2), Resim # 2'deki Normal (0,1) 'e göre Resim # 1'den daha dağınık görünüyor. İstatistiklerle ilgisi yok. Görünüşe göre Normal (0,1) "diyet" e geçti.

-Ralph Kışları

Orta nokta ve histogram bitiş noktaları da dispersiyon algısını değiştirebilir. Bu uygulamada, maksimum kutu seçiminin> 1.5 - ~ 5 aralığında olduğunu, minimum kutu seçiminin ise <1 -> 5.5 aralığında olduğunu unutmayın.

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


1
Bu görüş için teorik bir gerekçe sunabilir misiniz?
whuber

Hayır, sadece bir görüş. Ama zamanım olsaydı, araştırmamı perakende ambalaj dünyasından (ince beden algısı) başlatacak ve Tufte'un bazı çalışmalarını dahil edecektim.
Ralph Winters

@whuber: çoğunlukla beynimizin bilgiyi işleme biçimi ile ilgilidir. Daha küçük kutular olduğunda, zihnimiz de eğrinin sınırlarını "küçültür". Şek. 3'teki çöp kutularının boyutunu ters çevirmeyi deneyin. # 2 ne demek istediğimi görmek için.
nico

@nico Evet, sorunun algısal bir öğesi var. Ancak ön planda istatistiksel bir sorun var, çünkü çok daha büyük bir etkiye sahip: daha küçük kutular ==> kutularda daha fazla örnek değişkenliği ==> daha "düzensiz" histogramlar ==> karşılaştırıldığında daha büyük zorluk. Bu nedenle, IMO, her türlü değerli cevap istatistiksel teoriden (en azından) destek sağlamalıdır .
whuber

@whuber: Ben dağıtım gerçeğine atıfta bulundu bakmak farklı iki resim dağıtılır. Tabii ki nasıl göründükleri gerçekten ne kadar dağıldıklarıyla ilgisi yoktur.
nico

2

Başka bir yaklaşım, aynı dağılımdaki farklı dağılımları çizmek ve aşırı çizme sorunlarını gidermek için alphaparametre gibi bir şey kullanmak olacaktır ggplot2. Bu yöntemin faydası, aynı bölmelerle çizileceklerinden dağıtımınızdaki farklılıklara veya benzerliklere bağlı olacaktır. Diğer bir alternatif, her bir dağılım için düzgün yoğunluk eğrilerinin görüntülenmesidir. Aşağıda bu seçeneklerin ve iş parçacığında ele alınan diğer seçeneklerin bir örneği verilmiştir:

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))

Bu sadece soruyu uygun çekirdek genişliklerini seçme konusuna ve farklı çekirdek genişliklerini kullanarak iki pürüzsüzlüğü karşılaştırıp karşılaştırmayacak mı?
whuber

1
@whuber - geçerli nokta. Yoğunluk eğrilerinin sadece diğer alternatifler sunan tüm kullanılacak yöntem olduğunu öne sürmeye çalışmıyordum. Bu yazıdan, herhangi bir yaklaşımın artıları ve eksileri olduğu açıktır, bu yüzden bunu karışıma atmak için uygun bir alternatif olarak sunuyordu.
Chase

Bunun ışığında cevabınızı oyluyorum +1.
whuber

0

Yani aynı kutu boyutunu veya aynı sayıda kutuyu muhafaza etmek mi? Her iki taraf için de argümanlar görebiliyorum. Bir çözüm ilk önce değerleri standartlaştırmak olacaktır . O zaman ikisini de koruyabilirsin.


İki numune boyutu benzer olduğunda bu işe yarar. Ancak farklı olmadıklarında, ortak kutu boyutu (standart birimlerde bile) biri veya diğeri histogram için uygun olabilir, ancak her ikisi için uygun olmayabilir. Bu dava ile nasıl başa çıkardınız?
whuber

Belki de standardizasyonun farklı anlamlarını düşünüyoruz. Örneğin, bir popülasyonun 5'i ve diğerinin 10'u varsa, standartlaştırmadan sonra her ikisinin de 1'i olacaktır. her bir bölmede karşılaştırılabilir miktarda piksel ve veri olduğu için bölme boyutu. Ya da belki "uygun çöp kutusu boyutu" biraz siyah bir sanat ve her veri kümesine özgü büyük sorun başlamıştı ...
xan

"Standartlaştırma" ile aynı anlamı paylaşıyoruz. Bir kutu boyutu seçmek, yargılama ve bağlam bilgisi gerektirir, ancak onu "siyah sanat" olarak nitelendirmek bir esnektir : örneğin, bkz . Stats.stackexchange.com/q/798/919 .
whuber
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.