Frage:
Erklären Sie ungleichmäßige p-Werte für kleine Stichproben-t-Tests in R.
Statistics Student
2017-10-27 18:57:29 UTC
view on stackexchange narkive permalink

Dieses R-Skript erzeugt ein Defizit an p-Werten < 0.1 für kleine Stichprobengrößen von n < 10. Kann jemand erklären, warum dies der Fall ist?Wenn dies ein R-Fehler ist, kann dies Auswirkungen haben.Hinweis: Zili-Tests mit einer Stichprobe do haben einheitliche p-Werte für kleine Stichprobengrößen.

  m <- 10000
n <- 3
p.Wert <-rep (m, 0)

für (i in 1: m) {
  x <norm (n, Mittelwert = 0, sd = 1)
  y <norm (n, Mittelwert = 0, sd = 1)

  p.value [i] <-t.test (x, y, alt = "zweiseitig") $ p.value
} # zum

par (mfrow = c (1,1))
hist (p.Wert, Unterbrechungen = 20, xaxs = "i", yaxs = "i", col = "skyblue", prob = F, las = T) # erscheint einheitlich

abline (h = m / 20, col = "rot", lty = 2)
abline (v = 0,05, col = "Kornblumenblau")
 
Was meinst du mit einem Defizit?Können Sie auf eine Quelle bezüglich der von Ihnen erwarteten gleichmäßigen Verteilung verweisen?
Ja, die Histogrammbalken in der Nähe von 0 sind durchweg etwa 25% kleiner als die erwartete gleichmäßige Verteilung erfordert.Führen Sie es aus und Sie werden sehen.Ich erwarte eine gleichmäßige Verteilung, da die Nullhypothese wahr ist, wenn die Simulationsgenerierung von x und y gleich ist.
Wenn Sie n auf einen höheren Wert setzen, verschwindet das Problem zumindest hier, sodass ich vermute, dass das Defizit dadurch verursacht wird.
Sie verwenden die falsche Version des t-Tests für Ihre Situation: Sie müssen das Argument `var.equal = TRUE` einfügen.Weitere Informationen finden Sie auf der Handbuchseite.(Es ist immer noch interessant zu beobachten, dass der Standard-t-Test in `R` für kleine Stichprobengrößen voreingenommen ist - aber das ist nicht unbedingt ein Problem.) +1 für eine gute Frage.
Ohne die Option "var.equal = TRUE" ist der t-Test nicht "genau" (Welch-Näherung der Freiheitsgrade).
Das ist es!Und das hat jetzt Sinn gemacht, was mein Diplomberater gesagt hat!Mein Fehler.Danke Whuber und Stephane.Uber FTW.
Einer antworten:
Glen_b
2017-10-28 03:46:47 UTC
view on stackexchange narkive permalink

Dies ist kein Fehler in R.

Welch-Satterthwaite-Typ-T-Tests (der Standard-T-Test mit zwei Stichproben in R) haben tatsächlich keine T-Verteilung.

Das t-mit-Bruch-d.f. Sie erhalten eine Annäherung an die Nullverteilung.

Die Welch-Satterthwaite-Tests funktionieren in einer Vielzahl von Situationen gut, aber selbst wenn alle Annahmen zutreffen, ist die Nullverteilung der p-Werte etwas ungleichmäßig (dies wirkt sich auf die Signifikanzniveaus aus; Sie haben nicht ganz das Signifikanzniveau, das Sie angestrebt haben).

Es gibt effektiv 3 Parameter, die die Nullverteilung steuern - das Verhältnis der Populationsvarianzen und die beiden Stichprobengrößen. Der Test verwendet eine Näherung, um ihn nur zu einer Funktion eines einzelnen Parameters (Welch-Satterthwaite d.f.) zu machen.

Bei einigen Auswahlmöglichkeiten des Varianzverhältnisses und des Stichprobengrößenverhältnisses ist die Verteilung der p-Werte tendenziell etwas zu niedrigeren Werten verzerrt, und bei anderen Auswahlmöglichkeiten ist sie tendenziell etwas zu höheren Werten verzerrt.

Dies macht sich bei kleinen Stichprobengrößen eher bemerkbar, tritt jedoch ganz allgemein auf.

Es ist möglich, die Simulation mit Ihrem spezifischen n- und Varianzverhältnis anstelle der t-Näherung zu verwenden, um eine bessere Kontrolle der Signifikanzniveaus und damit genauere p-Werte zu erhalten, falls dies erforderlich ist. Wenn Ihre Stichprobengrößen jedoch gleich sind (wie es in Ihrer Simulation aussieht), hat ein T-Test mit gleicher Varianz wenig Probleme mit der Kontrolle des Signifikanzniveaus, selbst wenn die Varianzen ungleich sind, so dass dies tatsächlich ein vernünftiger Standard sein kann Wahl, wenn Sie gleiche Stichprobengrößen haben.

Danke Glen_b.Meine Frage wurde beantwortet.Ich musste var.equal = TRUE angeben


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...