Cohen d untuk uji-t sampel dependen

10

Pertanyaan singkat: Saya telah melihat Cohen menghitung dua cara berbeda untuk uji-t sampel dependen (misalnya, desain sampel dalam menguji keefektifan obat dengan titik waktu sebelum / sesudah).

  1. Menggunakan deviasi standar dari skor perubahan dalam penyebut persamaan untuk Cohen d.
  2. Menggunakan standar deviasi skor pretest dalam penyebut persamaan untuk Cohen d.

Saya telah menemukan sangat sedikit literatur yang benar-benar menggambarkan yang harus digunakan dan / atau kapan harus menggunakan salah satu opsi.

Adakah pemikiran yang cepat?

gloryatsea
sumber
apakah Anda menemukan cara menghitung Cohen d untuk uji-t sampel berpasangan?
user552231
@ user552231 Sudah ada kode R open source untuk Cochen's D. Sudahkah Anda melihat?
HelloWorld

Jawaban:

6

Geoff Cumming memiliki beberapa komentar tentang masalah ini (diambil dari Cumming, 2013 ):

Namun dalam banyak kasus, pilihan terbaik dari standardizer bukanlah SD yang diperlukan untuk melakukan inferensi pada efek yang dimaksud. Pertimbangkan, misalnya, desain berpasangan, seperti percobaan pra-posting sederhana di mana satu kelompok peserta memberikan data pretest dan posttest. Standarisasi yang paling tepat hampir selalu (Cumming, 2012, hlm. 290–294; Cumming & Finch, 2001, hlm. 568–570) perkiraan SD dalam populasi pretest, mungkin , SD pretest dalam data kami. Sebaliknya, kesimpulan tentang perbedaan membutuhkan , SD dari perbedaan berpasangan — apakah untuk uji t berpasangan atau untuk menghitung CI pada perbedaan (Cumming & Finch, 2005). Sejauh skor pretest dan posttest berkorelasi,s1sdiffsdiffakan lebih kecil dari , percobaan kami akan lebih sensitif, dan nilai d dihitung secara keliru menggunakan karena standardizer akan terlalu besar.s1sdiff

Alasan utama untuk memilih sebagai standardisator dalam desain berpasangan adalah bahwa populasi pretest SD hampir selalu membuat pengertian konseptual terbaik sebagai unit referensi. Alasan penting lainnya adalah untuk mendapatkan nilai d yang cenderung sebanding dengan nilai-nilai d yang diberikan oleh eksperimen desain berpasangan lainnya yang mungkin memiliki korelasi pretest-posttest yang berbeda dan dengan eksperimen dengan desain yang berbeda, termasuk desain kelompok independen, yang semuanya meneliti efek yang sama. Nilai-nilai d dalam semua kasus tersebut cenderung sebanding karena mereka menggunakan standariser yang sama — kontrol atau pretest SD. Perbandingan semacam itu sangat penting untuk meta-analisis, serta untuk interpretasi yang bermakna dalam konteks.spre

dmartin
sumber
3

Saya menemukan jawaban resmi di Frontiers in Psychology . Jika adalah statistik uji, dan adalah pengamatan angka, maka:tN

d=tN
pengguna552231
sumber
Perhatikan bahwa ini akan memberi Anda perubahan rata-rata terstandarisasi di mana perubahan rata-rata terstandarisasi dalam hal standar deviasi skor perubahan (apa yang dilambangkan sebagai 1. dalam pertanyaan).
Wolfgang
0

Berikut adalah fungsi R yang disarankan yang menghitung Hedges 'g (versi Cohen d yang tidak bias) bersama dengan interval kepercayaannya untuk antara atau di dalam subjek desain:

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

}

Inilah cara penggunaannya:

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 )

Saya harap ini membantu.

Denis Cousineau
sumber