Wie kann man testen, ob eine Stichprobe von Daten zur Familie der Gamma-Verteilung passt?

13

Ich habe eine Stichprobe von Daten, die aus einer kontinuierlichen Zufallsvariablen X generiert wurden. Und aus dem Histogramm, das ich mit R zeichne, schätze ich, dass die Verteilung von X möglicherweise einer bestimmten Gamma-Verteilung folgt. Aber ich kenne die genauen Parameter dieser Gamma-Verteilung nicht.

Meine Frage ist, wie man prüft, ob die Verteilung von X zu einer Familie der Gamma-Verteilung gehört? Es gibt einige gute Anpassungstests wie Kolmogorov-Smirnov-Test, Anderson-Darling-Test usw., aber eine der Einschränkungen bei der Verwendung dieser Tests besteht darin, dass die Parameter der theoretischen Verteilung im Voraus bekannt sein sollten. Kann mir jemand sagen, wie ich dieses Problem lösen kann?

user8363
quelle
Vielleicht fehlt mir etwas, aber wenn Sie bereits einen Test zum Testen der Anpassung der Verteilung kennen und nur die Werte der theoretischen Verteilung kennen müssen, können Sie einfach die Maximum-Likelihood-Schätzer für die Parameter des Gammas verwenden Verteilung auf Ihre Daten, um Schätzungen der Parameter zu erhalten. Sie können diese Schätzungen dann verwenden, um die theoretische Verteilung in Ihrem Test zu definieren.
David
David, danke für deine Antwort. Die Antwort ist auch das, worüber ich nachgedacht habe, aber ich bin nicht sicher, ob es einige Theorien gibt, die diese Idee stützen können. Könnten Sie sie für mich beantworten?
User8363
Wenn Sie R verwenden, könnten Sie daran interessiert sein, sich das fitdistrplus-Paket anzuschauen , das Möglichkeiten für diese Art von Dingen bietet.
gung - Wiedereinsetzung von Monica

Antworten:

8

Ich denke, die Frage verlangt nach einem präzisen statistischen Test, nicht nach einem Histogrammvergleich. Bei Verwendung des Kolmogorov-Smirnov-Tests mit geschätzten Parametern hängt die Verteilung der Teststatistik unter der Null von der getesteten Verteilung ab, im Gegensatz zum Fall ohne geschätzten Parameter. Zum Beispiel mit (in R)

x <- rnorm(100)
ks.test(x, "pnorm", mean=mean(x), sd=sd(x))

führt zu

        One-sample Kolmogorov-Smirnov test

data:  x 
D = 0.0701, p-value = 0.7096
alternative hypothesis: two-sided

während wir bekommen

> ks.test(x, "pnorm")

        One-sample Kolmogorov-Smirnov test

data:  x 
D = 0.1294, p-value = 0.07022
alternative hypothesis: two-sided 

für die gleiche Probe x. Das Signifikanzniveau oder der p-Wert muss daher durch Monte-Carlo-Simulation unter der Null bestimmt werden, wobei die Verteilung der Kolmogorov-Smirnov-Statistik aus Proben erstellt wird, die unter der geschätzten Verteilung simuliert wurden (mit einer geringfügigen Annäherung des Ergebnisses an die beobachtete Probe) kommt aus einer anderen Distribution, auch unter der Null).

Xi'an
quelle
1
(+1) Ich verstehe nicht, warum es richtig ist, Proben unter der geschätzten Verteilung zu simulieren. Ich hätte gedacht, dass wir einen Vorgänger für die Parameter und ein Beispiel für alle möglichen Distributionen benötigen ... können Sie ein bisschen mehr erklären?
Elvis
1
Xi'an, deine Antwort ist genau das, worüber ich mir Sorgen gemacht habe. Sie meinen, dass "bei Verwendung des Kolmogorov-Smirnov-Tests mit geschätzten Parametern die Verteilung der Teststatistik unter der Null von der getesteten Verteilung abhängt". Wir kennen jedoch die Verteilung von X nicht, genauer gesagt, wir kennen den Parameter der Verteilung von X unter der Nullhypothese nicht, daher die Verteilung der Teststatistik, deshalb verwenden wir Monte Carlo. Möchten Sie es auf andere Weise lösen, indem Sie nicht monte carlo verwenden, um den P-Wert zu erhalten? Vielen Dank
user8363
Wäre es nicht angebracht, das Sample zu booten und die Parameter bei jedem Replikat neu zu schätzen, um die Tatsache zu berücksichtigen, dass "das beobachtete Sample von einer anderen Distribution stammt, auch wenn es unter dem Nullwert liegt"?
Elvis
1
@Elvis (1): Dies ist eine klassische Statistik, keine Bayes'sche Lösung des Problems der Anpassungsgüte. Bei Verteilungen mit Positionsskalenparametern spielt die Auswahl der Parameter zur Simulation der simulierten Stichproben keine Rolle.
Xi'an
1
@Elvis (2): Wieder etwas, das ich gerade mit meinen Schülern besprochen habe! Bootstrap würde bei der Beurteilung des Verhaltens der Kolmogorov-Smirnov-Distanz unter der wahren Verteilung der Daten helfen, nicht unter der Null! Das Fisher-Neyman-Pearson-Prinzip besagt, dass es auf das Verhalten der Kolmogorov-Smirnov-Distanz unter der Null ankommt, so dass es abgelehnt wird, wenn die beobachtete Distanz für diese Verteilung unter der Null zu extrem ist.
Xi'an
4

Berechnen Sie MLEs der Parameter unter der Annahme einer Gammaverteilung für Ihre Daten und vergleichen Sie die theoretische Dichte mit dem Histogramm Ihrer Daten. Wenn die beiden sehr unterschiedlich sind, ist die Gammaverteilung eine schlechte Annäherung an Ihre Daten. Für einen formalen Test könnten Sie beispielsweise die Kolmogorov-Smirnoff-Teststatistik berechnen, die die am besten passende Gammaverteilung mit der empirischen Verteilung und dem Signifikanztest vergleicht.

Makro
quelle
3
+1, das ist eine solide Antwort. Ich würde jedoch vorschlagen, einen QQ-Plot anhand des theoretischen Gammas und nicht anhand eines Histogramms zu untersuchen - Abweichungen lassen sich leichter einschätzen.
gung - Reinstate Monica
1
Das Problem ist, dass der KS-Test die theoretische Verteilung voraussetzt, die nicht aus den Daten geschätzt wurde. Xi'an (teilweise) antwortete auf diesen Punkt ...
Elvis
Sie meinen, dass wir zuerst diese Stichprobe von Daten verwenden, um einen MLS-Schätzer zu erhalten und den Wert des MLS-Schätzers in der Gammaverteilung zu verwenden, und dann die Daten mit der Gammaverteilung (mit geschätzten Parametern) unter Verwendung des KS-Tests vergleichen?
User8363
Elvis, würden Sie mir bitte sagen, wie das Problem zu lösen ist, wenn der Parameter der theoretischen Verteilung unbekannt ist und geschätzt werden muss. In diesem Fall, wie kann man KS-Test verwenden, um eine relativ genaue Beurteilung der Hypothese zu erhalten, danke!
User8363
1
@Elvis: Ich glaube nicht, dass die genaue Ableitung bei der Gammaverteilung möglich ist. Die cdf selbst ist nicht in geschlossener Form verfügbar. Darüber hinaus bedeutet die Tatsache, dass der Formparameter weder Maßstab noch Position ist, dass es für jeden Wert des Formparameters eine andere Verteilung gibt ...
Xi'an