2つのヒストグラムを同じスケールで配置する最良の方法は?


14

詳細に比較したい2つの分布があるとしましょう。つまり、形状、スケール、シフトを簡単に見えるようにします。これを行う1つの良い方法は、各分布のヒストグラムをプロットし、それらを同じXスケールに配置し、一方を他方の下に積み重ねることです。

これを行うとき、ビニングはどのように行われるべきですか?下の画像1のように、1つの分布が他の分布よりもはるかに分散している場合でも、両方のヒストグラムで同じビン境界を使用する必要がありますか?下の画像2のように、ズームする前にヒストグラムごとにビニングを個別に行う必要がありますか?これについての経験則もありますか?

画像1 画像2


5
QQプロットは、経験的分布を鋭く比較するためのはるかに優れたツールです。それらを使用すると、ビニングの問題を完全に回避できます。
whuber

3
@whuber:2つの分布が異なるかどうかの敏感な視覚化が必要な場合は同意しますが、それらの違いについて詳細な洞察が必要な場合は、ヒストグラムアプローチの方が優れています。
dsimcha

3
@dsimcha私の経験は逆でした。QQプロットは、特に尾の厚さにおいて、スケール、位置、および形状の違いを(定量的に)明確に示しています。(たとえば、ヒストグラムから2つのSDを直接比較してみてください。値が近い場合は不可能です。QQプロットでは、傾きを比較するだけで済み、高速で比較的正確です。)QQプロットは、ヒストグラムの点で劣っています。モードを選択しますが、適切な量のデータが収集され、ビンの適切な選択が行われるまで、ヒストグラムは適切ではありません。
whuber

1
QQプロットが最良のソリューションであることに同意しますが、ビンの問題を回避するわけではありませんが、特定の場所にビンを配置するように強制します(分位数:-)一方、これはビンが、2つのディストリビューションで共有すべきではありません。
共役前

1
@dsimcha、年齢/性別プロットのようなものが役に立つ写真になると思います。とにかく、なぜこれにヒストグラムを使用するのですか?分布関数を直接プロットするだけです。ただし、経験的なことをする場合は、QQプロットの提案が最善の選択です。
ドミトリーチェロフ

回答:


7

同じビンを使用する必要があると思います。それ以外の場合、心はあなたにトリックをかけます。Normal(0,2)は、Image#1の場合よりもImage#2のNormal(0,1)に比べて分散して見えます。統計とは関係ありません。Normal(0,1)が「ダイエット」を行ったように見えます。

-ラルフ・ウィンターズ

中間点とヒストグラムの終点も、分散の認識を変える可能性があります。このアプレットでは、最大ビンの選択は> 1.5-〜5の範囲を意味し、最小ビンの選択は<1-> 5.5の範囲を意味します。

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


1
この意見を理論的に正当化できますか?
whuber

いいえ、単なる意見です。しかし、時間があれば、小売パッケージングの世界(薄い身体の認識)から研究を開始し、Tufteの仕事の一部を取り入れることになりました。
ラルフ冬

@whuber:それは主に脳が情報を処理する方法に関連しています。より小さなビンがある場合、私たちの心は曲線の境界も「縮小」します。図のビンのサイズを逆にしてみてください。#2私の言いたいことを確認します。
ニコ

@nicoはい、質問には知覚的な要素があります。しかし、それははるかに大きな影響を持っているため、最前線に統計的問題があります:ビンが小さい==>ビンのサンプルのばらつきが大きい==> "不揃いな"ヒストグラム==>比較が難しい したがって、IMO、価値のある回答は、統計理論からのサポートを追加する必要があります(少なくとも)。
whuber

@whuber:分布が2つの画像で異なって分散して見えるという事実に言及していました。もちろん、彼らがどのように見えるかは、彼らが実際に分散している程度とは関係ありません。
ニコ

2

別のアプローチは、同じプロット上に異なる分布をプロットし、alphaパラメータのようなものを使用しggplot2てオーバープロットの問題に対処することです。この方法の有用性は、同じビンでプロットされるため、分布の違いまたは類似性に依存します。別の選択肢は、各分布の平滑化された密度曲線を表示することです。これらのオプションとスレッドで説明した他のオプションの例を次に示します。

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

これは、適切なカーネル幅を選択する問題と、異なるカーネル幅を使用して2つのスムースを比較できるかどうか(およびその方法)の問題に疑問を投げかけるだけではありませんか?
whuber

1
@whuber-有効なポイント。私は、密度曲線がすべての方法を使用するすべての方法であり、単に他の選択肢を提供することを提案しようとしていませんでした。この投稿から明らかなように、どのアプローチにも賛否両論があり、ミックスに投入する別の実行可能な代替手段としてこれを提供していました。
チェイス

それに照らして、私はあなたの答えを投票しています、+ 1。
whuber

0

それで、それは同じビンサイズを維持するか、同じ数のビンを維持するかという問題ですか?双方の議論を見ることができます。回避策は、最初に値を標準化することです。その後、両方を維持できます。


2つのサンプルサイズが類似している場合に機能します。しかし、それらが異なる場合、共通のビンサイズは(標準化された単位であっても)どちらか一方のヒストグラムに適していますが、両方には適していません。その場合、どのように対処しますか?
whuber

たぶん、標準化のさまざまな意味を考えています。例えば、ある人口が5の標準偏差を持ち、他の人口が10の標準偏差を持っている場合、標準化後は両方とも1の標準偏差を持つことになります。各ビンには同程度のピクセルとデータがあるため、ビンのサイズ。それとも...「適切なビンサイズは」黒魔術のビットおよびすべてのデータセットに固有であることを大きな問題になっていた
XAN

「標準化」と同じ意味を共有しています。ビンのサイズを選択するには、判断とコンテキストの知識が必要ですが、それを「ブラックアート」として特徴付けることは一苦労です。たとえば、stats.stackexchange.com / q / 798/919を参照してください。
whuber
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.