独立した2つのサンプルのt検定を視覚化する方法は?


11

独立した2つのサンプルのt検定の結果を視覚化する最も一般的な方法は何ですか?数値表はより頻繁に使用されますか、それとも何らかのプロットですか?目標は、何気ない観察者がこの図を見て、おそらく2つの異なる集団からのものであることをすぐに確認することです。


誰に「受け入れられ」、どのような状況で?「より頻繁に使用される」どこで?
Glen_b-2016

回答:


18

あなたの陰謀の目的を明確にする価値があります。一般に、2つの異なる種類の目標があります。自分でプロットを作成して、行っている仮定を評価してデータ分析プロセスを導くことも、プロットを作成して結果を他の人に伝えることもできます。これらは同じではありません。たとえば、プロット/分析の多くの閲覧者/閲覧者は統計的に洗練されておらず、たとえばt検定における等分散とその役割の概念に精通していない場合があります。データに関する重要な情報を、そのような消費者にも伝えられるようにしたいと考えています。彼らはあなたが物事を正しく行ったことを暗黙のうちに信頼しています。あなたの質問のセットアップから、私はあなたが後者のタイプの後にいることを集めます。

現実的には、t検定1の結果を他の人に伝えるための最も一般的で受け入れられているプロット(実際にそれが最も適切かどうかは別にします)は、標準誤差バーを使用した平均の棒グラフです。これは、t検定が標準誤差を使用して2つの平均を比較するという点で、t検定と非常によく一致します。2つの独立したグループがある場合、これは統計的に洗練されていない場合でも直感的な画像を生成し、(データを喜んで)人々は「おそらく2つの異なる母集団からのものであることがすぐにわかります」。@Timのデータを使用した簡単な例を次に示します。

nonsmokers <- c(18,22,21,17,20,17,23,20,22,21)
smokers <- c(16,20,14,21,20,18,13,15,17,21)
m        = c(mean(nonsmokers), mean(smokers))
names(m) = c("nonsmokers", "smokers")
se       = c(sd(nonsmokers)/sqrt(length(nonsmokers)), 
             sd(smokers)/sqrt(length(smokers)))
windows()
  bp = barplot(m, ylim=c(16, 21), xpd=FALSE)
  box()
  arrows(x0=bp, y0=m-se, y1=m+se, code=3, angle=90)

ここに画像の説明を入力してください

とはいえ、データ視覚化の専門家は通常、これらのプロットを軽視しています。それらは、しばしば「ダイナマイトプロット」と見なされます(なぜ、ダイナマイトプロットが悪いのかを参照)。特に、データが少ない場合は、単にデータ自体を表示することをお勧めします。ポイントがオーバーラップする場合は、それらを水平方向にジッタリングして(少量のランダムノイズを追加)、オーバーラップしないようにすることができます。t検定は基本的に平均と標準誤差に関するものであるため、平均と標準誤差をそのようなプロットに重ねることが最善です。ここに別のバージョンがあります:

set.seed(4643)
plot(jitter(rep(c(0,1), each=10)), c(nonsmokers, smokers), axes=FALSE, 
     xlim=c(-.5, 1.5), xlab="", ylab="")
box()
axis(side=1, at=0:1, labels=c("nonsmokers", "smokers"))
axis(side=2, at=seq(14,22,2))
points(c(0,1), m, pch=15, col="red")
arrows(x0=c(0,1), y0=m-se, y1=m+se, code=3, angle=90, length=.15)

ここに画像の説明を入力してください

大量のデータがある場合は、分布の概要をすばやく把握するために箱ひげ図を選択することをお勧めします。平均値とSEを重ねて表示することもできます。

data(randu)
x1 = qnorm(randu[,1])
x2 = qnorm(randu[,2])
m  = c(mean(x1), mean(x2))
se = c(sd(x1)/sqrt(length(x1)), sd(x2)/sqrt(length(x2)))
boxplot(x1, x2)
points(c(1,2), m, pch=15, col="red")
arrows(x0=1:2, y0=m-(1.96*se), y1=m+(1.96*se), code=3, angle=90, length=.1)
# note that I plotted 95% CIs so that they will be easier to see

ここに画像の説明を入力してください

データの単純なプロットと箱ひげ図は非常に単純であるため、統計的にあまり詳しくない場合でも、ほとんどの人はそれらを理解できます。ただし、これらのどれも、グループを比較するためにt検定を使用したことの妥当性を簡単に評価できないことを覚えておいてください。これらの目標は、さまざまな種類のプロットによって最適に提供されます。

1.この説明では、独立したサンプルのt検定を想定していることに注意してください。これらのプロット、従属サンプルのt検定で使用できますが、そのコンテキストでは誤解を招く可能性があります(参照:被験者内研究での平均にエラーバーを使用していますか?)。


バー+ CIプロットを使用する場合の大きな問題は、統計的に有意な差があることもありますが、CIが重複していることです。bar + CIプロットがジェネラリストの聴衆にアピールしようとしていることを考えると、この余分なしわを説明することに時間を費やしたくありません。
ハイゼンベルク2017年

@ハイゼンベルク、私はそれを知っています。すべての機会と目的のための単一の完璧な計画はありません。また、CIについては言及せず、SEについてのみ言及しました(ただし、dfによっては、一部のCIと同等です)。重要性は図のキャプションでよく言及され、テキストで説明されています。プロット自体に明確に表示したい場合は、括弧とp値を追加できます(例:here)。
ガン-モニカの回復

トーンがアグレッシブに聞こえるかどうか私の謝罪。結局のところ、それ以上説明せずにジェネラリストの聴衆に対してt検定を視覚化するための洗練された方法はまだないのです。それはプロットに帰着するかもしれません:SEのグループ平均を示す2つの棒グラフと、差とそのCI(リンクのような)を示す3番目のプロット。しかし、そのような視覚化は冗長な情報(グループの平均と平均の違い)を示し、これも聴衆を混乱させる可能性があります。
ハイゼンベルク2017年

@ハイゼンベルク、私は患者内のt検定を表示しようとしない限り、他の回答からのプロットを使用しません。単純な図のキャプションを付けて、t検定のSE付きの2つのバーを提示することは、おそらく多くの場合うまくいくと思います。あなたが重要性を必要とする場合にはプロットは、ブラケットや(私は一般的にそれが不要見つける。)そのような何かを追加することができます。
ガン-モニカの回復

14

のような比較を視覚化するために最も一般的に使用される方法は、boxplotsを使用することですこのサイトから「マリファナの喫煙と短期記憶を測定するタスクでのパフォーマンスの不足との関係」を説明するデータセットを使用した例を以下に示しますt

> nonsmokers <- c(18,22,21,17,20,17,23,20,22,21)
> smokers <- c(16,20,14,21,20,18,13,15,17,21)
> 
> t.test(nonsmokers, smokers)

    Welch Two Sample t-test

data:  nonsmokers and smokers
t = 2.2573, df = 16.376, p-value = 0.03798
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 0.1628205 5.0371795
sample estimates:
mean of x mean of y 
     20.1      17.5 

ここに画像の説明を入力してください

実際、箱ひげ図は一般に「非公式」仮説検定に使用されます。たとえば、1988年のYoav Benjaminiの論文Opening the Box of a Boxplotで説明されています

通常の箱ひげ図は、ボックスの側面から取り出された1組のくさびとして示される、バッチの中央値のおおよその信頼区間によって補足されます。これらの信頼区間は、異なる箱ひげ図の2つのノッチが重ならない場合に中央値が大きく異なるように構築されています。(...)信頼区間の式は、四分位範囲を定数倍してバッチサイズの平方根で割ったものであるため、ボックスの長さに対するウェッジの長さからバッチサイズを認識することができます。

参照: ボックスプロットの要約データのみを使用したT検定

このプロットは、@ NickCoxが気づいたように、に直接関係する量を示していません。信頼区間付きの平均を直接比較したい場合は、マーク付き信頼区間付きの棒グラフを使用できます。平均と信頼区間を使用すると、仮説検定を実行することもできます(ここまたはここを参照)。t

ここに画像の説明を入力してください

このスレッドの下の他の投稿やコメントからわかるように、箱ひげ図とダイナマイトプロットはどちらも議論の余地のある選択なので、まだ言及されていない代替案をもう1つ紹介します。まず、と回帰は関連していることを思い出してください。のような比較を、線で結ばれたエラーバー(信頼区間)を持つ2つの点としてプロットできます。ではなく線形回帰を使用した場合、線の勾配は回帰勾配に比例します。t tttt-この状況でテストします。このようなプロットの主な利点は、線の傾きを見ることで平均の差の大きさを簡単に判断できることです。不利な点としては、平均間にいくつかの「連続性」があることを示唆している可能性があります(つまり、ペアになっているサンプルがあった)。

ここに画像の説明を入力してください

ボックスプロットは、視覚化された変数の分布に関するより多くの情報を提供するので、より一般的に使用されているようです(信頼区間のみでの平均と比較して)。これらは、からの情報を複製するのではなく補完するものであり、そのようなプロットの使用は、ほとんどのスタイルガイド、たとえば、アメリカ心理学会の出版マニュアルによって推奨されています。t

最初の考慮事項は、図が表示される紙のテキスト内の図の情報値です。図が紙の理解に実質的に追加されないか、紙の他の要素を複製しない場合、それは含まれるべきではありません。


4
これは、t検定とANOVAについて説明しているテキストでも一般的ですが、それでも並外れた選択です。箱ひげ図は、t検定に直接関与する数量を表示しません。最低限、関連するプロットは平均を示し、箱ひげ図よりも分布の詳細を示す必要があります。テストを解釈するには、テール内の詳細が重要になることがよくあります。
Nick Cox

OK @NickCox、データセットは視覚化のためだけに選択されましたが、今はより適切な例に変更しました。
Tim

3
バープロット(別名「ダイナマイトプロット」)のインク:情報比率は非常に高くなっています。
フランクハレル

APAマニュアルからの引用(コンテキストについては確認していません)は一般的なアドバイスとしては優れていますが、このコンテキストで部分的に関連するボックスプロットを使用すること自体は直接の議論ではありません。当然のことながら、箱ひげ図は非常に便利で、多くの場合補完的であり、非常に頻繁に使用されることに同意しますが、私の最初の点は残っています。
Nick Cox

@NickCox私はあなたに同意することはできませんが、t検定に直接関係しない場合でも、boxplotが追加情報を提供し、t検定の結果を複製しないことを検討します。それはシンプルで、明確で、有益です。
Tim

8

これは主に@Timと@gungによる役立つ回答のバリエーションですが、グラフをコメントに組み込むことはできません。

小さいが役立つ可能性のあるポイント:

  1. 例のデータにあるように、タイがある場合、@ gungで示されるストリッププロットまたはドットプロットは変更が必要です。ポイントを積み重ねたり、揺らしたりできます。または、以下の例のように、Emanuel Parzenによって提案されたハイブリッド分位ボックスプロットを使用できます(最もアクセスしやすい参照はおそらく1979です。ノンパラメトリック統計データモデリング。 ジャーナル、アメリカ統計協会74:105-121)。これには、データの半分がボックスの内側にある場合、半分も外側にあることを強調し、本質的にすべての分布の詳細を表示するという他のメリットもあります。このコンテキストにあるように、グループが2つしかない場合、従来の種類のボックスプロットは、最小限の、実際には骨格的な表示になります。それを美徳ととらえる人もいますが、さらに詳細を示す余地があります。逆の議論は、特定のポイント、特により近い四分位から1.5 IQRを超えるポイントにフラグを立てるボックスプロットは、ユーザーへの明確な警告であるということです。テールにポイントが必要な場合があるので、t検定に注意してください心配して。

  2. 当然のことながら、ボックスプロットに平均の表示を自然に追加できます。別のマーカーまたはポイントシンボルを追加するのが一般的です。ここでは、基準線を選択します。

ここに画像の説明を入力してください

喫煙者と非喫煙者の分位ボックスプロット。ボックスは中央値と四分位数を示します。青い横線は平均を示します。

注意。グラフはスタタで作成されました。これは興味のある人のためのコードです。stripplot以前にでインストールする必要がありますssc inst stripplot

clear 
mat nonsmokers = (18,22,21,17,20,17,23,20,22,21)
mat smokers = (16,20,14,21,20,18,13,15,17,21)
local n = max(colsof(nonsmokers), colsof(smokers)) 
set obs `n' 
gen smokers = smokers[1, _n] 
gen nonsmokers = nonsmokers[1, _n] 
stripplot smokers nonsmokers, vertical cumul centre xla(, noticks) ///
xsc(ra(0.6 2.4)) refline(lcolor(blue)) height(0.5) box ///
ytitle(digit span score) yla(, ang(h)) mcolor(red) msize(medlarge) 

編集。@Frank Harrellの回答に対するこのさらなるアイデアは、2つの正規確率プロット(実際には分位点-分位点プロット)を重ね合わせます。横線は平均を示します。たとえば、(、その平均)と(、その平均そのSD)または堅牢な代替手段を介して、完全な適合を示す線をグループごとに追加したい人もいます。1 +01+

ここに画像の説明を入力してください


1
+1、私はデータをジッターするつもりでしたが、まだそれに到達することはできません。また、分位ボックスプロット、バイオリンプロット、qq-plotsなど、より高度なプロットを追加することも考えていましたが、最終的にはより多くのプロットをリストするという考えを捨てました。
ガン-モニカの復活

@gung十分に公正です。残念なことに、または幸いなことに、スレッドは一般的に2つの分布を比較する方法に簡単に変形できます。他のデータ例えば、ヒストグラムは深刻な競争相手、などかもしれない
ニック・コックス

5

結果を提示するというすばらしい目標に加えて、優れたパフォーマンスを実現するために、2つのサンプルの等分散検定の仮定をどのグラフィックスがチェックするかについて、いくつかの考慮事項があります。これは、2つの経験累積分布関数の通常の逆関数になります。テストの仮定を満たすには、これら2つの曲線は平行な直線でなければなりません。t


自分の答えにさまざまな可能性の1つを追加しました。
Nick Cox
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.