Angenommen, ich habe zwei Datengruppen mit der Bezeichnung A und B (jede enthält z. B. 200 Proben und 1 Merkmal), und ich möchte wissen, ob sie unterschiedlich sind. Ich könnte:
a) Führen Sie einen statistischen Test (z. B. t-Test) durch, um festzustellen, ob sie sich statistisch unterscheiden.
b) Verwenden Sie überwachtes maschinelles Lernen (z. B. Support Vector Classifier oder Random Forest Classifier). Ich kann dies für einen Teil meiner Daten trainieren und es für den Rest überprüfen. Wenn der Algorithmus für maschinelles Lernen den Rest danach korrekt klassifiziert, kann ich sicher sein, dass die Stichproben differenzierbar sind.
c) Verwenden Sie einen unbeaufsichtigten Algorithmus (z. B. K-Means) und lassen Sie ihn alle Daten in zwei Stichproben aufteilen. Ich kann dann überprüfen, ob diese beiden gefundenen Proben mit meinen Etiketten A und B übereinstimmen.
Meine Fragen sind:
- Inwiefern überlappen sich diese drei Möglichkeiten?
- Sind b) und c) für wissenschaftliche Argumente nützlich?
- Wie kann ich aus den Methoden b) und c) eine „Signifikanz“ für den Unterschied zwischen den Stichproben A und B ermitteln?
- Was würde sich ändern, wenn die Daten mehrere Funktionen anstelle von einer Funktion hätten?
- Was passiert, wenn sie eine andere Anzahl von Proben enthalten, z. B. 100 vs 300?
Antworten:
Gute Frage. Alles kann gut oder schlecht sein, nützlich oder nicht, abhängig von Ihren Zielen (und vielleicht von der Art Ihrer Situation). Diese Methoden sind größtenteils darauf ausgelegt, unterschiedliche Ziele zu erreichen.
In diesem Sinne können wir Ihre Fragen beantworten:
quelle
Ich werde das Clustering nicht ansprechen, da es in anderen Antworten angesprochen wurde, aber:
Im Allgemeinen wird das Problem des Testens, ob zwei Stichproben signifikant unterschiedlich sind, als Zwei-Stichproben-Test bezeichnet .
Es könnte einfacher sein, über einige dieser Probleme nachzudenken, wenn Sie einen Test mit zwei Stichproben aus einem Klassifikator konstruieren, z. B. wie kürzlich von Lopez-Paz und Oquab (2017) vorgeschlagen . Die Vorgehensweise ist wie folgt:
Indem Sie den erlernten Klassifikator untersuchen, können Sie die Unterschiede zwischen den Verteilungen möglicherweise auch nur halbwegs aussagekräftig interpretieren. Indem Sie die Familie der von Ihnen in Betracht gezogenen Klassifikatoren ändern, können Sie den Test auch dahingehend leiten, nach bestimmten Arten von Unterschieden zu suchen.
Beachten Sie, dass es wichtig ist, den Zugtest-Split durchzuführen. Andernfalls wäre ein Klassifikator, der seine Eingaben gespeichert hat, immer perfekt unterscheidbar. Durch Erhöhen des Punkteanteils im Trainingssatz erhalten Sie mehr Daten, um einen guten Klassifikator zu erlernen, aber weniger Möglichkeiten, um sicherzugehen, dass sich die Klassifikationsgenauigkeit wirklich vom Zufall unterscheidet. Dieser Kompromiss wird je nach Problem und Klassifikatorfamilie variieren und ist noch nicht gut verstanden.
Lopez-Paz und Oquab zeigten bei einigen Problemen eine gute empirische Leistung dieses Ansatzes. Ramdas et al. (2016) haben außerdem gezeigt, dass theoretisch ein eng verwandter Ansatz für ein bestimmtes einfaches Problem ratenoptimal ist. Das "Richtige" in dieser Umgebung ist ein Bereich aktiver Forschung, aber dieser Ansatz ist zumindest in vielen Umgebungen sinnvoll, wenn Sie ein wenig mehr Flexibilität und Interpretierbarkeit wünschen, als nur einen Standardtest von der Stange anzuwenden.
quelle
Nur Ansatz (a) dient zum Testen der Hypothese.
Im Falle der Verwendung von überwachten Algorithmen für maschinelles Lernen (b) können sie die Hypothese über die Unterscheidung von Gruppen weder beweisen noch widerlegen. Wenn der Algorithmus für maschinelles Lernen die Gruppen nicht richtig klassifiziert, kann dies passieren, weil Sie für Ihr Problem einen "falschen" Algorithmus verwendet haben oder ihn nicht ausreichend optimiert haben. Andererseits können Sie die völlig "zufälligen" Daten lange "quälen" genug, um ein überpassendes Modell zu produzieren, das gute Vorhersagen macht. Ein weiteres Problem ist, wann und woher Sie wissen, dass der Algorithmus "gute" Vorhersagen macht? Fast nie würden Sie eine 100% ige Klassifikationsgenauigkeit anstreben. Wann würden Sie also wissen, dass die Klassifikationsergebnisse etwas beweisen?
Clustering-Algorithmen (c) sind nicht für überwachtes Lernen ausgelegt. Sie zielen nicht darauf ab, die Beschriftungen neu zu erstellen, sondern Ihre Daten nach Ähnlichkeiten zu gruppieren. Die Ergebnisse hängen nun davon ab, welchen Algorithmus Sie verwenden und nach welchen Ähnlichkeiten Sie suchen. Ihre Daten können unterschiedliche Ähnlichkeiten aufweisen. Möglicherweise möchten Sie nach Unterschieden zwischen Jungen und Mädchen suchen. Der Algorithmus kann jedoch auch Gruppen armer und reicher Kinder oder intelligente und weniger intelligente Kinder, Rechts- und Linkshänder usw. finden Die von Ihnen beabsichtigte Gruppierung beweist nicht, dass die Gruppierung keinen Sinn ergibt, sondern nur, dass sie eine andere "sinnvolle" Gruppierung gefunden hat. Wie im vorherigen Fall können die Ergebnisse vom verwendeten Algorithmus und den Parametern abhängen. Würde es Ihnen passen, wenn einer von zehn Algorithmen / Einstellungen "Ihren" findet? Etiketten? Was wäre, wenn es eins zu hundert wäre? Wie lange würden Sie suchen, bevor Sie anhalten? Beachten Sie, dass Sie beim maschinellen Lernen in den allermeisten Fällen nicht aufhören, nachdem Sie einen Algorithmus mit Standardeinstellungen verwendet haben. Das Ergebnis kann von der von Ihnen verwendeten Vorgehensweise abhängen.
quelle
a) Beantwortet nur die Frage, ob die Verteilung unterschiedlich ist, aber nicht, wie man sie unterscheidet. b) wird auch den besten Wert finden, um zwischen den beiden Verteilungen zu unterscheiden. c) funktioniert, wenn die beiden Distributionen bestimmte Eigenschaften haben. Beispielsweise wird es mit normaler Verteilung aber nicht mit einigen zwei Modalverteilungen funktionieren, da die Methode zwei Modi derselben Gruppe anstelle von zwei verschiedenen Gruppen unterscheiden kann.
c) ist wegen zweier Modalverteilungen für wissenschaftliche Argumente nicht sinnvoll. b) könnte zur Unterscheidung von zwei Verteilungen verwendet werden, da Sie die Signifikanz berechnen können (siehe 3.), obwohl ich sie nie getroffen habe.
Durch Bootstrapping. Sie berechnen das Modell 1000-mal basierend auf zufälligen Teilproben. Sie erhalten eine Punktzahl, zum Beispiel die minimale Summe von Alpha- und Betafehlern. Sie sortieren die Punktzahl aufsteigend. Für 5% Vertrauen wählen Sie den 950. Wert. Wenn dieser Wert niedriger als 50% ist (bei gleicher Punktzahl für Gruppe A und B), können Sie mit 95% iger Sicherheit die Nullhypothese, dass die Verteilungen gleich sind, ignorieren. Das Problem ist, dass, wenn beide Verteilungen normal sind, den gleichen Mittelwert haben, aber eine andere Variation aufweisen, Sie nicht verstehen können, dass sie sich durch ML-Techniken unterscheiden. Auf der anderen Seite finden Sie einen Variationstest, der die beiden Verteilungen unterscheiden kann. Und es könnte umgekehrt sein, dass ML stärker ist als ein statistischer Test und in der Lage ist, die Verteilungen zu unterscheiden.
Wenn Sie nur ein Merkmal in ML haben, müssen Sie nur einen Wert finden, um die Verteilungen zu unterscheiden. Mit zwei Merkmalen kann die Grenze ein Sinus sein und im mehrdimensionalen Raum kann es wirklich seltsam sein. Es wird also viel schwieriger sein, die richtige Grenze zu finden. Andererseits bringen zusätzliche Funktionen zusätzliche Informationen. Dies erleichtert im Allgemeinen die Unterscheidung der beiden Verteilungen. Wenn beide Variablen normal verteilt sind, ist der Rand eine Linie.
Kleinere Samples können sich nicht normal verhalten, da der zentrale Grenzwertsatz nicht angewendet werden kann. Größere Stichproben beginnen sich normaler zu verhalten, da der zentrale Grenzwertsatz zu funktionieren beginnt. Beispielsweise wird der Mittelwert beider Gruppen fast normal verteilt, wenn die Stichprobe groß genug ist. Normalerweise sind es aber nicht 100 vs 300, sondern 10 Beobachtungen gegen 1000 Beobachtungen. Nach dieser Seite funktioniert der t-Test für die Differenz der Mittelwerte unabhängig von der Verteilung, wenn die Anzahl der Beobachtungen größer als 40 ist und keine Ausreißer vorliegen.
quelle
Statistische Tests dienen dazu, Rückschlüsse auf Daten zu ziehen. Sie zeigen Ihnen, wie die Dinge zusammenhängen. Das Ergebnis hat eine reale Bedeutung. ZB wie Rauchen mit Lungenkrebs in Bezug auf Richtung und Ausmaß verbunden ist. Es sagt dir immer noch nicht, warum Dinge passiert sind. Um zu beantworten, warum Dinge passiert sind, müssen wir auch die Wechselbeziehung mit anderen Variablen berücksichtigen und entsprechende Anpassungen vornehmen (siehe Pearl, J. (2003) CAUSALITY: MODELS, REASONING AND INFERENCE).
Überwachtes Lernen dient dazu, Vorhersagen zu treffen. Es sagt Ihnen, was passieren wird. ZB In Anbetracht des Raucherstatus einer Person können wir vorhersagen, ob sie an Lungenkrebs erkrankt ist. In einfachen Fällen sagt es Ihnen immer noch „wie“, indem Sie beispielsweise den vom Algorithmus ermittelten Rauchstillstand ablesen. Komplexere Modelle sind jedoch schwieriger oder unmöglich zu interpretieren (Deep Learning / Boosten mit vielen Funktionen).
Unbeaufsichtigtes Lernen wird häufig zur Erleichterung der beiden oben genannten eingesetzt.
Wenn die Anzahl der Merkmale / Variablen größer wird, wird der Unterschied zwischen statistischen Tests und überwachtem Lernen größer. Statistische Tests müssen nicht unbedingt davon profitieren, es hängt zum Beispiel davon ab, ob Sie kausale Schlussfolgerungen ziehen möchten, indem Sie andere Faktoren berücksichtigen oder Heterogenität in den Assoziationen identifizieren, wie oben erwähnt. Betreutes Lernen funktioniert besser, wenn die Funktionen relevant sind und es sich eher um eine Blackbox handelt.
Wenn die Anzahl der Stichproben zunimmt, erhalten wir genauere Ergebnisse für statistische Tests, genauere Ergebnisse für überwachtes Lernen und robustere Ergebnisse für unbeaufsichtigtes Lernen. Dies hängt jedoch von der Qualität der Daten ab. Daten mit schlechter Qualität können die Ergebnisse verzerren oder verrauschen.
Manchmal möchten wir wissen, „wie“ und „warum“, um Interventionsmaßnahmen zu informieren, z. B. indem festgestellt wird, dass Rauchen Lungenkrebs verursacht. Manchmal möchten wir wissen, „was“, um Entscheidungen zu treffen, z. B. herauszufinden, wer wahrscheinlich an Lungenkrebs erkrankt ist, und sie frühzeitig zu behandeln. Auf Science wird eine Sonderausgabe über Vorhersage und ihre Grenzen veröffentlicht ( http://science.sciencemag.org/content/355/6324/468)). „Der Erfolg scheint am beständigsten zu sein, wenn Fragen in multidisziplinären Bemühungen angegangen werden, die das menschliche Verständnis des Kontextes mit der algorithmischen Fähigkeit zum Umgang mit Terabytes an Daten verbinden.“ Meiner Meinung nach kann beispielsweise mithilfe von Hypothesentests ermitteltes Wissen dazu beitragen, das Lernen zu überwachen, indem es uns informiert Welche Daten / Features sollten wir in erster Linie sammeln. Auf der anderen Seite kann überwachtes Lernen dabei helfen, Hypothesen zu erstellen, indem Sie angeben, welche Variablen verwendet werden
quelle