如何进行多元机器学习?(预测多个因变量)


9

我希望预测某人会购买的物品组...即,我有多个共线性因变量。

我不应该建立7个左右的独立模型来预测某人购买这7个项目中的每一个的概率,然后结合结果,而是应该采用什么方法来建立一个模型来说明7个相关的因变量之间的关系(他们可以购买的东西)。

我将R用作编程语言,因此请特别感谢R的任何建议。

Answers:


7

根据您的描述,看来多项式逻辑回归是合适的。假设您的结果是一个具有7个级别的因素(7个购买选项之一),那么您可以使用多项Logistic回归模型快速预测成员资格(请参阅R ?multinom中的nnet软件包)。如果您的结果不能合并为7个级别的因子,则需要进行聚类分析以将各项组合在一起,然后再拟合多项式逻辑回归。


这不是多项式回归。我有7种不同的产品,每种产品都有4个因数。...有草莓,还有草莓的类型,然后是牛奶和不同类型的牛奶,以及苹果和不同类型的苹果,我需要预测正确的购物车...所以青苹果与养殖的草莓,2%的牛奶等,
blast00 2014年

1
我有你的解决方案!我建议进行多潜势类分析,在这种分析中,结果是一组因素,这些因素被认为可以分组为一个或多个潜类。这些类的成员资格是基于多项逻辑回归预测的。有关?poLCA适合此模型的更多信息,请参见R。
statsRus 2014年

我正在阅读此书-谢谢statsRus。但是必须有其他方法。
blast00 2014年

特别是机器学习方法,因为我不需要拟合概率分布/使用黑匣子模型就可以了
blast00'4

请记住,很多统计模型实际上是无监督的机器学习模型-但是您是对的,我们通常关心这些模型的输入。对于具有许多输入和结果(以及黑盒质量)的有监督的机器学习,我建议使用神经网络(?nnetR中)。
statsRus 2014年

5

您可以建立一个随机的森林,其中每个班级都是一组项目(即“青苹果和农场草莓,牛奶含量为2%”)。然后,根据购物者的特征或您的任何预测变量,您可以为每组物料提供预测的购买概率。我将使用R的randomForest包(https://cran.r-project.org/web/packages/randomForest/index.html)来执行此操作。


3

一种选择是获取所有产品购买组合的频率;选择一些最常见的组合;然后建立回归模型以预测每个人的所选组合。例如,通过二元逻辑回归分析,可以想像到以下各项的购买:a)白葡萄酒,法国布里乳酪,草莓和葡萄与b)红葡萄酒,切达干酪和荷兰扁豆。如果有两个以上这样的组合,或者如果要包括“以上都不是”的类别,则可以选择多项式逻辑回归。

请注意,仅包括通用组合,意味着每个组合都有更多可使用的编号,但是至少从此过程中,将排除其他组合。我可以想象有7个项目可以创建数十个连击,每个连击至少由少数人选择。对于您的样本量,这可能是太多类别了。而且,如果仅由少数几个人选择了组合,则您的模型将很少有信息可使用。

另一种选择是使用聚类分析得出倾向于一起购买的几套物品。包含7个项目,您最终可能会拥有少于4个群集,这可能会使您的任务更容易。如果您尝试聚类分析并发现结果不可行,则没有理由必须使用它们:只需回到上述基于频率的方法即可。在这种情况下,如果我没看错,您正在寻找最具描述性和趣味性的类别数组,并且在建立该类别时,无需担心自由度或多重比较或任何可能适用的此类问题如果您在尝试某种推理测试时尝试了多种方法。


感谢您的建议。但是必须有多种机器学习方法。类似于在“更轻松”的回归模型中可能会有2个因变量的方式..而你只是做lm(y +
z〜

0

我假设您要分析类似于以下内容的情况;

Yi = f(X),其中f()是非线性链接,X是协变量的向量,Yi是第i个因变量,其本质上是有序的(如果是分类,则Yi不能具有两个以上的变量)类别),并在模型中说i = 1,2,... 5并且每个Yi都是相关的...如果是这样,则可以肯定地采用多元概率。R,Mplus和SAS可以估算MVP

相反,您有Y = f(X),并且Y(请注意,只有一个Y)是分类的,例如,具有N个类别,因此对N个类别所做的选择是排他的和详尽的;您需要拟合多项式Lo​​git模型。还有一个称为多项式概率的东西,类似于多项式Lo​​git。

希望这可以帮助。感谢Sanjoy

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.