忍者ブログ
2

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

再現率はpsychパッケージのp.rep関数を使う
この関数で計算される効果量 (dprime) やp.repはhttp://psychology.clas.asu.edu/sqabのものとなんか違う。そもそも計算式が違う。
というか、t分布で近似するときと正規分布で近似するときがあるみたい。ようわからんな…。p値の再現性は正規分布で、効果量の再現性はt分布なのか?

                SS num Df Error SS den Df         F       Pr(>F)
(Intercept) 3444.5      1       77      7 313.13636 4.537639e-07
afact        217.5      3       71     21  21.44366 1.347309e-06

p.rep(p = 0.05, n=NULL,twotailed = FALSE)
p.rep.f(F,df2,twotailed=FALSE)
p.rep.r(r,n,twotailed=TRUE)
p.rep.t(t,df,df2=NULL,twotailed=TRUE)

引数と出力だけメモ

引数
p F、tなどの統計量の有意確率。普通のp値
F F値
df t検定の自由度。サンプルサイズが違うときは第1群の自由度
df2 F値の分母の自由度。もしくはサンプルサイズの違うt検定の第2群の自由度
r 相関係数
n rの算出に使った全体のサンプルサイズ
t t検定のときにはt統計量、もしくは回帰係数の有意性検定の統計量
twotailed 片側か両側か


p.rep  再現率 (Probability of replication)
dprime  効果量 (Cohen`s d) 。一定以上のpが得られる場合if more than just p is specified
prob  F, t, rの確率。片側か両側
r.equivalent t検定でのrとtの等質性

参考文献
Cummings, Geoff (2005) Understanding the average probability of replication: comment on Killeen 2005). Psychological Science, 16, 12, 1002-1004).
Killeen, Peter H. (2005) An alternative to Null-Hypothesis Significance Tests. Psychological Science, 16, 345-353.
Rosenthal, R. and Rubin, Donald B.(2003), r-sub(equivalent): A Simple Effect Size Indicator. Psychological Methods, 8, 492-496.
Rosnow, Ralph L., Rosenthal, Robert and Rubin, Donald B. (2000) Contrasts and correlations in effect-size estimation, Psychological Science, 11. 446-453.

Society for Quantitative Analysis of Behavior
http://psychology.clas.asu.edu/sqab


PR
分散分析の効果量
# サンプル
## Anova関数の分散分析表
                SS num Df Error SS den Df         F       Pr(>F)
(Intercept) 3444.5      1       77      7 313.13636 4.537639e-07
afact        217.5      3       71     21  21.44366 1.347309e-06

d family
# Cohenのf, f二乗

f二乗 = 要因の平方和/誤差の平方和 = F値 * (df1/df2)
21.444366*(3/21)
## つまり、F値に自由度をかけただけ。逆に言えば、F値は要因の"平均"平方和/誤差の"平均"平方和 だから

f はsqrt(f二乗)
##被験者間 一元配置分散分析のときはこれをつかう

r family
# 相関比と偏相関比 (相関比 = イータ二乗) がある
# 相関比 (イータ二乗)

要因の平方和/全体平方和
217.5/(77+217.5+71)
## 全体平方和は要因の平方和と誤差の平方和の総計。spssでは"修正総和"と表示される (spssで"総和"とされているものは切片の平方和も足したもので、相関比の計算には使わない (と思う)
### Anova関数では"SS"と"Error SS"を総計し、(Intercept) の"SS"は引くこと
### aov関数では要因、およびResidualsの"Sum Sq"で表示されている部分の総計

# 偏相関比 (偏イータ二乗)
要因の平方和/(要因の平方和+誤差平方和)
一要因の被験者間分散分析は偏相関比 = 相関比。要因の平方和+誤差平方和 = 全体平方和になるので。被験者内一要因だと切片の誤差平方和 (被験者要因の平方和) を加える必要がある
## Anova関数ではIntercept以外のSS, aov関数ではSum Sq
例だと
217.5/(217.5+71)
####基本は上なのだが、F値は自由度と平方和の関数なので、以下も可能
 [効果Aの自由度(df1)×効果AのF値]/[効果Aの自由度(df1)×効果AのF値+効果Aの検定に用いる誤差の自由度(df2)]
(3*21.44366)/((3*21.44366)+21)
別の計算手続きとしては,F値にdf1をかけてdf2で割り (上のf二乗と同じ) ,その値を「その値に1を足した値」で割る。
((21.44366*3)/21)/(((21.44366*3)/21)+1)
参考: http://home.hiroshima-u.ac.jp/nittono/QA.html

# 偏オメガ二乗
## 反復測定ありだとまた違う式らしい
偏相関比の母集団推定値
要因の平方和 - (要因の自由度*誤差の平均平方和) / 全体平方和
[効果Aの自由度(df1)×(効果AのF値-1)]/ [効果Aの自由度(df1)×(効果AのF値-1)+全データ数]

f二乗の母集団推定値 = オメガ二乗 /(1-オメガ二乗)
## 標本推定によるf二乗とは異なる


そのほかの効果量
# 多変量分散分析 (MANOVA)

1 - Wilks's lambda
これがmultivariate 相関比らしい。多変量偏相関比はまた違うらしい

# カイ二乗検定
2x2 ファイ係数
2x2以外 クラメールの連関係数

重回帰や相関ではそのままR二乗やrを見ればいい

参考文献
水本 篤・竹内 理 (2008). 研究論文における効果量報告のために――基礎概念と注意点―― 英語教育研究, 31, 57-66.
http://www.mizumot.com/files/EffectSize_KELES31.pdf


効果量とは
d family (Cohenのd, f2) とr family (r, eta) がある。
d family は平均値差を標準化したもの、r family は変数間の関連度合いを表したもの
参考:
http://www.ec.kagawa-u.ac.jp/~hori/spss/tokidoki2.html#22
http://home.hiroshima-u.ac.jp/nittono/QA.html#Stat

t検定の効果量
# サンプル
y1 <- c(4, 3, -3, 4, 1, 4, 0, 6, 2, -6, 2, 6, 6, -2, 1, 1, 6, -2, 7, -1) # 男子
y2 <- c(9, 0, 6, 5, 5, 5, 2, 11, 5, 3, 4, 7, 4, 10, -2, 6, 1, 2, 4, 4) # 女子
## 心理統計学の基礎、p. 9 変化量データ。
tres <- t.test(y1, y2, paired=F, var.equal=T)
t.v <- tres$statistic
df <- tres$parameter
tres
        Two Sample t-test

data:  y1 and y2
t = -2.4332, df = 38, p-value = 0.01978
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -4.7632071 -0.4367929
sample estimates:
mean of x mean of y
     1.95      4.55

d family
Cohenのd

平均値差 / sqrt(分散の和/2)
(mean(y1)-mean(y2))/(sqrt((var(y1)+var(y2))/2))
  -0.7694321
## 対応あり、なし、どちらでも同じ (?)
## t値を2倍し、Nの平方根で割るという方法もあるようだが、数値が一致しなくてよくわからない:
2*t.v /sqrt(length(y1)+length(y2))
## これはHedgeのgというらしい。分母を自由度 ( = 38) ではなくNの総計 ( = 40) にするとCohen's dに一致する。分母を自由度にした場合は、効果量の分母で標本分散を使ったときのCohen's dに一致する
2*t.v /sqrt(df)
fv1 <- var(na.omit(y1))*(length(na.omit(y1))-1)/length(na.omit(y1))
fv2 <- var(na.omit(y2))*(length(na.omit(y2))-1)/length(na.omit(y2))
(mean(y1)-mean(y2))/(sqrt((fv1+fv2)/2))
p.rep.t関数で算出されるのは標本の方みたい
## 対応なしで各群の人数が異なる場合は以下を分母にする
s1 <- (var(y1))
s2 <- var(y2)
n1 <- length(y1)
n2 <- length(y2)
sqrt(((n1-1)*s1+(n2-1)*s2)/(n1+n2))

r family
r

sqrt(t.v^2/(t.v^2 + df))
## 群を01としたときの点双列相関係数に等しい
gr <- c(rep(1, 20), rep(0, 20))
y12 <- c(y1, y2)
cor(gr, y12)


Quick-Rの解説が詳しい。以下の数式の画像ファイルは同サイトから

基本は、どの関数もサンプルサイズ (n)、効果量等 (d, f, r...) 、有意水準 (第1種の過誤. sig.level) 、検定力 (1 - 第2種の過誤. power) の引数をもつ。いずれかを指定しないことで、望む値が得られる。

対応のないt検定で、被験者20、効果量が1、有意水準を.05にだったときの検定力を知りたい (南風原, 2002, p. 166-177)
効果量は以下で計算
cohend.png


pwr.t.test(n = 20, d = 1, sig.level = 0.05, type = "two.sample") # power = を 指定しない
     Two-sample t test power calculation

              n = 20
              d = 1
      sig.level = 0.05
          power = 0.868953
    alternative = two.sided

 NOTE: n is number in *each* group

対応のないt検定で、効果量が1のとき、有意水準を.05、検定力.80にしたいときの被験者数を知りたい
pwr.t.test(d = 1, sig.level = 0.05, power = 0.80, type = "two.sample") # n = を指定しない
     Two-sample t test power calculation

              n = 16.71473
              d = 1
      sig.level = 0.05
          power = 0.8
    alternative = two.sided

 NOTE: n is number in *each* group

  type = "one.sample"とすると1標本の平均値を調べられる。pairedと同じく対応のあるデータで用いる。one.sampleは差得点が0かどうかの検定を行うものだが、出力される結果はpairedと同じ。ただし、0じゃない値との検定もできるはできる。
つまり、0と異なるかどうかのt検定=pairedのt検定ということ
alternativeで両側、片側の指定

以下、それぞれの関数の覚書。というかQuick-Rのパクリ
1要因の分散分析
pwr.anova.test(k = , n = , f = , sig.level = , power = )
k: 群の数、n: 各群のサンプルサイズ、f: 効果量。
cohenf.png


多元配置分散分析は川端先生のサイトに解説あり。感謝

相関係数
pwr.r.test(n = , r = , sig.level = , power = )
n: サンプルサイズ、r: 相関係数
## 南風原 (2002), p. 144-145と同じ結果になるやつ -> pwr.r.test(n = 20, r =.4 , sig.level =.05 )

線形モデル
pwr.f2.test(u =, v = , f2 = , sig.level = , power = )
u, v: 自由度、f2: 効果量
cohenf2simple.pngcohenf2.png


比率の検定
pwr.2p.test(h = , n = , sig.level =, power = )
h: 効果量
cohenh.png


カイ二乗検定
pwr.chisq.test(w =, N = , df = , sig.level =, power = )
w: 効果量、N: 全体のサンプルサイズ、df: 自由度
cohenw.png


cohen.ES関数で、dとかf2とかの"大きい"とかいわれる数値を知ることができる。
別に自分の実験の効果量を調べられるわけではない
cohen.ES(test="r",size="medium")
プロフィール
HN:
tao
HP:
性別:
非公開
職業:
会社員
趣味:
アウトドア、自転車、ジョギング、英語学習
自己紹介:
・千葉在住のサラリーマンです。データ分析っぽいことが仕事。
・今年英検1級取得。今はTOEIC高得点を目指して勉強中。
・興味のあることは野球、アウトドア、英語学習、統計、プログラミング、PC関係などなど。
ブログ内検索
freead
順位表
プロ野球データFreak
セリーグ順位表
パリーグ順位表