箱ひげ図をマルチモーダル分布またはユニモーダル分布のみに使用できますか?
箱ひげ図をマルチモーダル分布またはユニモーダル分布のみに使用できますか?
回答:
問題は、通常のboxplot *では通常、モードの数を示すことができないことです。いくつかの(一般的にまれな)状況では、モードの最小数が1を超えるという明確な兆候を得ることができますが、通常、特定のボックスプロットは1つ以上のモードと一致します。
*通常の種類の箱ひげ図のいくつかの修正が提案されており、密度の変化を示し、複数のモードを識別するために使用することができますが、これらはこの質問の目的ではないと思います。
たとえば、このプロットは少なくとも2つのモードの存在を示していますが(データは正確に2つになるように生成されています)-
逆に、これには分布に2つの非常に明確なモードがありますが、箱ひげ図からはまったくわかりません。
ボックスプロットは、必ずしも分布に関する多くの情報を伝えるとは限りません。ウィスカの外側にマークされたポイントがない場合、それらには5つの値のみが含まれ、5つの数値の要約は分布をあまりピンダウンしません。ただし、上記の最初の図は、cdfが(少なくとも 100のサンプルサイズで)ユニモーダル分布を本質的に除外するために十分に「固定」されている場合を示しています。cdfの制約と一致するユニモーダルcdfはありませんその場合、第1四半期に比較的急激な上昇を必要とし、中期には(平均して)わずかな上昇率に平坦化してから、最後の四半期に別の急激な上昇に変化します。
実際、ここの図1 (後で[1]で公開されるワーキングペーパーだと思います)は、同じ箱ひげ図を持つ4つの異なるデータセットを示しています。
そのようなデータはありませんが、同様のデータセットを作成するのは簡単なことです。上の5つの数字の要約に関連するリンクで示されているように、分布を制約する長方形のボックス内に収まるようにするだけです。 5つの数字の要約により制限されます。
以下は、論文のデータと同様のデータを生成するRコードです。
x1 = qnorm(ppoints(1:100,a=-.072377))
x1 = x1/diff(range(x1))*18+10
b = fivenum(x1) # all of the data has this five number summary
x2 = qnorm(ppoints(1:48));x2=x2/diff(range(x2))*.6
x2 = c(b[1],x2+b[2],.31+b[2],b[4]-.31,x2+b[4],b[5])
d = .1183675; x3 = ((0:34)-34/2)/34*(9-d)+(5.5-d/2)
x3 = c(x3,rep(9.5,15),rep(10.5,15),20-x3)
x4 = c(1,rep(b[2],24),(0:49)/49*(b[4]-b[2])+b[2],(0:24)/24*(b[5]-b[4])+b[4])
上記のデータの、論文の表示と同様の表示を次に示します(ここでは、4つの箱ひげ図をすべて表示しています)。
ただし、注意してください- ヒストグラムにも問題があります。確かに、3番目の「ピーク」ヒストグラムの分布は実際には明らかに二峰性であるため、ここに問題の1つがあります。ヒストグラムビンの幅が広すぎて表示できません。さらに、Nick Coxがコメントで指摘しているように、カーネル密度の推定値は、モードの数の印象にも影響する可能性があります(モードを塗りつぶしたり、元の分布に存在しない小さなモードを示唆することもあります)。多くの一般的なディスプレイの解釈には注意が必要です。
マルチモダリティをより適切に示すことができるボックスプロットの修正があります(花瓶プロット、バイオリンプロット、豆プロットなど)。状況によっては便利な場合もありますが、モードの検索に興味がある場合は、通常は別の種類の表示を確認します。
箱ひげ図は、分布形状の詳細よりも、場所と広がりの比較(および、おそらく歪度)に関心が集中している場合に適しています。表示するマルチモダリティが重要な場合は、それを表示するのに優れたディスプレイを検討することをお勧めします。ディスプレイの正確な選択は、最もよく表示するものに依存します。
ただし、常にではありません- x4
上記のサンプルデータの4番目のデータセット()は、完全に対称な箱ひげ図で明確に歪んだ分布を簡単に作成できることを示しています。
[1]:Choonpradub、C.、&McNeil、D.(2005)、
" boxplotは改善できますか?"
ソンクラナカリンJ.サイ 技術。、27:3、649-657ページ。
http://www.jourlib.org/paper/2081800
pdf
Rでマルチモダリティを検出するための複数のオプションがあります。以下のチャートのデータは、3つのモード(-3,0,1)で生成されました。ボックスプロットは明らかに他のものよりも優れています(バイオリンプロットは異なるデフォルトのカーネル密度設定を持っているように見えます)が、実際には0モードと1モードを区別するものはありません。コンピュータ時代にもう箱ひげ図を使用する理由はほとんどありません。なぜ情報を捨てるのですか?
dat <- c(rnorm(500, -3, 1), rnorm(200, 0, 1), rnorm(300, 1, 1))
par(mfrow=c(2, 2))
boxplot(dat, horizontal=TRUE, main="Boxplot")
require(beanplot)
beanplot(dat, horizontal=TRUE, main="Beanplot")
require(viopoints)
viopoints(dat, horizontal=TRUE, main="Viopoints")
require(vioplot)
vioplot(dat, horizontal=TRUE)
title("Violin Plot")