簡単な質問:コーエンのdが従属サンプルのt検定に対して2つの異なる方法を計算するのを見てきました(たとえば、前/後の時点で薬物の有効性をテストするサンプル内設計)。
- コーエンdの方程式の分母に変更スコアの標準偏差を使用します。
- コーエンdの方程式の分母に事前テストスコアの標準偏差を使用します。
どちらを使用するか、および/またはどちらのオプションをいつ使用するかを実際に説明する文献はほとんど見つかりませんでした。
簡単な考えはありますか?
簡単な質問:コーエンのdが従属サンプルのt検定に対して2つの異なる方法を計算するのを見てきました(たとえば、前/後の時点で薬物の有効性をテストするサンプル内設計)。
どちらを使用するか、および/またはどちらのオプションをいつ使用するかを実際に説明する文献はほとんど見つかりませんでした。
簡単な考えはありますか?
回答:
Geoff Cummingはこの問題についていくつかコメントがあります(2013年にカミングから取得)。
ただし、多くの場合、標準化の最良の選択は、問題の影響について推論を行うために必要なSDではありません。たとえば、参加者の1つのグループが事前テストと事後テストの両方のデータを提供する単純な事後テストなど、ペアの設計について考えます。最も適切な標準化手法は、事実上常に(Cumming、2012、pp。290–294; Cumming&Finch、2001、pp。568–570)事前テスト母集団のSDの推定値であり、おそらくデータの事前テストSDであるです。対照的に、差異に関する推論には、対応のあるt検定の場合も、差異のCIを計算する場合も、対応のある差異のSDであるが必要です(Cumming&Finch、2005)。事前テストと事後テストのスコアが相関している範囲で、よりも小さく、実験の感度が高くなり、標準化器が大きすぎるため、を使用して誤って計算されたdの値。
ペアデザインの標準化としてを選択する主な理由は、プレテストの母集団SDが参照ユニットとして実質的に常に最良の概念的な意味を持つためです。別の重要な理由は、異なる事前テストと事後テストの相関がある可能性のある他のペア設計実験と、独立グループ設計を含むさまざまな設計の実験によって与えられるd値に匹敵する可能性が高いd値を取得することです。同じ効果。このようなすべての場合のd値は、同じ標準化器(コントロールまたはプレテストSD)を使用しているため、比較できる可能性があります。このような比較可能性は、メタ分析だけでなく、コンテキスト内での意味のある解釈にも不可欠です。
私は心理学のフロンティアで正式な答えを見つけました。場合検定統計量であり、数観察され、その後:
ヘッジのg(コーエンのdの公平なバージョン)を計算する推奨R関数と、被験者間または被験者内の設計の信頼区間を次に示します。
gethedgesg <-function( x1, x2, design = "between", coverage = 0.95) {
# mandatory arguments are x1 and x2, both a vector of data
require(psych) # for the functions SD and harmonic.mean.
# store the columns in a dataframe: more convenient to handle one variable than two
X <- data.frame(x1,x2)
# get basic descriptive statistics
ns <- lengths(X)
mns <- colMeans(X)
sds <- SD(X)
# get pairwise statistics
ntilde <- harmonic.mean(ns)
dmn <- abs(mns[2]-mns[1])
sdp <- sqrt( (ns[1]-1) *sds[1]^2 + (ns[2]-1)*sds[2]^2) / sqrt(ns[1]+ns[2]-2)
# compute biased Cohen's d (equation 1)
cohend <- dmn / sdp
# compute unbiased Hedges' g (equations 2a and 3)
eta <- ns[1] + ns[2] - 2
J <- gamma(eta/2) / (sqrt(eta/2) * gamma((eta-1)/2) )
hedgesg <- cohend * J
# compute noncentrality parameter (equation 5a or 5b depending on the design)
lambda <- if(design == "between") {
hedgesg * sqrt( ntilde/2)
} else {
r <- cor(X)[1,2]
hedgesg * sqrt( ntilde/(2 * (1-r)) )
}
# confidence interval of the hedges g (equations 6 and 7)
tlow <- qt(1/2 - coverage/2, df = eta, ncp = lambda )
thig <- qt(1/2 + coverage/2, df = eta, ncp = lambda )
dlow <- tlow / lambda * hedgesg
dhig <- thig / lambda * hedgesg
# all done! display the results
cat("Hedges'g = ", hedgesg, "\n", coverage*100, "% CI = [", dlow, dhig, "]\n")
}
以下にその使用方法を示します。
x1 <- c(53, 68, 66, 69, 83, 91)
x2 <- c(49, 60, 67, 75, 78, 89)
# using the defaults: between design and 95% coverage
gethedgesg(x1, x2)
# changing the defaults explicitely
gethedgesg(x1, x2, design = "within", coverage = 0.90 )
お役に立てば幸いです。