tetsunosukeのnotebook

tetsunosukeのメモです

標本の少ないデータ間で、F検定→t検定。

z検定が実施可能であるデータと比較して、データの数量が少ない場合には、F検定で等分散かどうかを調べ、その後t検定にて平均の差異を調べる。

等分散であるかをF検定で調べる

下記のようなサンプルデータに対し

> a
 [1] 8.81 8.35 8.62 9.11 8.38 9.15 9.22 8.20 9.38 7.57
> b
 [1] 8.54 8.66 7.81 8.12 7.94 8.99 8.08 8.67 7.87 8.18

それぞれの分散は

> var(a)
[1] 0.31881
> var(b)
[1] 0.1608933

であるから、
分散比はそれぞれ下記のように求められる

> var(a)/var(b)
[1] 1.981499
> var(b)/var(a)
[1] 0.5046684

また、F検定を行うと

> var.test(a, b)

        F test to compare two variances

data:  a and b 
F = 1.9815, num df = 9, denom df = 9, p-value = 0.3229
alternative hypothesis: true ratio of variances is not equal to 1 
95 percent confidence interval:
 0.4921764 7.9775039 
sample estimates:
ratio of variances 
          1.981499 

ratio of variances が分散比となる。(var(b, a)とすれば分散比の異なる結果が出力される)

ここでdf = 自由度であり、今回はデータの個数(10)から1を引いたものである。

というわけで、自由度(9,9) のF分布における確率は

> pf(var(b)/var(a), 9, 9)
[1] 0.1614448
> 1- pf(var(a)/var(b), 9, 9)
[1] 0.1614448

となり5%を超えるので分散が等しい仮説は正しい。
なお、F検定の結果のP値 0.3229が5%を超えているのも、分散がが同様であるという帰無仮説が採択され、等分散であるといえた。

t検定

これで等分散である2つの集合は、下記のようにしてt検定を行うことができる。

var.equal=T を入れないとウェルチのT検定になってしまうので注意(これは等分散でない場合に利用する)

> t.test(a,b, var.equal=T)

        Two Sample t-test

data:  a and b 
t = 1.7943, df = 18, p-value = 0.08957
alternative hypothesis: true difference in means is not equal to 0 
95 percent confidence interval:
 -0.06714669  0.85314669 
sample estimates:
mean of x mean of y 
    8.679     8.286 

この場合のP値は両側検定を意味するので、片側検定にかんしては、0.08957/2 = 0.044785 であることから、平均が等しいという仮説は棄却される

なお、この場合のt値(t値の計算は面倒なのでやらない)にたいして、自由度10+10-2=18に対し、t分布上の確率は、下記のように求められ、片側検定の5%なので、同じく平均が等しいという仮説が棄却できる。

> pt(1.7943, 18)
[1] 0.9552102