Test auf bimodale Verteilung

30

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?

Pauloc
quelle
3
Haben Sie bei der Suche auf unserer Website keine Antwort gefunden ? Wenn nicht, was fehlt?
Whuber
7
Es gibt Tests für Bimodalität oder Multimodalität, aber sie neigen dazu, einseitig zu sein. Das heißt, Sie können Dinge wie "Es gibt mehr als einen Modus" abschließen, aber Sie können nicht sagen "Es gibt weniger als drei Modi" - Sie können die Anzahl der Modi untergrenzen, aber Sie können wirklich keine Obergrenzen erhalten, weil Es kann eine multimodale Verteilung mit einer beliebigen Anzahl von Modi gefunden werden, die einer Verteilung mit einer beliebigen kleineren Anzahl von Modi beliebig nahe kommt. Ich werde sehen, ob ich explizite Tests oder Referenzen ausgraben kann.
Glen_b -Reinstate Monica
4
Die Wikipedia-Seite zur bimodalen Verteilung listet acht Tests für Multimodalität gegen Unimodalität auf und liefert Referenzen für sieben von ihnen. Ich bin mir nicht sicher, ob welche in R sind. Ich werde nachsehen.
Glen_b -Reinstate Monica

Antworten:

17

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.

gung - Wiedereinsetzung von Monica
quelle
Hi @gung, wie würden Sie für die parametrische Bootstrap-Cross-Fitting-Methode das optimale Kriterium in Bezug auf die bimodale Verteilung definieren? Es kann vorkommen, dass sich zwei konkurrierende Verteilungen an zwei Punkten kreuzen. Was ist in einem solchen Fall zu tun?
Akashrajkn
32

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:

  1. Das Paket diptestimplementiert den Hartigan-Dip-Test.

  2. Die stampDaten im bootstrapPaket 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.

Glen_b - Setzen Sie Monica wieder ein
quelle
Das ist wertvolle Arbeit.
Rolando2