Cohen d per il test t del campione dipendente


10

Domanda veloce: ho visto che Cohen ha calcolato due modi diversi per un t-test di campioni dipendenti (ad esempio, la progettazione all'interno di campioni che verifica l'efficacia di un farmaco con punti pre / post).

  1. Usando la deviazione standard del punteggio di cambiamento nel denominatore dell'equazione per Cohen's d.
  2. Usando la deviazione standard del punteggio pretest nel denominatore dell'equazione per Cohen's d.

Ho trovato pochissima letteratura che delinea davvero quale usare e / o quando usare entrambe le opzioni.

Qualche pensiero veloce?


hai scoperto come calcolare Cohen's d per il t-test di esempio accoppiato?
user552231,

@ user552231 Esistono codici R open source per Cochen's D. Hai cercato?
HelloWorld,

Risposte:


6

Geoff Cumming ha alcuni commenti sull'argomento (tratto da Cumming, 2013 ):

In molti casi, tuttavia, la migliore scelta di standardizzatore non è la DS necessaria per dedurre l'effetto in questione. Si consideri, ad esempio, il design accoppiato, come un semplice esperimento pre-post in cui un singolo gruppo di partecipanti fornisce sia dati pretest che posttest. Lo standardizzatore più appropriato è praticamente sempre (Cumming, 2012, pp. 290–294; Cumming & Finch, 2001, pp. 568–570) una stima della DS nella popolazione pretest, forse , la SD pretest nei nostri dati. Al contrario, l'inferenza sulla differenza richiede , la SD delle differenze accoppiate, sia per un test t accoppiato sia per calcolare un CI sulla differenza (Cumming & Finch, 2005). Nella misura in cui i punteggi pretest e posttest sono correlati,s1sdiffsdiffsarà più piccolo di , il nostro esperimento sarà più sensibile e un valore di d calcolato erroneamente usando come standardizzatore sarà troppo grande.s1sdiff

Il motivo principale per la scelta di come standardizzatore nel design accoppiato è che la popolazione pretest SD ha virtualmente sempre il miglior senso concettuale come unità di riferimento. Un altro motivo importante è quello di ottenere valori d che sono probabilmente comparabili ai valori d dati da altri esperimenti di progettazione accoppiati che possibilmente hanno correlazioni differenti pretest-posttest e da esperimenti con progetti diversi, incluso il progetto di gruppi indipendenti, che esaminano tutti i stesso effetto. I valori d in tutti questi casi sono probabilmente comparabili perché usano lo stesso standardizzatore, la SD di controllo o pretest. Tale comparabilità è essenziale per la meta-analisi, nonché per un'interpretazione significativa nel contesto.spre


3

Ho trovato la risposta formale in Frontiers in Psychology . Se è la statistica del test e è il numero di osservazioni, allora:tN

d=tN

Si noti che ciò fornirà la variazione media standardizzata in cui la variazione media è standardizzata in termini di deviazione standard dei punteggi di modifica (ciò che è indicato come 1. nella domanda).
Wolfgang,

0

Ecco una funzione R suggerita che calcola la g di Hedges (la versione imparziale della d di Cohen) insieme al suo intervallo di confidenza per la progettazione tra o all'interno del soggetto:

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

}

Ecco come potrebbe essere usato:

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 )

Spero possa essere d'aiuto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.