Zwei Welten prallen aufeinander: ML für komplexe Vermessungsdaten


14

Ich habe ein scheinbar einfaches Problem, aber seit einigen Wochen habe ich keine passende Lösung gefunden.

Ich habe ziemlich viele Umfrage- / Umfragedaten (Zehntausende von Befragten, z. B. 50.000 pro Datensatz), die von etwas stammen, von dem ich hoffe, dass es eine komplex gestaltete Umfrage mit Gewichten, Schichtung, spezifischem Routing usw. ist. Für jeden Befragten gibt es Hunderte von Variablen, z. B. demografische Daten (Alter, Region ...) und dann meist binäre (höchstens kategoriale) Variablen.

Ich komme eher aus der Informatik / dem maschinellen Lernen und musste viel über klassische Umfragestatistiken und -methoden lernen . Jetzt möchte ich klassisches maschinelles Lernen auf diese Daten anwenden (z. B. Vorhersagen einiger fehlender Werte für eine Teilmenge der Befragten - im Grunde eine Klassifizierungsaufgabe). Aber Moment mal, ich finde keinen geeigneten Weg, wie das geht. Wie soll ich diese Schichten, Gewichte oder das Routing einbeziehen (wie: Wenn Frage 1 mit Option 2 beantwortet wurde, Frage 3 stellen, andernfalls überspringen)?

Das einfache Anwenden meiner Modelle (Bäume, logistische Regression, SVM, XGBoost ...) scheint gefährlich (und schlägt in den meisten Fällen fehl), da sie normalerweise davon ausgehen, dass die Daten aus einer einfachen Zufallsstichprobe oder iid stammen.

Viele Methoden haben zumindest Gewichte, aber es hilft nicht viel. Außerdem ist unklar, wie ich unausgewogene Klassen und Gewichte, die durch die Umfragedefinition vorgegeben sind, miteinander kombinieren soll, ohne über diese Schichtungselemente zu sprechen. Darüber hinaus sollten die Ergebnismodelle gut kalibriert sein - die vorhergesagte Verteilung sollte der ursprünglichen sehr nahe kommen. Eine gute Prognoseleistung ist hier nicht das einzige Kriterium. Ich habe die Optimierungsmetrik geändert, um dies ebenfalls zu berücksichtigen (z. B. Entfernung der vorhergesagten Verteilung von der tatsächlichen Verteilung + Genauigkeit / MCC), und es hat in einigen Fällen geholfen, die Leistung in anderen zu beeinträchtigen.

Gibt es eine kanonische Möglichkeit, mit diesem Problem umzugehen? Es scheint mir ein stark unterschätzter Forschungsbereich zu sein. IMO könnten viele Umfragen von der Macht von ML profitieren, aber es gibt keine Quellen. So sind zwei Welten, die nicht miteinander interagieren.

Was ich bisher gefunden habe:

Verwandte CV-Fragen, aber keine von ihnen enthält eine brauchbare Antwort, wie man das angeht (entweder keine Antwort, nicht das, wonach ich frage, oder irreführende Empfehlungen):


Können Sie bitte definieren, was Sie unter " in den meisten Fällen scheitern " verstehen ? Wie beurteilen Sie den Erfolg eines Models in dieser aktuellen Situation?
usεr11852 sagt Reinstate Monic

Sie befinden sich nicht einmal in der Nähe der ursprünglichen Distribution oder es erscheint unsinnig, sie auszuführen (z. B. wenn Routing enthalten ist).
kotrfa

Antworten:


3

( Update: Es gibt noch nicht viel Arbeit über "moderne" ML-Methoden mit komplexen Umfragedaten, aber die neueste Ausgabe von Statistical Science enthält einige Übersichtsartikel. Siehe insbesondere Breidt und Opsomer (2017), "Model-Assisted Umfrageschätzung mit modernen Vorhersagetechniken " .

Auf der Grundlage des von Ihnen erwähnten Papiers von Toth und Eltinge gibt es jetzt auch ein R-Paket- RPM, das CART für Daten komplexer Umfragen implementiert.)

Jetzt möchte ich klassisches maschinelles Lernen auf diese Daten anwenden (z. B. Vorhersagen einiger fehlender Werte für eine Teilmenge der Befragten - im Grunde eine Klassifizierungsaufgabe).

Ihr Ziel ist mir nicht ganz klar. Versuchen Sie in erster Linie, fehlende Beobachtungen zu unterstellen, nur um einen "vollständigen" Datensatz zu haben, um jemand anderem zu geben? Oder haben Sie bereits vollständige Daten und möchten ein Modell erstellen, um die Antworten neuer Beobachtungen vorherzusagen / zu klassifizieren? Haben Sie eine bestimmte Frage, die Sie mit Ihrem Modell oder Ihren Modellen beantworten müssen, oder geht es bei der Datengewinnung allgemeiner zu?

In beiden Fällen ist eine komplexe Stichprobenerhebung / umfragegewichtete logistische Regression eine vernünftige, ziemlich gut verstandene Methode. Es gibt auch eine ordinale Regression für mehr als 2 Kategorien. Diese berücksichtigen die Schichten und Umfragegewichte. Benötigen Sie eine schickere ML-Methode als diese?

Zum Beispiel könnten Sie svyglmin Rs surveyPaket verwenden. Auch wenn Sie R nicht verwenden, hat der Autor des Pakets, Thomas Lumley, ein nützliches Buch "Komplexe Umfragen: Ein Leitfaden zur Analyse mit R" geschrieben, das sowohl logistische Regression als auch fehlende Daten für Umfragen abdeckt.

(Ich hoffe, dass Sie bei der Imputation bereits mit allgemeinen Problemen im Zusammenhang mit fehlenden Daten vertraut sind. Wenn nicht, prüfen Sie Ansätze wie die Mehrfachimputation, um zu berücksichtigen, wie sich der Imputationsschritt auf Ihre Schätzungen / Vorhersagen auswirkt.)

Das Weiterleiten von Fragen ist in der Tat ein zusätzliches Problem. Ich bin mir nicht sicher, wie ich am besten damit umgehen soll. Für die Anrechnung können Sie möglicherweise jeweils einen "Schritt" im Arbeitsplan unterstellen. Verwenden Sie beispielsweise ein globales Modell, und setzen Sie zuerst die Antwort aller auf "Wie viele Kinder haben Sie?" Führen Sie dann ein neues Modell für die relevante Teilpopulation (Personen mit mehr als 0 Kindern) durch, um den nächsten Schritt von "Wie alt sind Ihre Kinder?"

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.