Sind diese Formeln für die Transformation von P, LSD, MSD, HSD, CI, SE als exakte oder aufgeblasen / konservative Schätzung von

11

Hintergrund

Ich führe eine Metaanalyse durch, die zuvor veröffentlichte Daten enthält. Oft werden Unterschiede zwischen Behandlungen mit P-Werten, niedrigstwertigen Unterschieden (LSD) und anderen Statistiken angegeben, liefern jedoch keine direkte Schätzung der Varianz.

Im Kontext des von mir verwendeten Modells ist eine Überschätzung der Varianz in Ordnung.

Problem

Hier ist eine Liste von Transformationen zu wobei (Saville 2003) , die ich in Betracht ziehe, Feedback erwünscht; Im Folgenden gehe ich davon aus, dass also und Variablen normal verteilt sind, sofern nicht anders angegeben:S E = SE α=0,051- α / 2=0,975SE=MSE/n α=0.051α/2=0.975

Fragen:

  1. gegebenes , und Behandlungsmittel undn X 1 X 2 S E = X 1 - X 2PnX¯1X¯2

    SE=X¯1X¯2t(1P2,2n2)2/n
  2. gegebenes LSD (Rosenberg 2004) , , , wobei die Anzahl der Blöcke ist und standardmäßig für RCBD n b b n = b S E = L S D.αnbbn=b

    SE=LSDt(0.975,n)2bn
  3. gegebene MSD (minimaler signifikanter Unterschied) (Wang 2000) , , , df =α 2 n - 2 S E = M S D.nα2n2

    SE=MSDt(0.975,2n2)2
  4. bei einem Konfidenzintervall von 95% (Saville 2003) (gemessen vom Mittelwert bis zur oberen oder unteren Konfidenzgrenze), undn S E = C I.αn

    SE=CIt(α/2,n)
  5. bei Tukeys HSD, , wobei die 'studentisierte Bereichsstatistik' ist, istq S E = H S D.nq

    SE=HSDq(0.975,n)

Eine R-Funktion zum Einkapseln dieser Gleichungen:

  1. Beispieldaten:

    data <- data.frame(Y=rep(1,5), 
                       stat=rep(1,5), 
                       n=rep(4,5), 
                       statname=c('SD', 'MSE', 'LSD', 'HSD', 'MSD') 
    
  2. Beispiel Verwendung:

    transformstats(data)    
    
  3. Die transformstatsFunktion:

    transformstats <- function(data) {
      ## Transformation of stats to SE
      ## transform SD to SE
      if ("SD" %in% data$statname) {
        sdi <- which(data$statname == "SD")
        data$stat[sdi] <- data$stat[sdi] / sqrt(data$n[sdi])
        data$statname[sdi] <- "SE"
          }
      ## transform MSE to SE
      if ("MSE" %in% data$statname) {
        msei <- which(data$statname == "MSE")
        data$stat[msei] <- sqrt (data$stat[msei]/data$n[msei])
        data$statname[msei] <- "SE"
      }
      ## 95%CI measured from mean to upper or lower CI
      ## SE = CI/t
      if ("95%CI" %in% data$statname) {
        cii <- which(data$statname == '95%CI')
        data$stat[cii] <- data$stat[cii]/qt(0.975,data$n[cii])
        data$statname[cii] <- "SE"
      }
      ## Fisher's Least Significant Difference (LSD)
      ## conservatively assume no within block replication
      if ("LSD" %in% data$statname) {
        lsdi <- which(data$statname == "LSD")
        data$stat[lsdi] <- data$stat[lsdi] / (qt(0.975,data$n[lsdi]) * sqrt( (2 * data$n[lsdi])))
        data$statname[lsdi] <- "SE"
      }
      ## Tukey's Honestly Significant Difference (HSD),
      ## conservatively assuming 3 groups being tested so df =2
      if ("HSD" %in% data$statname) {
        hsdi <- which(data$statname == "HSD" & data$n > 1)
        data$stat[hsdi] <- data$stat[hsdi] / (qtukey(0.975, data$n[lsdi], df = 2))
        data$statname[hsdi] <- "SE"
      }              
      ## MSD Minimum Squared Difference
      ## MSD = t_{\alpha/2, 2n-2}*SD*sqrt(2/n)
      ## SE  = MSD*n/(t*sqrt(2))
      if ("MSD" %in% data$statname) {
        msdi <- which(data$statname == "MSD")
        data$stat[msdi] <- data$stat[msdi] * data$n[msdi] / (qt(0.975,2*data$n[lsdi]-2)*sqrt(2))
        data$statname[msdi] <- "SE"
      }
      if (FALSE %in% c('SE','none') %in% data$statname) {
        print(paste(trait, ': ERROR!!! data contains untransformed statistics'))
      }
      return(data)
    }
    

Verweise

Saville 2003Can J. Exptl Psych. (pdf)

Rosenberg et al 2004 (Link)

Wang et al. 2000 Env. Tox. und Chem 19 (1): 113-117 (Link)

David
quelle
Ich bin mir nicht sicher, ob die meisten CIs wirklich über t-Werte oder vielmehr über z-Werte berechnet werden. Bei größeren ns (> 30) sollte dies jedoch keinen großen Unterschied machen.
Henrik
nn

Antworten:

7

Ihre LSD-Gleichung sieht gut aus. Wenn Sie zur Varianz zurückkehren möchten und eine zusammenfassende Statistik haben, die etwas über die Variabilität oder Signifikanz eines Effekts aussagt, können Sie fast immer zur Varianz zurückkehren - Sie müssen nur die Formel kennen. Zum Beispiel möchten Sie in Ihrer Gleichung für LSD, die Sie für MSE lösen möchten, MSE = (LSD / t _) ^ 2/2 * b

John
quelle
Wenn für MSD MSD = t_ {alpha, 2n-2} * sd sqrt (2 / n), ist SE = MSD n / (t_ {alpha, n} * sqrt (2)) korrekt?
David LeBauer
7

Ich kann John nur zustimmen. Darüber hinaus hilft Ihnen dieses Papier von David Saville vielleicht mit einer Formel zur Neuberechnung von Variabilitätsmaßen von LSDs et al.:
Saville DJ (2003). Grundlegende Statistiken und die Inkonsistenz mehrerer Vergleichsverfahren. Canadian Journal of Experimental Psychology, 57, 167–175

UPDATE:
Wenn Sie nach mehr Formeln suchen, die zwischen verschiedenen Effektgrößen konvertiert werden können, sollten Bücher zur Metaanalyse viele davon enthalten. Ich bin jedoch kein Experte auf diesem Gebiet und kann keinen empfehlen.
Aber ich erinnere mich, dass das Buch von Rosenthal und Rosnow einmal mit einer Formel geholfen hat:
Grundlagen der Verhaltensforschung: Methoden und Datenanalyse
Darüber hinaus habe ich in diesem Buch von Rosenthal, Rosnow & Rubin viele gute Dinge über die Formeln gehört (obwohl Ich habe es nie benutzt):
Kontraste und Effektgrößen in der Verhaltensforschung: Ein Korrelationsansatz (Sie sollten es auf jeden Fall versuchen, wenn eine nahe gelegene Bibliothek es hat).

Wenn dies nicht ausreicht, stellen Sie möglicherweise eine weitere Frage zur Literatur, um die Effektgrößen für Metaanalysen umzurechnen. Vielleicht hat jemand, der sich mehr mit Metaanalyse beschäftigt, fundiertere Empfehlungen.

Henrik
quelle
0

Sie können das R-Paket compute.es ausprobieren . Es gibt verschiedene Funktionen zum Ableiten von Effektgrößenschätzungen und der Varianz der Effektgröße.

3752
quelle
Das ist ein schönes Paket, das Sie geschrieben haben, aber ich bin daran interessiert, die SE-Stichprobe zu schätzen, und diese Funktionen scheinen Varianzschätzungen für die Größen der Metaanalyseeffekte zu liefern, während ich auf die Varianz der Population schließen möchte (z. B. skaliert auf) die Originaldaten). Können Sie ein Beispiel dafür geben, wie die Funktionen im compute.esPaket verwendet werden können, um die oben beschriebenen Gleichungen und Funktionen zu replizieren?
David LeBauer