t検定の効果量における信頼区間

t検定の効果量における信頼区間,が知りたかったわけですよ。

t検定の効果量と言えばdな,といううすーい理解しかしてませんでしたが,必要が生じたのでちょっと調べてみた。

非常に混乱してしまうのだが,街亜・岡田のテキストにもあるように,dの表記というか,表現に混乱があるのだな。

  1. オリジナルの,Cohenのd
  2. Hedgesのd
  3. Hedgesのg(Hedgesのd.unbiased,バイアス補正されたd)

といった感じ。とりあえず,1.のdは普通使われないので無視していい。で,2をCohenのdと書いてある本もあるらしくってややこしい。表記はいろいろだけど,Hedgesベースで,d.biased,d.unbiasedで分ければわかりやすいかも。

ただ,分析プログラムによってはその書き方がぶれるわけです。

ここでは効果量とその信頼区間を出してくれるcompute.esパッケージとrpsychiパッケージで比較してみます。

> library(compute.es)
> library(rpsychi)
> x1 <- c(59,48,51,41,39,84,95,56,86,74)
> x2 <- c(47,24,38,28,39,74,77,48,40,60)
> m1 <- mean(x1)
> m2 <- mean(x2)
> n1 <- length(x1)
> n2 <- length(x2)
> s1 <- sd(x1)
> s2 <- sd(x2)
> samp.dat<- as.data.frame(cbind(c(rep(1,10),rep(2,10)),c(x1,x2)))
> # compute.esパッケージの関数
> mes(m1,m2,s1,s2,n1,n2,dig=20)

EFFECT SIZE CALCULATION (FOR SINGLE INPUT)

Mean Differences ES:

d [ 95 %CI] = 0.8321811 [ -0.1472027 , 1.811565 ]
var(d) = 0.2173131
p-value(d) = 0.09109867
U3(d) = 79.73466 %
CLES(d) = 72.18818 %
Cliff's Delta = 0.4437636

g [ 95 %CI] = 0.7970185 [ -0.1409829 , 1.73502 ]
var(g) = 0.1993366
p-value(g) = 0.09109867
U3(g) = 78.72799 %
CLES(g) = 71.3479 %

Correlation ES:

r [ 95 %CI] = 0.3841621 [ -0.1042352 , 0.7232764 ]
var(r) = 0.03365008
p-value(r) = 0.1123005

z [ 95 %CI] = 0.4049332 [ -0.1046152 , 0.9144817 ]
var(z) = 0.05882353
p-value(z) = 0.1123005

Odds Ratio ES:

OR [ 95 %CI] = 4.524059 [ 0.765676 , 26.73077 ]
p-value(OR) = 0.09109867

Log OR [ 95 %CI] = 1.50941 [ -0.2669962 , 3.285815 ]
var(lOR) = 0.7149316
p-value(Log OR) = 0.09109867

Other:

NNT = 2.253452
Total N = 20
> # rpsychパッケージの関数
> ind.t.test(V2~V1,data=samp.dat)
$samp.stat
m1 sd1 n1 m2 sd2 n2
63.300 20.022 10.000 47.500 17.890 10.000

$raw.difference
mean.diff lower upper std
15.800 -2.039 33.639 8.491

$standardized.difference
es lower upper std
0.797 -0.117 1.711 0.467

$power
small medium large
0.071 0.185 0.395

 

ここにあるように,compute.esパッケージのmes関数が出すのは,dとしてd.biased ,gとしてd.unbiasedのふたつ(小数点以下を表示させるdigオプションで下5桁まで出した)。rpsychiパッケージはesとしてd.unbiasedを出してくれている。いずれも信頼区間まで出してくれるのでいいんだけど,これがバイアス補正のかかったd,あるいはHedges’s gになってる,ということに注意。

ついでに,街亜・岡本のテキストにそって手計算したら次のようになる。dのバイアス補正についてはこちらのスライドを参照した。

> Sp <- sqrt(((n1-1)*s1^2+(n2-1)*s2^2)/(n1+n2))
> d <- (m1-m2)/Sp
> sp <- sqrt(((n1-1)*s1^2+(n2-1)*s2^2)/(n1+n2-2))
> g <- (m1-m2)/sp
> Delta <- (m1-m2)/s2
> d.unbiased <- g*(1-(3/(4*(n1+n2)-9)))
> d
[1] 0.8771959
> g
[1] 0.8321811
> Delta
[1] 0.8831702
> d.unbiased
[1] 0.7970185

Deltaはついでに出しただけです。詳細はテキスト参照。

ともかく,こうして書いてみてやっと整理できた。dとかgとか,もう面倒だなあw

 

 

[amazonjs asin=”4326250720″ locale=”JP” title=”伝えるための心理統計: 効果量・信頼区間・検定力”]