D de Cohen pour le test t de l'échantillon dépendant


10

Question rapide: J'ai vu le d de Cohen calculé deux façons différentes pour un test t d'échantillons dépendants (par exemple, la conception intra-échantillons testant l'efficacité d'un médicament avec des points temporels pré / post).

  1. En utilisant l'écart type du score de changement dans le dénominateur de l'équation pour le d de Cohen.
  2. Utilisation de l'écart type du score de prétest dans le dénominateur de l'équation pour le d de Cohen.

J'ai trouvé très peu de documentation définissant réellement laquelle utiliser et / ou quand utiliser l'une ou l'autre option.

Des pensées rapides?


avez-vous découvert comment calculer le d de Cohen pour le test t pour échantillon apparié?
user552231

@ user552231 Il existe du code R open source pour le D. de Cochen Avez-vous cherché?
HelloWorld

Réponses:


6

Geoff Cumming a quelques commentaires à ce sujet (tirés de Cumming, 2013 ):

Dans de nombreux cas, cependant, le meilleur choix de standardiseur n'est pas le SD nécessaire pour effectuer l'inférence sur l'effet en question. Prenons, par exemple, la conception par paires, comme une simple expérience pré-post dans laquelle un seul groupe de participants fournit à la fois des données avant et après test. Le standardiseur le plus approprié est pratiquement toujours (Cumming, 2012, pp. 290-294; Cumming & Finch, 2001, pp. 568–570) une estimation de la SD dans la population de , peut-être , la SD de dans nos données. En revanche, l'inférence sur la différence nécessite , l'écart-type des différences appariées, que ce soit pour un test t apparié ou pour calculer un IC sur la différence (Cumming et Finch, 2005). Dans la mesure où les scores avant et après test sont corrélés,s1sdiffsdiffsera plus petit que , notre expérience sera plus sensible et une valeur de d calculée par erreur en utilisant comme standardiseur sera trop grande.s1sdiff

La principale raison du choix de comme normalisateur dans le plan apparié est que la population de prétest SD est pratiquement toujours la meilleure idée conceptuelle comme unité de référence. Une autre raison importante est d’obtenir des valeurs d susceptibles d’être comparables aux valeurs d fournies par d’autres expériences de conception par paires ayant peut-être différentes corrélations prétest-posttest et par des expériences avec des conceptions différentes, y compris la conception de groupes indépendants, qui examinent toutes les même effet. Dans tous ces cas, les valeurs d sont susceptibles d'être comparables car elles utilisent le même normalisateur, le contrôle ou le prétest SD. Cette comparabilité est essentielle pour la méta-analyse, ainsi que pour une interprétation significative dans le contexte.spre


3

J'ai trouvé la réponse officielle dans Frontiers in Psychology . Si est la statistique de test et le nombre d'observations, alors:tN

d=tN

Notez que cela vous donnera le changement moyen standardisé où le changement moyen est normalisé en termes d'écart type des scores de changement (ce qui est noté 1. dans la question).
Wolfgang

0

Voici une fonction R suggérée qui calcule le g de Hedges (la version non biaisée du d de Cohen) ainsi que son intervalle de confiance pour la conception entre les sujets ou à l'intérieur des sujets:

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")

}

Voici comment il pourrait être utilisé:

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 )

J'espère que ça aide.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.