Comment faire un apprentissage automatique multivarié? (prédire plusieurs variables dépendantes)


9

Je cherche à prédire les groupes d'articles que quelqu'un achètera ... c'est-à-dire que j'ai plusieurs variables dépendantes colinéaires.

Plutôt que de construire environ 7 modèles indépendants pour prédire la probabilité que quelqu'un achète chacun des 7 articles, puis de combiner les résultats, quelles méthodes devrais-je étudier pour avoir un modèle qui tient compte des relations entre les 7 variables dépendantes liées ( choses qu'ils peuvent acheter).

J'utilise R comme langage de programmation, donc tout conseil spécifique à R est apprécié.

Réponses:


7

D'après votre description, il semble qu'une régression logistique multinomiale soit appropriée. En supposant que votre résultat est un facteur à 7 niveaux (l'une des 7 options d'achat), vous pouvez rapidement prédire l'adhésion en utilisant un modèle de régression logistique multinomial (voir ?multinomdans le nnetpackage en R). Si votre résultat ne peut pas être combiné en un facteur à 7 niveaux, une analyse en grappes serait nécessaire pour regrouper les éléments avant d'ajuster la régression logistique multinomiale.


Ce n'est pas une régression multinomiale. J'ai 7 produits différents, chaque produit a jusqu'à 4 facteurs .... il y a des fraises et des types de fraises, puis du lait et différents types de lait, et des pommes et différents types de pommes, et je dois prédire le bon panier ... donc des pommes vertes avec des fraises fermières, avec 2% de lait etc.,
blast00

1
J'ai ta solution! Je recommanderais une analyse de classe latente polytomique, dans laquelle le résultat est un ensemble de facteurs qui sont supposés se regrouper en une ou plusieurs classes latentes. L'adhésion à ces classes est prédite sur la base d'une régression logistique multinomiale. Voir ?poLCAen R pour plus d'informations sur le montage de ce modèle.
stats:

Je lis ceci - merci statsRus. Il doit cependant y avoir d'autres moyens.
blast00

Plus précisément, les méthodes d'apprentissage automatique, car je n'ai pas besoin d'adapter une distribution de probabilité / suis OK avec un modèle de boîte noire
blast00

Gardez à l'esprit que de nombreux modèles statistiques sont en fait des modèles d'apprentissage automatique non supervisés - mais vous avez raison, nous nous soucions généralement des entrées avec ces modèles. Pour un apprentissage automatique supervisé avec de nombreuses entrées et résultats (et une qualité de boîte noire), je suggère des réseaux de neurones ( ?nneten R).
statsRus

5

Vous pourriez construire une forêt aléatoire où chacune de vos classes est un groupe d'articles (par exemple, "pommes vertes avec des fraises fermières, avec 2% de lait"). Ensuite, en fonction des caractéristiques de l'acheteur ou de vos prédicteurs, vous pouvez fournir une probabilité d'achat prévue pour chaque groupe d'articles. J'utiliserais le package randomForest de R ( https://cran.r-project.org/web/packages/randomForest/index.html ) pour ce faire.


3

Une option consiste à obtenir les fréquences de toutes les combinaisons d'achats de produits; sélectionner les quelques combinaisons les plus courantes; puis construisez un modèle de régression pour prédire la combinaison choisie par chaque individu. Par exemple, avec une régression logistique binaire, on pourrait imaginer prévoir l'achat de a) vin blanc, brie, fraises et raisins vs b) vin rouge, cheddar et gouda. Avec plus de 2 combinaisons de ce type, ou si vous souhaitez inclure la catégorie «aucune des réponses ci-dessus», la régression logistique multinomiale serait probablement la méthode de choix.

Notez qu'inclure uniquement les combos communs signifie que vous aurez plus de nombres exploitables de chacun mais que vous exclurez les autres, au moins de cette procédure. Je pourrais imaginer 7 éléments créant des dizaines de combos choisis chacun par au moins quelques personnes. C'est peut-être trop de catégories pour la taille de votre échantillon. De plus, si un combo était choisi par seulement quelques personnes, votre modèle aurait très peu d'informations avec lesquelles travailler.

Une autre option consiste à utiliser l'analyse en grappes pour arriver à quelques ensembles d'articles qui ont tendance à être achetés ensemble. Avec 7 éléments, vous vous retrouverez probablement avec moins de 4 clusters, ce qui pourrait vous faciliter la tâche. Si vous essayez l'analyse de cluster et trouvez les résultats irréalisables, il n'y a aucune raison pour que vous les utilisiez: revenez simplement à l'approche basée sur la fréquence décrite ci-dessus. Dans ce cas, si je vous ai bien lu, vous recherchez le tableau de catégories le plus descriptif et le plus intéressant, et en établissant cela, vous n'avez pas à vous soucier des degrés de liberté ou des comparaisons multiples ou de telles préoccupations qui pourraient s'appliquer si vous essayiez plusieurs méthodes pour effectuer un test inférentiel.


Merci pour cette suggestion. Il doit cependant y avoir des méthodes d'apprentissage automatique multivariées. Simliar à la façon dont vous pourriez avoir 2 variables dépendantes dans un modèle de régression "plus facile" .. et vous faites juste lm (y + z ~ ...) .. Je pense ..
blast00

0

Je suppose que vous souhaitez analyser une situation similaire à la suivante;

Yi = f (X), où f () est un lien non linéaire et X est un vecteur de covariables et Yi est la i-ème variable dépendante, qui est de nature ordinale (si elle est catégorique, Yi ne peut pas avoir plus de deux catégories) et dites dans votre modèle i = 1, 2, ... 5 et chacun des Yi est corrélé ... Si oui, vous pouvez certainement utiliser Probit Multivarié. R, Mplus et SAS peuvent estimer MVP

En revanche, vous avez Y = f (X), et Y (notez qu'il n'y a qu'un seul Y) est catégorique et par exemple, a N catégories de sorte que les choix effectués sur les N catégories soient exclusifs et exhaustifs; vous devez adapter le modèle Logit multinomial. Il y a aussi quelque chose appelé probit multinomial, similaire à Logit multinomial.

J'espère que cela t'aides. Merci Sanjoy

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.