R: Berechne den p-Wert bei gegebenem Chi-Quadrat und Freiheitsgraden

10

Wie kann ich den p-Wert bei Chi-Quadrat und Freiheitsgraden berechnen? Was wäre zum Beispiel der genaue p-Wert eines Chi-Quadrats = 15 mit df = 2?

Matte
quelle
Um einen p-Wert zu bestimmen, müssen Sie angeben, ob er einseitig oder zweiseitig ist. Für zweiseitig ist es P (| X |> 15) und für einseitig unteren Schwanz ist es P (X <-15) und P (X.> 15) für einseitig oberen Schwanz. X ist eine Chi-Quadrat-Zufallsvariable mit 2 Freiheitsgraden.
Michael R. Chernick
Es ist zweiseitig. Was wäre der Code in R, um diesen Test durchzuführen?
Matte
Ich kenne R nicht sehr gut. Ich würde denken, dass es eine Chi-Quadrat-Funktion gibt, die man aufrufen könnte. Abgesehen von R können Sie den Wert aus einer Tabelle der Chi-Quadrat-Verteilung abrufen, die in vielen elementaren Statistikbüchern verfügbar ist. Das einzige Problem mit der Tabelle ist, dass 15 möglicherweise nicht angezeigt wird. In diesem Fall können Sie durch Intertpolation in die Nähe gelangen.
Michael R. Chernick
Lass mich mich korrigieren. Das Chi-Quadrat wird nicht negativ. Für einen einseitigen Test möchten Sie P (X> 15). In meinem Buch ist P (X> 13.815) 0,001. Der p-Wert ist also <0,001.
Michael R. Chernick
2
(1) Chi-Quadrat-Tests sind selten zweiseitig: Was ist Ihre Anwendung? (2) (cc @michael) Man würde nicht in die Schwänze interpolieren; man würde das Integral schätzen. BTW, ist dies ein elementares Integral, weil die Chi-Quadrat - Verteilung mit 2 DF eine Exponentialverteilung ist: Sie erhalten sollen für die obere Schwanzwahrscheinlichkeit. Siehe en.wikipedia.org/wiki/Chi-squared_distribution . e15/2
whuber

Antworten:

18

In der angewandten Statistik ergeben sich Chisquared-Teststatistiken als Summe der quadratischen Residuen oder als Summe der quadratischen Effekte oder als logarithmische Wahrscheinlichkeitsunterschiede. In all diesen Anwendungen besteht das Ziel darin, zu testen, ob ein Vektorparameter Null ist, gegenüber der Alternative, dass er nicht Null ist, und die Chisquadrat-Statistik bezieht sich auf die quadratische Größe des beobachteten Effekts. Der erforderliche p-Wert ist die richtige Endwahrscheinlichkeit für den Chisquadratwert, der in R für Ihr Beispiel lautet:

> pchisq(15, df=2, lower.tail=FALSE)
[1] 0.0005530844

Für andere df- oder statistische Werte setzen Sie sie offensichtlich einfach in den obigen Code ein.

Alle kumulativen Wahrscheinlichkeitsfunktionen in R berechnen standardmäßig die Wahrscheinlichkeiten für den linken Schwanz. Sie haben jedoch auch ein lower.tailArgument, und Sie können dieses jederzeit festlegen FALSE, um die richtige Schwanzwahrscheinlichkeit zu erhalten. Es ist empfehlenswert, dies zu tun, anstatt zu berechnen, wie Sie vielleicht in einigen elementaren Lehrbüchern sehen.1p

Gordon Smyth
quelle
1
Kann man rückwärts gehen? Chi-Quadrat-Wert mit P-Wert und Freiheitsgraden mit R-Code ableiten?
Eric
2
@ Eric Geben Sie einfach Folgendes in R ein: help (qchisq)
Gordon Smyth
3

R hat eine Reihe von Wahrscheinlichkeitsfunktionen für die Dichte oder die Masse in der Form d*( zum Beispiel dbeta, dchisq), und die Verteilung in der Form p*( zum Beispiel pf, pgamma). Vielleicht möchten Sie dort beginnen.


quelle
Kann man rückwärts gehen? Chi-Quadrat-Wert mit P-Wert und Freiheitsgraden mit R-Code ableiten?
Eric
0

Ja, es ist möglich, den Chi-Quadrat-Wert für einen gegebenen p-Wert (p) und Freiheitsgrade (df) zu berechnen. Im Folgenden erfahren Sie, wie Sie vorgehen müssen:

Zur Verifizierung berechne ich zunächst p für einen gegebenen Chi-Quadrat-Wert = 1,1 und df = 1:

Lösung:

pchisq (1.1, df = 1, lower.tail = FALSE) # Die Antwort lautet p = 0.2942661

Um mit p und df zur Berechnung des Chi-Quadrat-Werts rückwärts zu gehen, habe ich p = 0,2942661 verwendet, das ich von oben erhalten habe, und df = 1 oben:

Lösung:

qchisq (0.2942661, 1, lower.tail = FALSE) # Die Antwort lautet 1.1 wie in der ersten Lösung.

Am Beispiel Ihres Chi-Quadrats = 15 mit df = 2 sind die folgenden Lösungen:

Lösung: p-Wert berechnen

pchisq (15, df = 2, lower.tail = FALSE) # Antwort: p = 0,0005530844

Verwenden Sie p = 0,0005530844 und df = 2, um den Chi-Quadrat-Wert zurückzugewinnen

qchisq (0,0005530844, 2, lower.tail = FALSE) # Antwort: Chi-Quadrat = 15

Hoffe das hilft!!!

Gerechtigkeit
quelle
-3

Versuchen,

pchisq(chi,df)

in Ihrem Beispiel

pchisq(15,2)

[1] 0.9994469
Julio Diaz
quelle
1
Ich denke nicht, dass dies der p-Wert ist. Könnte es möglicherweise die kumulative Wahrscheinlichkeit sein? Wie Whuber sagte, wäre der p-Wert exp (-15/2), was viel kleiner als 0,999469 ist.
Michael R. Chernick
7
Das ist falsch. Es besteht nicht einmal den Geruchstest. Bedenken Sie, dass der erwartete Wert einer Chi-Quadrat-Verteilung ihr df ist und dass die Varianz 2 * df ( Wikipedia ) beträgt, also 15 ~ 9 SDs vom Mittelwert. Das sollte dir sagen, dass hier etwas nicht stimmt. Im Wesentlichen verwenden Sie dies, um einen einseitigen Test durchzuführen, bei dem eine Anpassung „zu gut“ ist (siehe hier ). Unter der typischen Verwendung des Chi-Quadrats möchten Sie pchisq(15, 2, lower.tail=FALSE)oder 1-pchisq(15, 2), was ist 0.0005530844.
Gung - Reinstate Monica
(Das heißt, dies ist eine Antwort, auch wenn sie falsch ist, daher sollte sie nicht als keine Antwort gelöscht werden. Ich stimme ab, sieht in Ordnung aus .)
gung - Reinstate Monica
@gung +1 Ich habe heute meine eigene Antwort hinzugefügt, aber Ihren Kommentar nicht zuerst gelesen, was die gleiche offensichtliche Lösung ergibt.
Gordon Smyth
Kann man rückwärts gehen? Chi-Quadrat-Wert mit P-Wert und Freiheitsgraden mit R-Code ableiten?
Eric