Cohen d cho thử nghiệm mẫu phụ thuộc


10

Câu hỏi nhanh: Tôi đã thấy Cohen đã tính hai cách khác nhau cho một thử nghiệm mẫu phụ thuộc (ví dụ: thử nghiệm thiết kế mẫu bên trong hiệu quả của một loại thuốc với các mốc thời gian trước / sau).

  1. Sử dụng độ lệch chuẩn của điểm thay đổi trong mẫu số của phương trình cho Cohen's d.
  2. Sử dụng độ lệch chuẩn của điểm số trước trong mẫu số của phương trình cho Cohen's d.

Tôi đã tìm thấy rất ít tài liệu thực sự phân định nên sử dụng và / hoặc khi nào nên sử dụng một trong hai tùy chọn.

Có suy nghĩ nhanh nào không?


bạn đã khám phá ra cách tính Cohen's d cho bài kiểm tra mẫu thử nghiệm chưa?
dùng552231

@ user552231 Có mã R mã nguồn mở cho Cochen's D. Bạn đã xem chưa?
HelloWorld

Câu trả lời:


6

Geoff Cumming có một vài bình luận về vấn đề này (lấy từ Cumming, 2013 ):

Tuy nhiên, trong nhiều trường hợp, sự lựa chọn tốt nhất của bộ tiêu chuẩn hóa không phải là SD cần thiết để tiến hành suy luận về hiệu quả trong câu hỏi. Ví dụ, hãy xem xét thiết kế được ghép nối, chẳng hạn như một thử nghiệm bài trước đơn giản, trong đó một nhóm người tham gia cung cấp cả dữ liệu trước và sau. Các standardizer thích hợp nhất là hầu như luôn luôn (Cumming, 2012, tr 290-294;. Cumming & Finch, 2001, tr 568-570.) Ước tính SD trong dân số pretest, có lẽ , SD pretest trong dữ liệu của chúng tôi. Ngược lại, suy luận về sự khác biệt đòi hỏi , SD của các khác biệt được ghép cặp, cho dù cho thử nghiệm t được ghép nối hay để tính CI về chênh lệch (Cumming & Finch, 2005). Trong phạm vi điểm trước và điểm sau tương quan,s d i f f s d i f f s 1 s d i f fs1sdiffsdiffsẽ nhỏ hơn , thử nghiệm của chúng tôi sẽ nhạy hơn và giá trị d được tính toán sai khi sử dụng vì bộ chuẩn hóa sẽ quá lớn.s1sdiff

Lý do chính để chọn làm tiêu chuẩn hóa trong thiết kế được ghép nối là vì dân số SD giả định hầu như luôn có ý nghĩa khái niệm tốt nhất như là một đơn vị tham chiếu. Một lý do quan trọng khác là để có được các giá trị d có khả năng tương đương với các giá trị d được đưa ra bởi các thử nghiệm thiết kế ghép đôi khác có thể có mối tương quan posttest giả khác nhau và bằng các thử nghiệm với các thiết kế khác nhau, bao gồm cả thiết kế nhóm độc lập, tất cả đều kiểm tra cùng tác dụng. Các giá trị d trong tất cả các trường hợp như vậy có khả năng tương đương vì chúng sử dụng cùng một bộ tiêu chuẩn hóa điều khiển hoặc SD giả định. So sánh như vậy là cần thiết cho phân tích tổng hợp, cũng như để giải thích có ý nghĩa trong bối cảnh.spre


3

Tôi tìm thấy câu trả lời chính thức trong Frontiers in Psychology . Nếu là thống kê kiểm tra và là các quan sát số, thì:N d = ttN

d=tN

Lưu ý rằng điều này sẽ cung cấp cho bạn thay đổi trung bình được tiêu chuẩn hóa trong đó thay đổi trung bình được chuẩn hóa theo độ lệch chuẩn của điểm thay đổi (được ký hiệu là 1. trong câu hỏi).
Wolfgang

0

Dưới đây là hàm R được đề xuất để tính toán Hedges 'g (phiên bản không thiên vị của Cohen's d) cùng với khoảng tin cậy của nó cho thiết kế giữa hoặc bên trong chủ đề:

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

}

Đây là cách nó có thể được sử dụng:

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 )

Tôi hy vọng nó sẽ giúp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.