Welche Techniken stehen zur Verfügung, um viele Kategorien zu einigen zu reduzieren (oder zu bündeln), um sie als Eingabe (Prädiktor) in einem statistischen Modell zu verwenden?
Stellen Sie sich eine Variable wie den Hauptfachstudenten vor (Fachbereich, den ein Student im Grundstudium auswählt). Es ist ungeordnet und kategorisch, kann aber möglicherweise Dutzende unterschiedlicher Ebenen haben. Angenommen, ich möchte major als Prädiktor in einem Regressionsmodell verwenden.
Die Verwendung dieser Ebenen im Ist-Zustand für die Modellierung führt zu allen möglichen Problemen, da es nur so viele gibt. Eine Menge statistischer Präzision würde weggeworfen, um sie zu verwenden, und die Ergebnisse sind schwer zu interpretieren. Wir interessieren uns selten für bestimmte Hauptfächer - wir interessieren uns viel eher für breite Kategorien (Untergruppen) von Hauptfächern. Es ist jedoch nicht immer klar, wie die Ebenen in solche übergeordneten Kategorien unterteilt werden sollen oder wie viele übergeordnete Kategorien verwendet werden sollen.
Für typische Daten würde ich gerne Faktoranalyse, Matrixfaktorisierung oder eine diskrete latente Modellierungstechnik verwenden. Aber Majors schließen sich gegenseitig aus, deshalb zögere ich, ihre Kovarianz für irgendetwas auszunutzen.
Außerdem interessieren mich die Hauptkategorien nicht für sich. Es ist mir wichtig, übergeordnete Kategorien zu erstellen, die in Bezug auf mein Regressionsergebnis kohärent sind . Im Fall des binären Ergebnisses schlägt das für mich so etwas wie eine lineare Diskriminanzanalyse (LDA) vor, um übergeordnete Kategorien zu generieren, die die diskriminative Leistung maximieren. Aber LDA ist eine begrenzte Technik, und das kommt mir vor, als würden mir schmutzige Daten durch den Kopf gehen. Darüber hinaus ist jede kontinuierliche Lösung schwer zu interpretieren.
In der Zwischenzeit scheint mir etwas auf Kovarianzen basierendes wie die Mehrfachkorrespondenzanalyse (Multiple Correspondence Analysis, MCA) verdächtig zu sein, da sich gegenseitig ausschließende Dummy-Variablen inhärent voneinander unterscheiden gleiche Variable.
Bearbeiten : Um es klar zu sagen, geht es darum, Kategorien zu reduzieren (nicht auszuwählen), und die Kategorien sind Prädiktoren oder unabhängige Variablen. Im Nachhinein scheint dieses Problem eine angemessene Zeit zu sein, um "sie alle zu regulieren und von Gott aussortieren zu lassen". Schön zu sehen, dass diese Frage für so viele Menschen interessant ist!
quelle
Antworten:
Wenn ich es richtig verstanden habe, stellen Sie sich ein lineares Modell vor, bei dem einer der Prädiktoren kategorisch ist (z. B. College Major). und Sie erwarten, dass für einige Untergruppen ihrer Ebenen (Untergruppen von Kategorien) die Koeffizienten möglicherweise genau gleich sind. Vielleicht sind die Regressionskoeffizienten für Mathematik und Physik gleich, unterscheiden sich jedoch von denen für Chemie und Biologie.
Im einfachsten Fall hätten Sie ein lineares "Einweg - ANOVA" - Modell mit einem einzelnen kategorialen Prädiktor: wobei die Ebene der kategorialen Variablen (die Kategorie). Möglicherweise bevorzugen Sie jedoch eine Lösung, die einige Ebenen (Kategorien) zusammenfasst, z. B.i { α 1 = α 2 , α 3 = α 4 = α 5 .
Dies legt nahe, dass man versuchen kann, eine Regularisierungsstrafe zu verwenden, die Lösungen mit unterschiedlichen Alphas bestraft. Ein , der sofort in den Sinn kommt, istDies ähnelt dem Lasso und sollte die Sparsamkeit der Unterschiede erzwingen. Genau das möchten Sie: Sie möchten, dass viele von ihnen Null sind. Der Regularisierungsparameter sollte mit Kreuzvalidierung ausgewählt werden.α i - α j ω
Ich habe mich noch nie mit solchen Modellen befasst, und das Obige ist mir als Erstes in den Sinn gekommen. Dann habe ich mich entschlossen zu prüfen, ob so etwas implementiert ist. Ich machte einige Google-Suchanfragen und stellte bald fest, dass dies als Fusion von Kategorien bezeichnet wird. Die Suche nach
lasso fusion categorical
gibt Ihnen viele Hinweise zum Lesen. Hier sind einige, die ich kurz angeschaut habe:Gerhard Tutz, Regression für kategoriale Daten, siehe S. 175-175 in Google Books . Tutz erwähnt die folgenden vier Papiere:
Land und Friedman, 1997, Variable Fusion: eine neue adaptive Signalregressionsmethode
Bondell und Reich, 2009, Simultane Faktorauswahl und Einbruchspegel in ANOVA
Gertheiss und Tutz, 2010, sparsame Modellierung kategorialer erklärender Variablen
Tibshirani et al. 2005, Sparsamkeit und Glätte über das verschmolzene Lasso sind etwas relevant, auch wenn sie nicht genau gleich sind (es geht um ordinale Variablen)
Gertheiss und Tutz 2010, veröffentlicht in den Annals of Applied Statistics, sehen aus wie ein aktuelles und gut lesbares Papier, das andere Referenzen enthält. Hier ist seine Zusammenfassung:
Ich mag ihre Lasso-ähnlichen Lösungspfade, die zeigen, wie Ebenen von zwei kategorialen Variablen zusammengeführt werden, wenn die Regularisierungsstärke zunimmt:
quelle
Ich habe damit an einem Projekt gerungen, an dem ich gearbeitet habe, und zu diesem Zeitpunkt habe ich festgestellt, dass es wirklich keine gute Möglichkeit gibt, Kategorien zu verschmelzen, und deshalb versuche ich, ein hierarchisches Modell mit gemischten Effekten zu entwickeln, bei dem meine Das Äquivalent Ihres Majors ist ein zufälliger Effekt.
In Situationen wie diesen müssen anscheinend zwei Entscheidungen getroffen werden: 1) Wie werden die Kategorien, die Sie haben, wenn Sie in das Modell passen, zusammengeführt, und 2) welche zusammengeführte Kategorie wird "andere", in die Sie standardmäßig neue einschließen Majors, die sich jemand ausgedacht hat, nachdem Sie Ihr Modell angepasst haben. (Ein zufälliger Effekt kann diesen zweiten Fall automatisch behandeln.)
Wenn das Verschmelzen ein Urteil erfordert (im Gegensatz zu vollständig automatisierten Vorgängen), bin ich skeptisch gegenüber der "anderen" Kategorie, die oft ein Sammelbegriff der Kategorien mit wenigen Dingen und nicht irgendeiner Art von prinzipieller Gruppierung ist.
Ein zufälliger Effekt verarbeitet viele Ebenen, fasst verschiedene Ebenen dynamisch zusammen ("zieht Stärke aus"), kann zuvor nicht sichtbare Ebenen vorhersagen usw. Ein Nachteil könnte sein, dass die Verteilung der Ebenen fast immer als normal angenommen wird.
quelle
Es gibt eine Python-Implementierung in der category_encoders- Bibliothek [2].
Eine Variante namens "impact coding" wurde im R-Paket Vtreat implementiert [3] [4]. Das Paket (und die eigentliche Impact-Codierung) wird in einem Artikel dieser Autoren aus dem Jahr 2016 [5] und in mehreren Blog-Posts [6] beschrieben. Beachten Sie, dass die aktuelle R-Implementierung keine multinomialen (kategorialen mit mehr als 2 Kategorien) oder multivariaten (vektorwertigen) Antworten verarbeitet.
quelle
Wenn Sie eine unabhängige Hilfsvariable haben, die logisch als Anker für den kategorialen Prädiktor zu verwenden ist, ziehen Sie die Verwendung von Fischers optimalem Bewertungsalgorithmus in Betracht, der mit seiner linearen Diskriminanzanalyse zusammenhängt. Angenommen, Sie wollten den Hauptfachbereich in einer einzigen fortlaufenden Metrik abbilden und nehmen an, dass ein geeigneter Anker ein quantitativer SAT-Test vor der Zulassung ist. Berechnen Sie die mittlere quantitative Punktzahl für jeden Major und ersetzen Sie den Major durch diesen Mittelwert. Sie können dies problemlos auf mehrere Anker ausweiten und so mehr als einen Freiheitsgrad schaffen, mit dem Sie die Hauptpunkte zusammenfassen können.
Beachten Sie, dass im Gegensatz zu einigen früheren Vorschlägen eine optimale Bewertung einen unbeaufsichtigten Lernansatz darstellt. Die Freiheitsgrade (Anzahl der Parameter, die gegen Y geschätzt werden) sind daher gering und gut definiert. Dies führt zu einer angemessenen statistischen Schlussfolgerung (wenn häufig auftretende, genaue Standardfehler, Zuverlässigkeit) (Kompatibilitäts-) Intervalle und p-Werte).
Ich mag den Strafvorschlag von https://stats.stackexchange.com/users/28666/amoeba @amoeba sehr.
quelle
Die Arbeit " Ein Vorverarbeitungsschema für Kategorieattribute mit hoher Kardinalität bei Klassifizierungs- und Vorhersageproblemen " nutzt die hierarchische Struktur der Kategorieattribute in einem verschachtelten "empirischen Bayes" -Schema auf jedem Pool / jeder Ebene, um die kategoriale Variable in eine hintere Klassenwahrscheinlichkeit abzubilden, die kann direkt oder als Eingabe in andere Modelle verwendet werden.
quelle
Hier gibt es mehrere Fragen, von denen einige früher gestellt und beantwortet wurden. Wenn das Problem darin besteht, dass die Berechnung viel Zeit in Anspruch nimmt: Es gibt mehrere Methoden, um damit umzugehen. Sehen Sie sich die groß angelegte Regression mit der spärlichen Feature-Matrix und dem Artikel von Maechler und Bates an .
Aber es kann durchaus sein, dass das Problem bei der Modellierung liegt. Ich bin mir nicht sicher, ob die üblichen Methoden zur Behandlung von Variablen mit kategorialen Prädiktoren wirklich eine ausreichende Anleitung bieten, wenn kategoriale Variablen mit sehr vielen Ebenen vorhanden sind. Weitere Informationen finden Sie auf dieser Website
[many-categories]
. Es gibt sicherlich viele Möglichkeiten, die man ausprobieren könnte, man könnte (wenn dies eine gute Idee für Ihr Beispiel ist, ich kann es nicht wissen, Sie haben uns Ihre spezifische Anwendung nicht mitgeteilt) eine Art hierarchischer kategorialer Variable (n), das heißt, inspiriert sein Informationen zu dem in der biologischen Klassifizierung verwendeten System finden Sie unter https://en.wikipedia.org/wiki/Taxonomy_(biology).. Dort wird eine Person (Pflanze oder Tier) zuerst in Domänen, dann in Königreich, Stamm, Klasse, Ordnung, Familie, Gattung und schließlich in Arten eingeteilt. Sie können also für jede Ebene in der Klassifizierung eine Faktorvariable erstellen. Wenn es sich beispielsweise um Produkte handelt, die in einem Supermarkt verkauft werden, können Sie eine hierarchische Klassifizierung erstellen, die mit [Lebensmittel, Küchengeschirr usw.] beginnt. Lebensmittel können dann als [Fleisch, Fisch, Gemüse, Getreide usw.] klassifiziert werden bald. Nur eine Möglichkeit, die eine vorherige Hierarchie angibt, die nicht spezifisch mit dem Ergebnis zusammenhängt.Aber du hast gesagt:
Dann könnten Sie es mit einem verschmolzenen Lasso versuchen und andere Antworten in diesem Thread sehen, was als eine Möglichkeit gesehen werden könnte, die Ebenen auf der Grundlage der Daten in größere Gruppen zusammenzufassen, und nicht als vorherige Organisation der Ebenen, wie es mein Vorschlag für eine hierarchische Struktur impliziert Organisation der Ebenen.
quelle