Beeinflusst die Nullhypothese den Standardfehler?

Nov 25 2020

Hier unter $H_0:P_1=P_2$ Der Standardfehler tritt häufig auf $P$Wert, der aus einer gepoolten Schätzung berechnet wird. Warum ist der$\sigma$Wert nicht in ähnlicher Weise im nächsten berechnet? Dort unter null$H_0:\sigma_1=\sigma_2$ Warum wird das in der Standardfehlerformel nicht ersetzt?

Antworten

1 ChristophHanck Nov 26 2020 at 18:27

Kurz gesagt: Ich glaube, der Titel Ihrer Frage mag für einige Leser verwirrend klingen, aber die Antwort auf eine möglicherweise leicht modifizierte Frage kann dennoch "Ja" sein:

"Ist es möglich, die in der Nullhypothese angegebenen Parameterwerte zu verwenden, um eine gültige Schätzung eines Standardfehlers bereitzustellen?"

Der zweite Screenshot (wenn möglich, versuchen Sie, diese zu vermeiden und den Text in TeX zu setzen, um die Website besser durchsuchbar zu machen) ist immer noch "unvollständig", da die letzte SE immer noch von unbekannten Mengen abhängt, nämlich. $\sigma_1$ und $\sigma_2$.

Daher, $S.E.(s_1-s_2)$ muss durch einen Schätzer davon ersetzt werden, nennen Sie es $\widehat{S.E.}(s_1-s_2)$, Um einen Test zu bekommen Statistik , nennen$\hat{Z}$ (Denken Sie daran, dass Statistiker eine Statistik als etwas bezeichnen, das wir tatsächlich berechnen können und das nicht von Unbekannten abhängt.)

Wenn dieser Schätzer für konsistent ist $S.E.(s_1-s_2)$wir erhalten durch Slutzkys Lemma , $$ \hat{Z}=\frac{s_1-s_2}{\widehat{S.E.}(s_1-s_2)}=\underbrace{\underbrace{\frac{s_1-s_2}{S.E.(s_1-s_2)}}_{=Z\to_dN(0,1)}\cdot\underbrace{\frac{S.E.(s_1-s_2)}{\widehat{S.E.}(s_1-s_2)}}_{\to_p1}}_{=Z\to_dN(0,1)} $$

Nun können Sie zwei Dinge tun:

  1. Ersetzen $\sigma_j^2$, $j=1,2$, im $S.E.(s_1-s_2)$ mit $s_j^2$. Dies führt zu einem konsistenten Schätzer von$S.E.(s_1-s_2)$ beides, wenn die Null wahr ist oder nicht.
  2. Schätzen Sie einen gemeinsamen Wert $s^2$ aus dem vollständigen Beispiel und stecken Sie das für beide ein $\sigma_j^2$, $j=1,2$, im $S.E.(s_1-s_2)$ (eine "gepoolte" Schätzung).

Für 2., wenn die Null wahr ist, gilt das obige Ergebnis im zweiten Term der obigen Anzeige immer noch und es ändert sich nichts, da die Schätzung eines gemeinsamen Werts korrekt war, da beide Populationen dieselbe Standardabweichung teilen. Daher verhält sich die Teststatistik in großen Stichproben immer noch wie eine normale Zufallsvariable, wenn die Null wahr ist, sodass wir die normalen kritischen Werte verwenden können, um zu einer Testentscheidung zu gelangen.

Wenn nun die Null falsch ist, was "wollen" wir von unserer Teststatistik? $\hat{Z}$? Wir möchten, dass es so oft wie möglich größer als die kritischen Werte des Tests ist ("hohe Leistung").

Nun, wenn die Null falsch ist, wird der Zähler bei genügend Daten sicherlich ungleich Null als $\sigma_1\neq\sigma_2$ und daher wird es so sein $s_1$ und $s_2$. Im Nenner ist die$\sigma_j$ wird vom gepoolten Schätzer nicht mehr konsistent geschätzt $s^2$. Es kann jedoch erwartet werden, dass dieser Schätzer zu einem endlichen Wert tendiert, z.$s^2\to \tilde{\sigma}^2$. Da teilen wir uns aber durch$n_1$ und $n_2$, $\widehat{S.E.}(s_1-s_2)$ wird sehr klein, wenn die Stichprobengröße wächst, und daher $\hat{Z}$ wird groß, so dass wir die Null immer noch oft richtig ablehnen.

Daher kann jedes Verfahren aus asymptotischen Gründen gerechtfertigt sein. Was bei endlichen Stichproben besser ist, ist eine andere Sache (die häufig über Simulationsstudien angesprochen wird).

Hier ist eine Abbildung (Code unten), dass beide Varianten mit der theoretischen Nullverteilung übereinstimmen (und nahe an der liegen $Z$ Version, die wir zur Veranschaulichung berechnen können, wenn wir die wahren Werte in einer Simulation kennen) unter der Null.

Durch das Spiel mit den wahren Werten um sigma1und sigma2Sie können ebenfalls veranschaulichen , dass die Tests auch alle Macht haben, dh sie haben unterschiedliche Verteilungen als der Standard normal , wenn die Null falsch ist

Code:

Zhat <- function(x1, x2){
  n1 <- length(x1)
  n2 <- length(x2)
  s1 <- sd(x1)
  s2 <- sd(x2)
  s <- sd(c(x1,x2)) # pooled estimate
  Zhat <- (s1-s2)/sqrt(s1^2/(2*n1)+s2^2/(2*n2))
  Zhat.pooled <- (s1-s2)/sqrt(s^2*(1/(2*n1)+1/(2*n2)))
  Z <- (s1-s2)/sqrt(sigma1^2/(2*n1)+sigma2^2/(2*n2)) # as we know true values in this illustration, we may plug them in, too
  return(list(Zhat, Zhat.pooled, Z))
}

sigma1 <- 1
sigma2 <- 1
n1 <- 40
n2 <- 60

MC.function <- function(sigma1, sigma2, n1, n2){
  x1 <- rnorm(n1, sd=sigma1)
  x2 <- rnorm(n2, sd=sigma2)
  Zhat(x1, x2)
}
MC <- replicate(10000, MC.function(sigma1, sigma2, n1, n2))

plot(density(unlist(MC[1,])), lwd=2, col="blue", main="simulated null distributions", ylim=)
lines(density(unlist(MC[2,])), lwd=2, col="salmon")
lines(density(unlist(MC[3,])), lwd=2, col="green")
x <- seq(-4,4,by=0.1)
lines(x, dnorm(x), lwd=2, col="brown")

PS: Grundsätzlich wird die gleiche Idee in diesen Threads diskutiert: T-Test für Bernoulli-Verteilung - Stichproben- oder Populationsdaten für die SE-Berechnung? Welche Varianzschätzung soll für einen Wald-Test verwendet werden?