Ich frage mich, ob es einen statistischen Test gibt, um die Signifikanz einer bimodalen Verteilung zu "testen". Ich meine, wie viel meine Daten der bimodalen Verteilung entsprechen oder nicht? Wenn ja, gibt es einen Test im R-Programm?
30
Antworten:
Ein anderer möglicher Ansatz für dieses Problem besteht darin, darüber nachzudenken, was möglicherweise hinter den Kulissen passiert, die die angezeigten Daten generieren. Das heißt, Sie können in Form eines Mischungsmodells denken , beispielsweise eines Gaußschen Mischungsmodells. Sie könnten beispielsweise glauben, dass Ihre Daten entweder aus einer einzelnen Normalpopulation oder aus einer Mischung von zwei Normalverteilungen (in gewissem Verhältnis) mit unterschiedlichen Mitteln und Abweichungen stammen. Natürlich müssen Sie nicht glauben, dass es nur eine oder zwei gibt, und Sie müssen auch nicht glauben, dass die Populationen, aus denen die Daten stammen, normal sein müssen.
Es gibt (mindestens) zwei R-Pakete, mit denen Sie Mischungsmodelle schätzen können. Ein Paket ist flexmix und ein anderes mclust . Nach der Schätzung von zwei Kandidatenmodellen ist es meines Erachtens möglich, einen Likelihood-Ratio-Test durchzuführen. Alternativ können Sie die parametrische Bootstrap-Cross-Fitting-Methode ( pdf ) verwenden.
quelle
Wie in den Kommentaren erwähnt, listet die Wikipedia-Seite über "Bimodale Verteilung" acht Tests für Multimodalität gegen Unimodalität auf und liefert Referenzen für sieben davon.
Es gibt mindestens einige in R. Zum Beispiel:
Das Paket
diptest
implementiert den Hartigan-Dip-Test.Die
stamp
Daten imbootstrap
Paket wurden in der Einführung von Efron und Tibshirani in das Bootstrap (das Buch, auf dem das Paket basiert) verwendet, um ein Beispiel für das Bootstrapping der Anzahl der Modi zu erstellen. Wenn Sie Zugriff auf das Buch haben, können Sie möglicherweise diesen Ansatz verwenden.Efron, B. und Tibshirani, R. (1993) Eine Einführung in den Bootstrap .
Chapman und Hall, New York, London.
-
Es gibt eine Frage im Lebenslauf, in der es darum geht , die Anzahl der Modi zu identifizieren (dh zu schätzen, anstatt zu testen), die bei der Suche von @ whuber auftauchen. Es lohnt sich, die Antworten dort zu lesen. Eine der Antworten dort (meine, wie es passiert) hat einen Link zu einer Google-Suche, die dieses Papier von David Donoho über die Erstellung einseitiger CIs für die Anzahl der Modi aufdeckt, die natürlich als Test verwendet werden können (z. B. Wenn das einseitige Intervall nicht den unimodalen Fall enthält, können Sie die Unimodalität ablehnen. Soweit ich weiß, ist das nicht der Falleiner der Tests, die Wikipedia erwähnt. Ich glaube nicht, dass es eine R-Implementierung dieses Intervalls gibt, aber (obwohl Donoho in seiner Diskussion dazu neigt, ziemlich ausgefeilte Tools zu verwenden) ist es eine ziemlich einfache Idee, sie zu implementieren. Diese Idee steht in direktem Zusammenhang mit dem Begriff der Verwendung der Kernel-Dichteschätzung.
quelle