D Коэна для t-теста зависимого образца

10

Быстрый вопрос: я видел, как d Коэна вычислил два разных способа для t-теста зависимых образцов (например, в рамках дизайна выборки, проверяющего эффективность лекарства с до / после времени).

  1. Используя стандартное отклонение оценки изменения в знаменателе уравнения для Коэна d.
  2. Используя стандартное отклонение оценки перед тестом в знаменателе уравнения Коэна d.

Я обнаружил, что на самом деле очень мало литературы, в которой действительно указывается, какую использовать и / или когда использовать ту или иную опцию.

Есть быстрые мысли?

gloryatsea
источник
Вы узнали, как рассчитать d Коэна для t-критерия парной выборки?
user552231
@ user552231 Есть код с открытым исходным кодом R для Кохена D. Вы смотрели?
HelloWorld

Ответы:

6

Джефф Камминг имеет несколько комментариев по этому вопросу (взято из Cumming, 2013 ):

Однако во многих случаях лучший выбор стандартизатора - это не SD, необходимая для проведения вывода о рассматриваемом эффекте. Рассмотрим, например, парный дизайн, такой как простой эксперимент до публикации, в котором одна группа участников предоставляет данные как до, так и после теста. Наиболее подходящим стандартизатором практически всегда является (Cumming, 2012, с. 290–294; Cumming & Finch, 2001, с. 568–570) оценка SD в популяции до тестирования, возможно, , SD до тестирования в наших данных. Напротив, для вывода о разнице требуется , SD парных разностей - будь то для парного t-теста или для вычисления КИ по разнице (Cumming & Finch, 2005). В той степени, в которой баллы до и после тестирования коррелируют,s d i f f s d i f f s 1 s d i f fs1sdiffsdiffбудет меньше, чем , наш эксперимент будет более чувствительным, и значение d, ошибочно рассчитанное с использованием качестве стандартизатора, будет слишком большим.s1sdiff

Основная причина выбора качестве стандартизатора в парном проекте заключается в том, что SD с предтестовым населением практически всегда имеет лучший концептуальный смысл в качестве эталонной единицы. Другая важная причина заключается в том, чтобы получить значения d, которые, вероятно, будут сопоставимы со значениями d, данными в других экспериментах с парным дизайном, возможно, имеющих различные корреляции до тестирования и после тестирования, а также в экспериментах с различными проектами, включая дизайн независимых групп, каждый из которых исследует тот же эффект. Значения d во всех таких случаях, вероятно, будут сопоставимы, поскольку они используют один и тот же стандартизатор - SD контроля или SD предварительного тестирования. Такая сопоставимость необходима для мета-анализа, а также для осмысленной интерпретации в контексте.spre

dmartin
источник
3

Я нашел официальный ответ в Frontiers in Psychology . Если - статистика теста, а - число наблюдений, то:н д = тtN

d=tN
user552231
источник
Обратите внимание, что это даст вам стандартизированное среднее изменение, где среднее изменение стандартизировано в терминах стандартного отклонения оценок изменений (что обозначено как 1. в вопросе).
Вольфганг
0

Вот предложенная R-функция, которая вычисляет хеджинговую g (несмещенную версию d Коэна) вместе с ее доверительным интервалом для проектирования между объектами или внутри объекта:

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 )

Я надеюсь, что это помогает.

Дени Кузино
источник