Ich untersuche zwei geografisch isolierte Populationen derselben Art. Wenn ich die Verteilungen betrachte, sehe ich, dass beide bimodal sind (es gibt eine gewisse Saisonalität für ihr Auftreten), aber die Peaks in einer Population sind viel höher und viel schmaler (dh die Varianz der lokalen Peaks ist kleiner).
Welche Art von statistischem Test wäre geeignet, um festzustellen, ob diese Unterschiede signifikant sind?
Zur Verdeutlichung ist meine y-Achse die Anzahl der Personen, die an einem bestimmten Tag in einer Falle identifiziert wurden, und die x-Achse ist der julianische Tag.
distributions
statistical-significance
variance
Atticus29
quelle
quelle
Antworten:
Sind diese Verteilungen etwas im Laufe der Zeit? Zählt vielleicht? (Wenn ja, dann brauchen Sie vielleicht etwas ganz anderes als die bisherigen Diskussionen hier)
Was Sie beschreiben, hört sich nicht so an, als würde es als Unterschied in der Varianz der Verteilungen sehr gut verstanden.
Es hört sich so an, als würden Sie etwas vage beschreiben (ignorieren Sie die Zahlen auf den Achsen, um nur einen Eindruck von der allgemeinen Art von Muster zu vermitteln, die Sie zu beschreiben scheinen):
Wenn das stimmt, dann überlegen Sie:
Während die Breite jedes Peaks um die lokalen Zentren für die blaue Kurve schmaler ist, unterscheidet sich die Varianz der roten und blauen Verteilung insgesamt kaum.
Wenn Sie die Modi und Antimoden vorher identifizieren, können Sie die lokale Variabilität messen.
quelle
Zunächst denke ich, dass Sie die saisonalen Verteilungen separat betrachten sollten, da die bimodale Verteilung wahrscheinlich das Ergebnis von zwei ziemlich getrennten Prozessen ist. Die zwei Verteilungen könnten durch unterschiedliche Mechanismen gesteuert werden, so dass beispielsweise Winterverteilungen empfindlicher auf das jährliche Klima reagieren könnten. Wenn Sie die Bevölkerungsunterschiede und die Gründe dafür betrachten möchten, ist es meiner Meinung nach sinnvoller, die saisonalen Verteilungen separat zu untersuchen.
Für einen Test können Sie den Levine-Test (im Grunde ein Test der Homoskedastizität) ausprobieren, mit dem Varianzen zwischen Gruppen verglichen werden. Der Bartlett-Test ist eine Alternative, aber der Levene-Test soll robuster gegenüber Nicht-Normalität sein (insbesondere wenn der Median zum Testen verwendet wird). In R finden sich die Tests von Levene und Bartlett in
library(car)
.quelle
leveneTest(y ~ as.factor(group), data= datafile)
für einen Test der Varianzunterschiede zwischen Gruppen verwenden, und wenn Sie die Option "center =" median "verwenden, ist es robuster gegen Nichtnormalität. Streng genommen denke ich, dass es Brown-Forsythe-Test heißt, wenn es auf dem Median basiert.Ich stimme dem zu, was andere gesagt haben - nämlich, dass "Varianz" wahrscheinlich das falsche Wort ist (da die von Ihnen in Betracht gezogene Funktion keine Wahrscheinlichkeitsverteilung, sondern eine Zeitreihe ist).
Ich denke, Sie möchten dieses Problem möglicherweise aus einer anderen Perspektive betrachten - passen Sie einfach die beiden Zeitreihen mit LOWESS-Kurven an. Sie können 95% -Konfidenzintervalle berechnen und deren Formen qualitativ kommentieren. Ich bin mir nicht sicher, ob Sie etwas ausgefalleneres tun müssen.
Ich habe unten einen MATLAB-Code geschrieben, um zu veranschaulichen, was ich sage. Ich bin in Eile, kann aber bald Klarheit schaffen. Vieles von dem, was ich getan habe, kann direkt von hier übernommen werden: http://blogs.mathworks.com/loren/2011/01/13/data-driven-fitting/
Möglicherweise möchten Sie die beiden Zeitreihen normalisieren, um ihre relativen Trends und nicht ihre absoluten Werte zu vergleichen.
Jetzt machen LOWESS passt ...
Schließlich können Sie 95% -Konfidenzbänder wie folgt erstellen:
Jetzt können Sie die endgültige Zahl nach Ihren Wünschen interpretieren und haben die LOWESS-Passungen, um Ihre Hypothese zu untermauern, dass die Peaks in der roten Kurve tatsächlich breiter als die blaue Kurve sind. Wenn Sie eine bessere Vorstellung von der Funktion haben, können Sie stattdessen eine nichtlineare Regression durchführen.
Bearbeiten: Basierend auf einigen hilfreichen Kommentaren unten füge ich einige weitere Details zum expliziten Schätzen von Peakbreiten hinzu. Zunächst müssen Sie eine Definition für das finden, was Sie als "Peak" betrachten. Vielleicht jede Beule, die über eine Schwelle steigt (so etwas wie 0,05 in den Plots, die ich oben gemacht habe). Das Grundprinzip ist, dass Sie einen Weg finden sollten, "echte" oder "bemerkenswerte" Spitzen von Rauschen zu trennen.
Dann können Sie für jeden Peak seine Breite auf verschiedene Arten messen. Wie ich in den Kommentaren unten erwähnt habe, halte ich es für vernünftig, die "halbe maximale Breite" zu betrachten, aber Sie können auch die Gesamtzeit betrachten, in der der Peak über Ihrer Schwelle steht. Im Idealfall sollten Sie verschiedene Maße für die Peakbreite verwenden und angeben, wie konsistent Ihre Ergebnisse bei diesen Auswahlmöglichkeiten waren.
Unabhängig von der Metrik Ihrer Wahl können Sie mithilfe von Bootstrapping ein Konfidenzintervall für jeden Peak in jedem Trace berechnen.
Dieser Code erstellt 1000 Bootstrap-Anpassungen für die blauen und roten Spuren in den obigen Darstellungen. Ein Detail, das ich beschönigen werde, ist die Wahl des Glättungsfaktors 0,15 - Sie können diesen Parameter so wählen, dass er den Kreuzvalidierungsfehler minimiert (siehe den von mir geposteten Link). Jetzt müssen Sie nur noch eine Funktion schreiben, die die Peaks isoliert und ihre Breite schätzt:
Anschließend führen Sie diesen Code auf den 1000 Kurven für jeden Datensatz aus und berechnen die 2,5- und 97,5-Perzentile für die Breite jedes Peaks. Ich werde dies anhand der Y1-Zeitreihe veranschaulichen - Sie würden dasselbe für die Y2-Zeitreihe oder einen anderen interessierenden Datensatz tun.
Wenn Sie möchten, können Sie Hypothesentests durchführen, anstatt Konfidenzintervalle zu berechnen. Beachten Sie, dass der obige Code vereinfacht ist - es wird davon ausgegangen, dass jede Bootstrap-Lowess-Kurve 2 Peaks aufweist. Diese Annahme gilt möglicherweise nicht immer. Seien Sie also vorsichtig. Ich versuche nur, den Ansatz zu veranschaulichen, den ich verfolgen würde.
Hinweis: Die Funktion "mylowess" ist in dem oben angegebenen Link angegeben. So sieht es aus ...
quelle