Warum erhöht das Sammeln von Daten bis zum Erreichen eines signifikanten Ergebnisses die Fehlerrate von Typ I?


60

Ich habe mich genau gefragt, warum das Sammeln von Daten bis zu einem signifikanten Ergebnis (z. B. ) die Typ-I-Fehlerrate erhöht.p<.05

Ich würde mich auch sehr über eine RDemonstration dieses Phänomens freuen.


6
Sie meinen wahrscheinlich "p-Hacking", weil "Harking" sich auf "Hypothese, nachdem die Ergebnisse bekannt sind" bezieht und obwohl dies als verwandte Sünde angesehen werden könnte, ist es nicht das, wonach Sie fragen.
whuber

2
Xkcd beantwortet noch einmal eine gute Frage mit Bildern. xkcd.com/882
Jason

7
@Jason Ich muss mit Ihrem Link nicht einverstanden sein; das spricht nicht über die kumulative Erhebung von Daten. Die Tatsache, dass sogar die kumulative Sammlung von Daten über dasselbe Objekt und die Verwendung aller Daten, die Sie zur Berechnung des Werts benötigen, falsch ist, ist weitaus nicht trivialer als der Fall in dieser xkcd. p
JiK

1
@JiK, fairer Ruf. Ich habe mich auf den Aspekt "Versuche es weiter, bis wir ein Ergebnis erzielen, das uns gefällt" konzentriert, aber du hast absolut Recht, in der vorliegenden Frage steckt noch viel mehr dahinter.
Jason

@whuber und user163778 gab sehr ähnliche Antworten wie für die praktisch identisch Fall von „A / B (sequenziell) Tests“ in diesem Thread diskutiert: stats.stackexchange.com/questions/244646/... Dort haben wir argumentiert , in Bezug auf die Familie Wise Fehler Raten und Notwendigkeit der p-Wert-Anpassung bei wiederholten Tests. Diese Frage kann tatsächlich als ein wiederholtes Testproblem angesehen werden!
Tomka

Antworten:


87

Das Problem ist, dass Sie sich zu viele Chancen geben, um den Test zu bestehen. Es ist nur eine schicke Version dieses Dialogs:

Ich drehe dich um, um zu sehen, wer für das Abendessen bezahlt.

OK, ich rufe Köpfe.

Ratten, du hast gewonnen. Beste zwei von drei?


Um dies besser zu verstehen, betrachten Sie ein vereinfachtes, aber realistisches Modell dieser sequentiellen Prozedur . Angenommen, Sie beginnen mit einem "Probelauf" einer bestimmten Anzahl von Beobachtungen, sind jedoch bereit, länger zu experimentieren, um einen p-Wert von weniger als . Die Nullhypothese ist, dass jede Beobachtung (unabhängig) von einer Standardnormalverteilung stammt. Die Alternative besteht darin, dass unabhängig von einer Normalverteilung mit Einheitsvarianz mit einem Mittelwert ungleich Null vorliegt. Die Teststatistik ist der Mittelwert aller Beobachtungen, , dividiert durch ihren Standardfehler, . Bei einem zweiseitigen Test sind die kritischen Werte die0.05XiXinX¯1/n0.025 und Prozentpunkte der Standardnormalverteilung, ungefähr.0.975Zα=±1.96

Dies ist ein guter Test - für ein einzelnes Experiment mit einer festen Stichprobengröße . Es hat genau eine Wahrscheinlichkeit von , die Nullhypothese abzulehnen, egal was mag.n5%n

Lassen Sie uns dies algebraisch in einen äquivalenten Test umwandeln, der auf der Summe aller Werte basiert :S n = X 1 + X 2 + + X n = n ˉ X .n

Sn=X1+X2++Xn=nX¯.

Somit sind die Daten "signifikant", wenn

|Zα||X¯1/n|=|Snn/n|=|Sn|/n;

das ist,

(1)|Zα|n|Sn|.

Wenn wir klug sind, werden wir unsere Verluste reduzieren und aufgeben, sobald sehr groß wird und die Daten immer noch nicht in den kritischen Bereich gelangen.n

Dies beschreibt einen Zufallsspaziergang . Die Formel läuft darauf hinaus, einen gekrümmten parabolischen "Zaun" oder eine Barriere um das Grundstück des zufälligen Weges herum zu errichten : Das Ergebnis ist "signifikant", wenn irgendein Punkt des zufälligen Weges auf den Zaun trifft.Sn(1)(n,Sn)

Es ist eine Eigenschaft von zufälligen Spaziergängen, dass, wenn wir lange genug warten, es sehr wahrscheinlich ist, dass das Ergebnis irgendwann signifikant aussehen wird.

Hier sind 20 unabhängige Simulationen bis zu einer Grenze von Proben. Sie alle beginnen mit der Prüfung bei Stichproben. An diesem Punkt prüfen wir, ob jeder Punkt außerhalb der nach Formel eingezeichneten Barrieren liegt . Ab dem Punkt, an dem der statistische Test zuerst "signifikant" ist, werden die simulierten Daten rot gefärbt.n=5000n=30(1)

Zahl

Sie können sehen, was los ist: Der zufällige Gang peitscht mehr und mehr auf und ab, wenn zunimmt. Die Barrieren breiten sich in etwa gleichem Maße aus - aber nicht schnell genug, um das zufällige Laufen zu vermeiden.n

In 20% dieser Simulationen wurde ein "signifikanter" Unterschied festgestellt - normalerweise ziemlich früh - obwohl in jedem von ihnen die Nullhypothese absolut korrekt ist! Wenn Sie weitere Simulationen dieses Typs ausführen, liegt die tatsächliche Testgröße eher bei als bei dem beabsichtigten Wert von Dies bedeutet, dass Sie bereit sind, bis zu einer Stichprobengröße von nach "Signifikanz" zu suchen gibt Ihnen eine Chance von , die Null zurückzuweisen, auch wenn die Null wahr ist.25%α=5%500025%

Beachten Sie, dass in allen vier "signifikanten" Fällen die Daten bei fortgesetzten Tests an einigen Punkten nicht mehr signifikant aussahen. Im wirklichen Leben verliert ein Experimentator, der früh aufhört, die Chance, solche "Umkehrungen" zu beobachten. Diese Selektivität durch optionales Stoppen wirkt sich negativ auf die Ergebnisse aus.

Bei sequentiellen Tests, bei denen es sich um ehrliche Tests handelt, sind die Barrieren Linien. Sie breiten sich schneller aus als die hier gezeigten gekrümmten Barrieren.

library(data.table)
library(ggplot2)

alpha <- 0.05   # Test size
n.sim <- 20     # Number of simulated experiments
n.buffer <- 5e3 # Maximum experiment length
i.min <- 30     # Initial number of observations
#
# Generate data.
#
set.seed(17)
X <- data.table(
  n = rep(0:n.buffer, n.sim),
  Iteration = rep(1:n.sim, each=n.buffer+1),
  X = rnorm((1+n.buffer)*n.sim)
)
#
# Perform the testing.
#
Z.alpha <- -qnorm(alpha/2)
X[, Z := Z.alpha * sqrt(n)]
X[, S := c(0, cumsum(X))[-(n.buffer+1)], by=Iteration]
X[, Trigger := abs(S) >= Z & n >= i.min]
X[, Significant := cumsum(Trigger) > 0, by=Iteration]
#
# Plot the results.
#
ggplot(X, aes(n, S, group=Iteration)) +
  geom_path(aes(n,Z)) + geom_path(aes(n,-Z)) +
  geom_point(aes(color=!Significant), size=1/2) +
  facet_wrap(~ Iteration)

12
+1. Überquert irgendwann ein beliebiger Gang die Barrieren mit Wahrscheinlichkeit 1? Ich weiß, dass der erwartete Abstand nach Schritten und ich habe jetzt nachgesehen, dass die Proportionalitätskonstante , was weniger als 1,96 ist. Aber ich bin nicht sicher, was ich davon halten soll. nO(n)2/π
Amöbe sagt Reinstate Monica

10
@amoeba Das ist eine tolle Frage, der ich nach besten Kräften ausweichen wollte :-). Wenn ich die Antwort schnell hätte berechnen können (oder es sofort gewusst hätte), hätte ich sie gepostet. Leider bin ich zu beschäftigt, um es jetzt analytisch anzugehen. Die längste Simulation, die ich durchgeführt habe, war 1.000 Iterationen mit einem Wert von von . Der Anteil der "signifikanten" Ergebnisse scheint sich in der Nähe von zu stabilisieren . n=5,000,000α=0.051/4
whuber

4
Die Frage nach der Wahrscheinlichkeit, die Grenze von treffen, ist interessant. Ich stelle mir vor, dass Einsteins Theorie der Brownschen Bewegung, die sie mit einer Diffusionsgleichung in Verbindung bringt, ein interessanter Winkel sein könnte. Wir haben eine Verteilungsfunktion, die sich mit einer Rate und einem "Partikelverlust" ausbreitet, der der Hälfte des Wertes der Verteilungsfunktion an dieser Grenze entspricht (die Hälfte bewegt sich von Null weg, über die Grenze, die andere Hälfte geht zurück). Wenn sich diese Verteilungsfunktion ausbreitet und dünner wird, wird der "Verlust" geringer. Ich stelle mir vor, dass dies effektiv ein Limit schafft, dh dieses 1/4. α=0.05n
Sextus Empiricus

6
Intuitiver Grund, warum Sie mit ziemlicher Sicherheit irgendwann ein : Lassen Sie und . Der Wert nach den ersten Versuchen ist ziemlich unabhängig vom Wert nach den ersten Versuchen. Sie haben also unendlich viele "fast" unabhängige Werte, von denen einer garantiert . Natürlich ist die reale Konvergenz viel schneller als dieses Argument besagt. (Und wenn dir nicht gefällt , kannst du es mit oder versuchen ...)p<0.05n1=10nk+1=10nkpnk+1pnkp<0.0510nkA(nk)BB(nk)
JiK

10
@CL. Ich habe Ihren Einwand vor einigen Jahren vorweggenommen: 17 ist mein öffentlicher Same. Tatsächlich habe ich in frühen (viel längeren) Studien durchweg höhere Signifikanzraten von deutlich mehr als 20% erhalten. Ich habe den Startwert auf 17 festgelegt, um das endgültige Bild zu erstellen, und war enttäuscht, dass der Effekt nicht so dramatisch war. So ist das Leben. Ein entsprechender Beitrag (der Ihren Standpunkt veranschaulicht) ist unter stats.stackexchange.com/a/38067/919 zu finden .
whuber

18

Menschen, die noch keine Erfahrung mit Hypothesentests haben, sind der Meinung, dass ein p-Wert unter 0,05 liegt, wenn mehr Teilnehmer hinzugefügt werden, der p-Wert nur noch weiter sinkt. Das stimmt aber nicht. Unter der Nullhypothese ist der p-Wert gleichmäßig zwischen 0 und 1 verteilt und kann in diesem Bereich ziemlich stark schwanken.

Ich habe einige Daten in R simuliert (meine R-Kenntnisse sind ziemlich einfach). In dieser Simulation sammle ich 5 Datenpunkte - jeweils mit einer zufällig ausgewählten Gruppenzugehörigkeit (0 oder 1) und jeweils mit einem zufällig ausgewählten Ergebnismaß ~ N (0,1). Ab Teilnehmer 6 führe ich bei jeder Iteration einen T-Test durch.

for (i in 6:150) {
  df[i,1] = round(runif(1))
  df[i,2] = rnorm(1)
  p = t.test(df[ , 2] ~ df[ , 1], data = df)$p.value
  df[i,3] = p
}

Die p-Werte sind in dieser Figur angegeben. Beachten Sie, dass ich signifikante Ergebnisse finde, wenn die Stichprobengröße zwischen 70 und 75 liegt. Wenn ich dort aufhöre, werde ich am Ende glauben, dass meine Ergebnisse bedeutend sind, weil ich die Tatsache übersehen habe, dass meine p-Werte mit einer größeren Stichprobe wieder angestiegen sind (dies ist mir tatsächlich einmal mit echten Daten passiert). Da ich weiß, dass beide Populationen einen Mittelwert von 0 haben, muss dies ein falsch positiver Wert sein. Dies ist das Problem beim Hinzufügen von Daten bis p <.05. Wenn Sie genügend Tests hinzufügen, wird p möglicherweise den Schwellenwert von 0,05 überschreiten, und Sie können feststellen, dass jeder Datensatz eine signifikante Auswirkung hat.

Bildbeschreibung hier eingeben


1
Danke, aber Ihr RCode läuft überhaupt nicht.
Reza

3
@Reza müssen Sie dfzuerst erstellen (vorzugsweise in der endgültigen Größe). Da der Code in Zeile 6 die Implikation zu schreiben beginnt (die mit dem Text der Antwort paßt) ist , dass df bereits mit 5 Reihen existiert bereits ausgefüllt Vielleicht so etwas wie dies beabsichtigt war. n150<-vector("numeric",150); df<-data.frame(gp=n150,val=n150,pval=n150); init<-1:5; df[init,1]<-c(0,1,0,1,0); df[init,2]<-rnorm(5)( Führen Sie den Code oben) , dann vielleicht: plot(df$pv[6:150])
Glen_b

@ user263778 sehr fokussiert nützliche und sachdienliche Antwort. Aber es gibt zu viel Verwirrung über die Interpretation des so genannten p-Wertes - tanzende Schönheit.
Subhash C. Davar

@ user163778 - Sie sollten den Code einschließen, um auch alles zu initialisieren
Dason

17

Diese Antwort betrifft nur die Wahrscheinlichkeit, dass letztendlich ein "signifikantes" Ergebnis erzielt wird, und die Verteilung der Zeit auf dieses Ereignis nach dem @ whuber-Modell.

Wie im Modell von @whuber bezeichne den Wert der Teststatistik, nachdem Beobachtungen gesammelt wurden, und nehme an, dass die Beobachtungen normal sind . Dann ist so dass sich wie eine zeitkontinuierliche Brownsche Standardbewegung verhält, wenn wir dies für den Moment ignorieren die Tatsache, dass wir einen zeitdiskreten Prozess haben (linkes Diagramm unten).S(t)=X1+X2++XttX1,X2,

(1)S(t+h)|S(t)=s0N(s0,h),
S(t)

Es sei die erste Durchgangszeit von über die zeitabhängigen Barrieren (die Anzahl der Beobachtungen, die vor dem Test erforderlich sind, wird signifikant).TS(t)±zα/2t

Betrachten Sie den transformierten Prozess , der durch Skalieren von mit seiner Standardabweichung zum Zeitpunkt und durch Zulassen der neuen Zeitskala so dass Aus (1) und (2) folgt, dass normalerweise mit und Y(τ)S(t)tτ=lnt

(2)Y(τ)=S(t(τ))t(τ)=eτ/2S(eτ).
Y(τ+δ)
E(Y(τ+δ)|Y(τ)=y0)=E(e(τ+δ)/2S(eτ+δ)|S(eτ)=y0eτ/2)(3)=y0eδ/2
Var(Y(τ+δ)|Y(τ)=y0)=Var(e(τ+δ)/2S(eτ+δ)|S(eτ)=y0eτ/2)(4)=1eδ,
das heißt, ist ein Ornstein-Uhlenbeck (OU) -Prozess mit einem Mittelwert von Null mit einer stationären Varianz von 1 und einer Rückkehrzeit von 2 (rechte Darstellung unten).Y(τ)

Bildbeschreibung hier eingeben

Für das transformierte Modell werden die Barrieren zu zeitunabhängigen Konstanten, die . Es ist dann bekannt ( Nobile et al. 1985 ; Ricciardi & Sato, 1988 ), dass die erste Durchlaufzeit des OU-Prozesses über diese Barrieren ungefähr exponentiell mit einem Parameter (abhängig von den Barrieren bei ) (geschätzt auf für unten). Es gibt auch eine zusätzliche Punktmasse in der Größe in . "Ablehnung" von±zα/2TY(τ)λ±zα/2λ^=0.125α=0.05ατ=0H0passiert schließlich mit Wahrscheinlichkeit 1. Daher folgt (die Anzahl der Beobachtungen, die gesammelt werden müssen, bevor ein "signifikantes" Ergebnis erhalten wird) ungefähr einer logarithmischen Exponentialverteilung mit dem erwarteten Wert Somit hat nur dann eine endliche Erwartung, wenn (für ausreichend große Signifikanzstufen ).T=eT

(5)ET1+(1α)0eτλeλτdτ.
Tλ>1α

Das Obige ignoriert die Tatsache, dass für das reale Modell diskret ist und dass der reale Prozess diskret und nicht zeitkontinuierlich ist. Daher überschätzt das obige Modell die Wahrscheinlichkeit, dass die Barriere überschritten wurde (und unterschätzt ), weil der zeitkontinuierliche Abtastpfad die Barriere möglicherweise nur vorübergehend zwischen zwei benachbarten diskreten Zeitpunkten und überschreitet . Solche Ereignisse sollten jedoch eine vernachlässigbare Wahrscheinlichkeit für große . TETtt+1t

Die folgende Abbildung zeigt eine Kaplan-Meier-Schätzung von auf der Log-Log-Skala zusammen mit der Überlebenskurve für die exponentielle zeitkontinuierliche Approximation (rote Linie).P(T>t)

Bildbeschreibung hier eingeben

R-Code:

# Fig 1
par(mfrow=c(1,2),mar=c(4,4,.5,.5))
set.seed(16)
n <- 20
npoints <- n*100 + 1
t <- seq(1,n,len=npoints)
subset <- 1:n*100-99
deltat <- c(1,diff(t))
z <- qnorm(.975)
s <- cumsum(rnorm(npoints,sd=sqrt(deltat)))
plot(t,s,type="l",ylim=c(-1,1)*z*sqrt(n),ylab="S(t)",col="grey")
points(t[subset],s[subset],pch="+")
curve(sqrt(t)*z,xname="t",add=TRUE)
curve(-sqrt(t)*z,xname="t",add=TRUE)
tau <- log(t)
y <- s/sqrt(t)
plot(tau,y,type="l",ylim=c(-2.5,2.5),col="grey",xlab=expression(tau),ylab=expression(Y(tau)))
points(tau[subset],y[subset],pch="+")
abline(h=c(-z,z))

# Fig 2
nmax <- 1e+3
nsim <- 1e+5
alpha <- .05
t <- numeric(nsim)
n <- 1:nmax
for (i in 1:nsim) {
  s <- cumsum(rnorm(nmax))
  t[i] <- which(abs(s) > qnorm(1-alpha/2)*sqrt(n))[1]
}
delta <- ifelse(is.na(t),0,1)
t[delta==0] <- nmax + 1
library(survival)
par(mfrow=c(1,1),mar=c(4,4,.5,.5))
plot(survfit(Surv(t,delta)~1),log="xy",xlab="t",ylab="P(T>t)",conf.int=FALSE)
curve((1-alpha)*exp(-.125*(log(x))),add=TRUE,col="red",from=1,to=nmax)

Vielen Dank! Haben Sie (Standard-) Referenzen für diese Ergebnisse? Warum ist zum Beispiel der Y-Prozess ein Ornstein-Uhlenbeck und wo können wir das angegebene Durchlaufzeit-Ergebnis finden?
Grassie

1
Ich habe diese Transformation nirgendwo anders gesehen, aber ich glaube, dass (3) und (4), die sich leicht aus (1) und (2) ergeben, und Normalität den OU-Prozess vollständig charakterisieren. Der Google-Wissenschaftler gibt eine Reihe von Ergebnissen zur ungefähren Exponentialität der Zeitverteilungen im ersten Durchgang für den OU-Prozess zurück. Aber ich glaube, dass in diesem Fall (in der zeitkontinuierlichen Näherung) genau exponentiell verteilt ist (mit Ausnahme einer zusätzlichen Punktmasse in ), weil aus der stationären Verteilung des Prozesses stammt . Tτ=0Y(0)
Jarle Tufto


@Grassie Eigentlich war meine Argumentation auf der Grundlage von Memorylessness fehlerhaft. Die Dauer von Exkursionen außerhalb der Grenzen ist nicht exponentiell verteilt. Basierend auf demselben Argument wie in stats.stackexchange.com/questions/298828/… ist die Zeit für den ersten Durchgang nicht genau exponentiell verteilt , obwohl aus der stationären Verteilung stammt. Y(0)
Jarle Tufto

5

Es muss gesagt werden, dass die obige Diskussion für eine frequentistische Weltanschauung ist, für die die Vielfältigkeit von der Wahrscheinlichkeit herrührt, dass Sie Daten als extremer einstufen, und nicht von der Wahrscheinlichkeit, dass Sie einen Effekt erzielen. Die Hauptursache für das Problem ist, dass p-Werte und Typ-I-Fehler eine Rückwärts-Zeit-Rückwärts-Informationsfluss-Konditionierung verwenden, was es wichtig macht, "wie Sie hierher gekommen sind" und was stattdessen passiert sein könnte . Andererseits verschlüsselt das Bayes'sche Paradigma die Skepsis gegenüber einer Auswirkung auf den Parameter selbst, nicht auf die Daten. Dadurch wird jede hintere Wahrscheinlichkeit gleich interpretiert, unabhängig davon, ob Sie vor 5 Minuten eine andere hintere Wahrscheinlichkeit für einen Effekt berechnet haben oder nicht. Weitere Details und eine einfache Simulation finden Sie unter http://www.fharrell.com/2017/10/continuous-learning-from-data-no.


1
Stellen wir uns ein Labor vor, das von Dr. B geleitet wird, einem frommen Bayesianer. Das Labor befasst sich mit sozialer Grundierung und hat einen stetigen Strom von Arbeiten erstellt, die verschiedene Auswirkungen der Grundierung zeigen, jedes Mal unterstützt durch den Bayes-Faktor BF> 10. Wenn sie niemals sequentielle Tests durchführen, sieht das ziemlich überzeugend aus. Aber nehmen wir an, ich lerne, dass sie immer sequentielle Tests durchführen und immer neue Probanden finden, bis sie BF> 10 zugunsten von Priming-Effekten erhalten . Dann ist diese ganze Arbeit natürlich wertlos. Die Tatsache, dass sie sequentielle Tests und Selektionen durchführen, macht einen großen Unterschied, egal ob es sich um p-Werte von BF handelt.
Amöbe sagt Reinstate Monica

1
Ich benutze keine Bayes-Faktoren. Hätten sie jedoch hintere Wahrscheinlichkeiten verwendet und jedes Experiment bis zur hinteren Wahrscheinlichkeit eines positiven Effekts , so wäre an diesen Wahrscheinlichkeiten absolut nichts auszusetzen. Schauen Sie sich das Zitat am Anfang meines Blog-Artikels an - siehe den Link in meiner Antwort oben. Der Grad der Überzeugung über den Priming-Effekt ergibt sich aus den Daten und der vorherigen Überzeugung. Wenn Sie (wie ich) solche Priming-Effekte sehr zweifelhaft finden, sollten Sie bei der Berechnung der posterioren Wahrscheinlichkeiten eher skeptisch vorgehen. Das ist es. 0.95
Frank Harrell

1
Ich las Ihren Blog-Beitrag, bemerkte das Zitat und sah mir ein ähnliches Papier an ( optionales Stoppen: Kein Problem für Bayesianer ), auf das jemand anderes in den Kommentaren zu einer anderen Antwort verwies. Ich verstehe es immer noch nicht. Wenn die "Null" (fehlende Priming-Effekte) wahr ist, kann Dr. B, wenn er bereit ist, lange genug zu probieren, bei jedem Versuch eine hintere Wahrscheinlichkeit von> 0,95 erreichen (genau wie es Dr. F möglich wäre) erhalten p <0,05 jedes Mal). Wenn das "absolut nichts Falsches" ist, dann weiß ich nicht was ist.
Amöbe sagt Reinstate Monica

2
Nun, ich bestreite diesen "größeren Punkt". Ich denke nicht, dass das wahr ist. Wie ich immer wieder wiederhole, ergibt eine wiederholte Abtastung unter dem Null-Null-Effekt und mit einem gegebenen Prior (sagen wir ein breites kontinuierliches Prior, das auf Null zentriert ist) immer früher oder später eine über Null konzentrierte hintere Wahrscheinlichkeit von> 0,98. Eine Person, die Stichproben nimmt, bis dies geschieht (dh diese Stopp-Regel anwendet), wird sich jedes Mal irren . Wie können Sie sagen, dass diese Person nur 0,02 Mal falsch liegt? Ich verstehe nicht Unter diesen besonderen Umständen wird er nicht, er wird immer falsch liegen.
Amöbe sagt Reinstate Monica

2
Ich glaube nicht, dass ich bin. Mein größerer Punkt ist, dass es unfair und inkonsistent ist, häufig verwendete Verfahren gleichzeitig für das Leiden an sequentiellen Tests verantwortlich zu machen und Bayes'sche Verfahren als von sequentiellen Tests unbeeinflusst zu verteidigen. Mein Punkt (was eine mathematische Tatsache ist) ist, dass beide genau gleich betroffen sind, was bedeutet, dass sequentielle Tests den Bayes'schen Typ I-Fehler bis auf 100% erhöhen können. Natürlich, wenn Sie sagen, dass Sie grundsätzlich nicht an Fehlerraten des Typs I interessiert sind, dann ist dies irrelevant. Dann sollten aber auch nicht die frequentistischen Verfahren dafür verantwortlich gemacht werden.
Amöbe sagt Reinstate Monica

3

Wir betrachten einen Forscher eine Stichprobe der Größe zu sammeln , , eine Hypothese zu testen . Er lehnt ab, wenn eine geeignete Teststatistik ihren Level- kritischen Wert überschreitet . Ist dies nicht der Fall, sammelt er eine weitere Stichprobe der Größe , , und lehnt ab, wenn der Test für die kombinierte Stichprobe . Erhält er immer noch keine Ablehnung, so verfährt er auf diese Weise bis zu mal insgesamt.x 1 & thgr ; = & thgr ; 0 t & agr; c n x 2 ( x 1 , x 2 ) Knx1θ=θ0tαcnx2(x1,x2)K

Dieses Problem scheint bereits von P. Armitage, CK McPherson und BC Rowe (1969), Journal of the Royal Statistical Society, angesprochen worden zu sein . Serie A (132), 2, 235-244: "Wiederholte Signifikanztests an akkumulierten Daten" .

Der Bayes'sche Standpunkt zu diesem Thema, der auch hier erörtert wird, wird übrigens in Berger und Wolpert (1988), "The Likelihood Principle" , Abschnitt 4.2 , erörtert .

Hier ist eine unvollständige Replikation von Armitage et al die Ergebnisse (Code unten), die zeigt , wie Signifikanzniveaus aufzublasen , wenn , sowie mögliche Korrekturfaktoren zur Wiederherstellung Ebene- kritische Werte. Beachten Sie, dass die Rastersuche eine Weile dauert - die Implementierung ist möglicherweise ziemlich ineffizient.αK>1α

Größe der Standard-Ablehnungsregel in Abhängigkeit von der Anzahl der VersucheK

Bildbeschreibung hier eingeben

Größe als Funktion der Erhöhung der kritischen Werte für verschiedeneK

Bildbeschreibung hier eingeben

Angepasste kritische Werte zur Wiederherstellung von 5% -Tests als Funktion vonK

Bildbeschreibung hier eingeben

reps <- 50000

K <- c(1:5, seq(10,50,5), seq(60,100,10)) # the number of attempts a researcher gives herself
alpha <- 0.05
cv <- qnorm(1-alpha/2)

grid.scale.cv <- cv*seq(1,1.5,by=.01) # scaled critical values over which we check rejection rates
max.g <- length(grid.scale.cv)
results <- matrix(NA, nrow = length(K), ncol=max.g)

for (kk in 1:length(K)){
  g <- 1
  dev <- 0
  K.act <- K[kk]
  while (dev > -0.01 & g <= max.g){
    rej <- rep(NA,reps)
    for (i in 1:reps){
      k <- 1
      accept <- 1
      x <- rnorm(K.act)
      while(k <= K.act & accept==1){
        # each of our test statistics for "samples" of size n are N(0,1) under H0, so just scaling their sum by sqrt(k) gives another N(0,1) test statistic
        rej[i] <- abs(1/sqrt(k)*sum(x[1:k])) > grid.scale.cv[g] 
        accept <- accept - rej[i]
        k <- k+1
      }
    }
    rej.rate <- mean(rej)
    dev <- rej.rate-alpha
    results[kk,g] <- rej.rate
    g <- g+1
  }
}
plot(K,results[,1], type="l")
matplot(grid.scale.cv,t(results), type="l")
abline(h=0.05)

cv.a <- data.frame(K,adjusted.cv=grid.scale.cv[apply(abs(results-alpha),1,which.min)])
plot(K,cv.a$adjusted.cv, type="l")
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.