SSブログ

t検定の自由度が整数にならない? [データサイエンス、統計モデル]

統計の講師をしていて、なるほど!と思う質問を受けることがあります。
せっかくなので、その中からピックアップして紹介できればと思います。

【質問】
A.sales <- c(1000, 980, 1200, 1260, 1500, 1005, 820, 1490, 1500, 960)
B.sales <- c(880, 1080, 1580, 2180, 1900, 1950, 1200, 910, 2100, 1890)
t.test(A.sales, B.sales)

t検定の自由度は、20-1=19で19のはずですが、自由度が13.324となってしまいます。

【回答】
自由度ですが、
A.sales と B.sales ごとに平均値の縛りがあるため、
(10-1) + (10-1) = 18
が正しいです。

var.equal=T のオプションを付けて、t.test(A.sales, B.sales, var.equal=T) とするとdf=18となります。

var.equal=T
等分散を仮定している
→自由度は18

var.equal=F
等分散を仮定していない(ウェルチのt検定)
→自由度は13.324

Rはデフォルトで、Welchのt検定(ウェルチのt検定)となるので、

> t.test(A.sales, B.sales)

	Welch Two Sample t-test

data:  A.sales and B.sales
t = -2.2088, df = 13.324, p-value = 0.04528
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -781.368266   -9.631734
sample estimates:
mean of x mean of y 
   1171.5    1567.0 

と自由度が13.324となっています。

nice!(2)  コメント(0) 
共通テーマ:学問

nice! 2

コメント 0