Wie mache ich multivariates maschinelles Lernen? (Vorhersage mehrerer abhängiger Variablen)

9

Ich möchte Gruppen von Artikeln vorhersagen, die jemand kaufen wird ... dh ich habe mehrere kolinear abhängige Variablen.

Anstatt 7 oder so unabhängige Modelle zu erstellen, um die Wahrscheinlichkeit vorherzusagen, dass jemand jedes der 7 Elemente kauft, und dann die Ergebnisse zu kombinieren, welche Methoden sollte ich prüfen, um ein Modell zu haben, das die Beziehungen zwischen den 7 verwandten, abhängigen Variablen berücksichtigt ( Dinge, die sie kaufen können).

Ich verwende R als Programmiersprache, daher sind alle R-spezifischen Ratschläge willkommen.

blast00
quelle

Antworten:

7

Basierend auf Ihrer Beschreibung scheint eine multinomiale logistische Regression angemessen zu sein. Angenommen, Ihr Ergebnis ist ein Faktor mit 7 Stufen (eine der 7 Kaufoptionen), können Sie die Mitgliedschaft mithilfe eines multinomialen logistischen Regressionsmodells schnell vorhersagen (siehe ?multinomim nnetPaket in R). Wenn Ihr Ergebnis nicht zu einem Faktor mit 7 Ebenen kombiniert werden kann, ist eine Clusteranalyse erforderlich, um die Elemente zu gruppieren, bevor die multinomiale logistische Regression angepasst wird.

statsRus
quelle
Es ist keine multinomiale Regression. Ich habe 7 verschiedene Produkte, jedes Produkt hat bis zu 4 Faktoren ... es gibt Erdbeeren und Erdbeersorten und dann Milch und verschiedene Milchsorten und Äpfel und verschiedene Apfelsorten, und ich muss die richtigen vorhersagen Einkaufswagen ... also grüne Äpfel mit gezüchteten Erdbeeren, mit 2% Milch usw.,
blast00
1
Ich habe deine Lösung! Ich würde eine polytome Analyse latenter Klassen empfehlen, bei der das Ergebnis eine Reihe von Faktoren ist, von denen angenommen wird, dass sie sich in einer oder mehreren latenten Klassen gruppieren. Die Mitgliedschaft in diesen Klassen wird auf der Grundlage einer multinomialen logistischen Regression vorhergesagt. ?poLCAWeitere Informationen zum Anpassen dieses Modells finden Sie in R.
StatistikRus
Ich lese das durch - danke statsRus. Es muss aber auch andere Wege geben.
blast00
Insbesondere Methoden des maschinellen Lernens, da ich keine Wahrscheinlichkeitsverteilung
anpassen muss
Denken Sie daran, dass viele statistische Modelle tatsächlich unbeaufsichtigte Modelle für maschinelles Lernen sind - aber Sie haben Recht, wir kümmern uns normalerweise um die Eingaben mit diesen Modellen. Für überwachtes maschinelles Lernen mit vielen Eingaben und Ergebnissen (und einer Black-Box-Qualität) würde ich neuronale Netze ( ?nnetin R) vorschlagen .
StatistikRus
5

Sie könnten einen zufälligen Wald bauen, in dem jede Ihrer Klassen eine Gruppe von Gegenständen ist (dh "grüne Äpfel mit gezüchteten Erdbeeren, mit 2% Milch"). Basierend auf den Merkmalen des Käufers oder was auch immer Ihre Prädiktoren sind, können Sie dann für jede Artikelgruppe eine vorhergesagte Kaufwahrscheinlichkeit angeben. Ich würde dazu das randomForest-Paket von R ( https://cran.r-project.org/web/packages/randomForest/index.html ) verwenden.

LindsayL
quelle
3

Eine Möglichkeit besteht darin, die Häufigkeit aller Kombinationen von Produktkäufen zu ermitteln. Wählen Sie die wenigen häufigsten Kombinationen aus. Erstellen Sie dann ein Regressionsmodell, um die ausgewählte Kombination jedes Einzelnen vorherzusagen. Mit einer binären logistischen Regression könnten Sie beispielsweise den Kauf von a) Weißwein, Brie, Erdbeeren und Trauben im Vergleich zu b) Rotwein, Cheddar und Gouda vorhersagen. Bei mehr als zwei solchen Kombinationen oder wenn Sie die Kategorie "Keine der oben genannten" einschließen möchten, ist die multinomiale logistische Regression wahrscheinlich die Methode der Wahl.

Beachten Sie, dass das Einbeziehen nur der gängigen Combos bedeutet, dass Sie jeweils mehr brauchbare Zahlen haben, die anderen jedoch zumindest von diesem Verfahren ausschließen. Ich könnte mir 7 Gegenstände vorstellen, die Dutzende von Combos erstellen, die jeweils von mindestens ein paar Leuten ausgewählt wurden. Dies sind möglicherweise zu viele Kategorien für Ihre Stichprobengröße. Wenn eine Kombination nur von wenigen Personen ausgewählt würde, hätte Ihr Modell nur sehr wenige Informationen, mit denen Sie arbeiten könnten.

Eine andere Möglichkeit besteht darin, mithilfe der Clusteranalyse einige Sätze von Artikeln zu ermitteln, die in der Regel zusammen gekauft werden. Mit 7 Elementen erhalten Sie wahrscheinlich weniger als 4 Cluster, was Ihre Aufgabe möglicherweise erleichtert. Wenn Sie die Clusteranalyse versuchen und feststellen, dass die Ergebnisse nicht funktionieren, gibt es keinen Grund, warum Sie sie verwenden müssen: Kehren Sie einfach zu dem oben beschriebenen frequenzbasierten Ansatz zurück. In diesem Fall suchen Sie, wenn ich Sie richtig lese, nach den aussagekräftigsten und interessantesten Kategorien, und um dies festzustellen, müssen Sie sich keine Gedanken über Freiheitsgrade oder Mehrfachvergleiche oder solche Bedenken machen, die möglicherweise zutreffen Wenn Sie bei der Durchführung eines Inferenztests mehrere Methoden ausprobiert haben.

rolando2
quelle
Danke für diesen Vorschlag. Es muss jedoch multivariate Methoden des maschinellen Lernens geben. Ähnlich wie Sie 2 abhängige Variablen in einem "einfacheren" Regressionsmodell haben könnten .. und Sie tun nur lm (y + z ~ ...) .. Ich denke ..
blast00
0

Ich gehe davon aus, dass Sie eine Situation ähnlich der folgenden analysieren möchten;

Yi = f (X), wobei f () eine nichtlineare Verbindung ist und X ein Vektor von Kovariaten ist und Yi die i-te abhängige Variable ist, die ordinaler Natur ist (wenn es kategorisch ist, kann Yi nicht mehr als zwei haben Kategorien), und sagen Sie in Ihrem Modell i = 1, 2, ... 5 und jedes der Yi ist korreliert ... Wenn ja, können Sie sicherlich Multivariate Probit verwenden. R, Mplus und SAS können MVP schätzen

Im Gegensatz dazu haben Sie Y = f (X) und Y (beachten Sie, dass es nur ein Y gibt) ist kategorisch und hat beispielsweise N Kategorien, so dass die über die N Kategorien getroffenen Entscheidungen exklusiv und erschöpfend sind. Sie müssen das Multinomial Logit-Modell anpassen. Es gibt auch so etwas wie multinomiales Probit, ähnlich wie multinomiales Logit.

Hoffe das hilft. Danke Sanjoy

Sanjoy Bhattacharjee
quelle