Wie wähle ich die beste Anpassung aus, ohne die Daten zu überanpassen? Modellierung einer bimodalen Verteilung mit N Normalfunktionen usw.

11

Ich habe eine offensichtlich bimodale Werteverteilung, die ich anpassen möchte. Die Daten können entweder mit 2 normalen Funktionen (bimodal) oder mit 3 normalen Funktionen gut angepasst werden. Darüber hinaus gibt es einen plausiblen physikalischen Grund für die Anpassung der Daten an 3.

Je mehr Parameter eingeführt werden, desto perfekter ist die Anpassung, da man mit genügend Konstanten " einen Elefanten anpassen " kann.

Hier ist die Verteilung, passend zur Summe von 3 normalen (Gaußschen) Kurven:

Verteilung mit

Dies sind die Daten für jede Anpassung. Ich bin mir nicht sicher, welchen Test ich hier anwenden soll, um die Passform zu bestimmen. Die Daten bestehen aus 91 Punkten.

1 Normale Funktion:

  • RSS: 1.06231
  • X ^ 2: 3,1674
  • F. Test: 0,3092

2 normale Funktionen:

  • RSS: 0,010939
  • X ^ 2: 0,053896
  • F. Test: 0,97101

3 normale Funktionen:

  • RSS: 0,00536
  • X ^ 2: 0,02794
  • F. Test: 0,99249

Was ist der richtige statistische Test, der angewendet werden kann, um festzustellen, welche dieser 3 Anpassungen am besten ist? Offensichtlich ist die 1 normale Funktionsanpassung unzureichend. Wie kann ich also zwischen 2 und 3 unterscheiden?

Außerdem mache ich das meistens mit Excel und ein wenig Python. Ich bin noch nicht mit R oder anderen statistischen Sprachen vertraut.

MurphysLab
quelle
Es wurde vorgeschlagen, das reduzierte Chi-Quadrat X ^ 2 / (Nn-1) zu verwenden, wobei N die Anzahl der Datenpunkte und n die Anzahl der angepassten Parameter ist. Die kleine Pentalität (+/- 3) im Verhältnis zur Anzahl der Datenpunkte (91) scheint jedoch intuitiv keine besonders hohe Strafe für das Hinzufügen eines weiteren Gaußschen zu sein.
MurphysLab
Vielleicht möchten Sie diese Antwort überprüfen (falls Sie sich für die RRoute entscheiden). In dieser Antwort werden einige Modellauswahlkriterien erwähnt . Schließlich möchten Sie vielleicht Ensemble-Methoden betrachten , die ich in dieser Antwort kurz behandelt habe und die auch einen Link zu Python-fokussierten Informationen enthält. Weitere Informationen zur Modellauswahl und Mittelwertbildung finden Sie in dieser Antwort .
Aleksandr Blekh

Antworten:

5

Hier sind zwei Möglichkeiten, wie Sie das Problem der Auswahl Ihrer Distribution angehen können:

  1. Verwenden Sie für den Modellvergleich ein Maß, das das Modell abhängig von der Anzahl der Parameter bestraft. Informationskriterien tun dies. Verwenden Sie ein Informationskriterium, um auszuwählen, welches Modell beibehalten werden soll, und wählen Sie das Modell mit dem niedrigsten Informationskriterium aus (z. B. AIC). Die Faustregel für den Vergleich, ob ein Unterschied in den AICs signifikant ist, lautet, wenn der Unterschied im AIC größer als 2 ist (dies ist kein formaler Hypothesentest, siehe Testen des Unterschieds in der AIC von zwei nicht verschachtelten Modellen ).

    2k- -2ln(L.)kL.L.=maxθL.(θ|x)L.(θ|x)=P.r(x|θ)Pr(x|θ)xθ

  2. Wenn Sie einen formalen Hypothesentest wünschen, können Sie auf mindestens zwei Arten vorgehen. Am wohl einfachsten ist es, Ihre Verteilungen anhand eines Teils Ihrer Stichprobe anzupassen und dann zu testen, ob die Residuenverteilungen mithilfe eines Chi-Quadrat- oder Kolgomorov-Smirnov-Tests für den Rest der Daten signifikant unterschiedlich sind. Auf diese Weise verwenden Sie nicht dieselben Daten, um Ihr Modell anzupassen und zu testen, wie es AndrewM in den Kommentaren erwähnt hat.

    Sie können auch einen Likelihood-Ratio-Test mit einer Anpassung der Nullverteilung durchführen. Eine Version davon ist in Lo Y. et al. (2013) "Testen der Anzahl von Komponenten in normaler Mischung." Biometrika, aber ich habe keinen Zugriff auf den Artikel, daher kann ich Ihnen keine näheren Angaben dazu machen, wie dies genau zu tun ist.

    Wenn der Test nicht signifikant ist, behalten Sie die Verteilung mit der niedrigeren Anzahl von Parametern bei. Wenn er signifikant ist, wählen Sie die Verteilung mit der höheren Anzahl von Parametern.

Chris Novak
quelle
@Momo danke, änderte das und fügte die Gleichung für AIC
Chris Novak
Ich bin nicht 100% sicher, aber Standard-AIC funktioniert in Mischungsmodellen möglicherweise nicht wie erwartet, da unterschiedliche Konfigurationen der Gemische möglicherweise dasselbe Modell ergeben.
Cagdas Ozgenc
Was ich damit gemeint habe war, dass Sie die 2 Gaußschen tauschen können (indem Sie den Mittelwert / die Varianz von 1. auf 2. und 2. auf 1. und auch auf die Mischungsgewichte einstellen) und trotzdem das gleiche Modell erhalten. Soweit ich weiß, funktioniert AIC in solchen Situationen nicht wie erwartet.
Cagdas Ozgenc
1
@CagdasOzgenc Ich verstehe Ihren Standpunkt, aber es scheint, dass Standard-AIC und -BIC für die Modellauswahl in Gaußschen Mischungsmodellen angemessen sind, siehe zum Beispiel das Papier projecteuclid.org/download/pdf_1/euclid.aos/1176348772
Chris Novak
1
χ2χ2