Anpassungsgüte für diskrete Daten: bester Ansatz

9

Die Daten: Für die Zwecke dieser Frage / Kommunikation können wir annehmen, dass die Daten wie rnbinom(1000,size=0.1,prob=0.01)in R aussehen , das aus einer negativen Binomialverteilung (mit size=0.1und Wahrscheinlichkeit des Erfolgs prob=0.01) eine Zufallsstichprobe von 1.000 Beobachtungen generiert . Dies ist die Parametrisierung, bei der die Zufallsvariable die Anzahl der Fehler vor der sizeAnzahl der Erfolge darstellt. Der Schwanz ist lang und 1.000 Beobachtungen sind nicht viele Daten.

Das Problem: Ich habe einige Daten (Ganzzahl auf {1,2, ....}) [siehe oben] (1.500 Datenpunkte) erhalten und gebeten, die "beste Anpassung" -Verteilung und Schätzungen aller Parameter zu finden. Ich weiß nichts anderes über die Daten. Mir ist bewusst, dass dies keine sehr große Stichprobe für Daten mit einem langen Schwanz ist. Weitere Daten sind möglich.

Was ich getan habe: Ich habe überlegt, einen Likelihood-Ratio-Test zu verwenden, indem ich zwei verschiedene Verteilungen an die Daten anpasse, aber ich denke nicht, dass dies zutrifft (wie in, ich kann keine geeigneten kritischen p-Werte bestimmen), es sei denn, die beiden Verteilungen sind verschachtelt ...

Ich überlegte dann, einen Kolmogorov-Smirnov-Test (angepasst für diskrete Daten) zu verwenden, beschwerte sich jedoch in R, dass kein p-Wert für "Daten mit Bindungen" berechnet werden könne.

Was ist für mich der beste Weg, um die Anpassung verschiedener Verteilungen in diesem Zusammenhang zu testen / zu bestimmen? Hier sind einige andere Dinge, die ich berücksichtigt habe:

  1. Fragen Sie nach (vielen) weiteren Daten. Aber wird das helfen? Kann ich zum Beispiel asymptotische Ergebnisse verwenden?
  2. Betrachten Sie ein Bootstrap / Re-Sampling / Monte-Carlo-Schema? Wenn ja, gibt es eine Standardreferenz, die ich lesen kann / sollte, um zu lernen, wie man das richtig macht? Vielen Dank
Rusan Kax
quelle

Antworten:

6

Wenn ich Ihre Frage richtig verstanden habe, müssen Sie nur die Daten an die Verteilung anpassen . In diesem Fall können Sie eine der Funktionen in R-Paketen verwenden, z. B. fitdistrfrom MASSpackage, das die Maximum Likelihood Estimation (MLE) verwendet und diskrete Verteilungen unterstützt , einschließlich Binomial und Poisson .

In einem zweiten Schritt müssten Sie dann einen (oder mehrere) GoF- Tests (Goodness of Fit) durchführen, um die Ergebnisse zu validieren . Kolmogorov- Smirnov- , Anderson- Darling- und (AFAIK) Lilliefors- Tests gelten nicht für diskrete Verteilungen. Glücklicherweise ist der Chi-Quadrat-GoF-Test sowohl auf kontinuierliche als auch auf diskrete Verteilungen anwendbar und in R ist es eine Frage der Aufruffunktion stats::chisq.test().

Da Ihre Daten eine diskrete Verteilung darstellen, können Sie alternativ das vcdPaket und seine Funktion verwenden goodfit(). Diese Funktion kann entweder als Ersatz für den Standard-GoF-Test chisq.test()oder noch besser als vollständiger Workflow ( Verteilungsanpassung und GoF-Test ) verwendet werden. Verwenden Sie für die vollständige Workflow- Option einfach das Standard-Setup und geben Sie keine Parameter an par(Sie können angeben size, ob type = "nbinomial"). Die Parameter werden unter Verwendung der maximalen Wahrscheinlichkeit oder des minimalen Chi-Quadrats geschätzt (Sie können die Methode auswählen). Ergebnisse können durch Aufrufen der summary()Funktion erhalten werden.

Aleksandr Blekh
quelle
3
Es gibt tatsächlich diskrete KS-Tests: stat.yale.edu/~jay/EmersonMaterials/DiscreteGOF.pdf
Astrid
@Astrid Schön! Vielen Dank für Ihr Update und ein frohes neues Jahr!
Aleksandr Blekh
Vier Jahre sind besser spät als nie: D Frohes neues Jahr auch Ihnen!
Astrid
1
@Astrid "... besser spät als nie" - kann damit nicht streiten. :-) Vielen Dank!
Aleksandr Blekh