Nehmen wir an, ich habe zwei oder mehr Stichprobenpopulationen von n-dimensionalen Vektoren mit kontinuierlichem Wert. Gibt es eine nichtparametrische Möglichkeit zu testen, ob diese Proben von derselben Verteilung stammen? Wenn ja, gibt es dafür eine Funktion in R oder Python?
15
Antworten:
Ich habe gerade viel über multivariate Tests mit zwei Stichproben geforscht, als ich feststellte, dass der Kolmogorov-Smirnov-Test nicht multivariat war. Also habe ich mir den Chi-Test, Hotellings T ^ 2, Anderson-Darling, Cramer-von-Mises-Kriterium, Shapiro-Wilk usw. angeschaut. Sie müssen vorsichtig sein, da einige dieser Tests darauf beruhen, dass die Vektoren verglichen werden, um gleich zu sein Länge. Andere werden nur verwendet, um die Annahme der Normalität abzulehnen, nicht um zwei Stichprobenverteilungen zu vergleichen.
Die führende Lösung scheint die kumulativen Verteilungsfunktionen der beiden Stichproben mit allen möglichen Reihenfolgen zu vergleichen, die, wie Sie vielleicht vermuten, sehr rechenintensiv sind, und zwar in der Größenordnung von Minuten für einen einzelnen Durchlauf einer Stichprobe mit einigen tausend Datensätzen:
https://cran.r-project.org/web/packages/Peacock.test/Peacock.test.pdf
Wie die Dokumentation von Xiao feststellt, ist der Fasano- und Franceschini-Test eine Variante des Peacock-Tests:
http://adsabs.harvard.edu/abs/1987MNRAS.225..155F
Der Fasano- und der Franceschini-Test sollten weniger rechenintensiv sein, aber ich habe keine Implementierung ihrer Arbeit in R gefunden.
Für diejenigen unter Ihnen, die die rechnerischen Aspekte des Peacock-versus-Fasano- und des Franceschini-Tests untersuchen möchten, lesen Sie die rechnerisch effizienten Algorithmen für den zweidimensionalen Kolmogorov-Smirnov-Test
quelle
Das R-Paket np (nicht parametrisch) hat einen Test für die Gleichheit der Dichten von kontinuierlichen und kategorialen Daten unter Verwendung der integrierten quadrierten Dichte. Li, Maasoumi und Racine
Sowie np conditional pdf in Abschnitt 6 .
quelle
Ja, es gibt nichtparametrische Methoden zum Testen, ob zwei multivariate Stichproben aus derselben gemeinsamen Verteilung stammen. Ich werde Details erwähnen, die nicht von L Fischman erwähnt wurden . Das grundlegende Problem, das Sie stellen, kann als "Zwei-Stichproben-Problem" bezeichnet werden. Derzeit wird in Zeitschriften wie Journal of Machine Learning Research und Annals of Statistics und anderen viel geforscht . Mit meinem geringen Wissen über dieses Problem kann ich folgende Anweisungen geben
Wenn Sie verschiedene Punktmengen (Beispielmengen) mit der Referenzmenge vergleichen möchten, können Sie die f-Divergenz verwenden , um festzustellen, inwieweit sie der Referenzmenge nahekommen .
Es kann auch andere Ansätze geben. Diese Antwort ist in keiner Weise eine umfassende Behandlung Ihrer Frage.
quelle