对不易比较的项目进行评分

机器算法验证 排行
2022-03-12 10:50:37

首先,我很抱歉,因为这个问题可能已经被问过很多次并且很容易回答。然而,作为一名统计爱好者,我根本无法弄清楚哪些关键字与我的问题相关。

假设您有 100 个商家和 100 种产品。每个商家销售一定范围的产品,从只有一种产品到全部 100 种产品。此外,产品的销售比例也大相径庭,这在商家之间有所不同,并受制于商家的个人(非理性)偏好。

每当商家在市场上“推销”时,我们都会观察他是否设法销售他所推销的产品。我们假设成功的概率取决于 (a) 商家的技能和 (b) 产品的吸引力。产品的价格是固定的,所以这不是一个因素。

我们拥有的数据包含数百万个音高。对于每个推介,我们都知道它是否成功、商家和产品。

显然,如果我们通过商家的平均成功率来比较商家,这些信息是没有用的,因为每个商家销售的产品都不同。同样,如果我们比较产品,我们不会获得任何信息,因为每种产品都是由不同的商家销售的。

我们想要的是每个商家的技能分数,它独立于商家销售的产品,以及每个产品的吸引力分数,它独立于销售它的商家。

我不需要全面的解释,只需要一些关键字来为我指明正确的方向。我真的不知道从哪里开始。

编辑:请注意,我们的假设是产品吸引力与商家无关,商家技能与产品无关,即没有商家在销售某些产品方面做得更好,但在销售其他产品方面做得更差。

4个回答

这种类型的问题在计量经济学和营销研究中通常被称为“选择建模”问题。处理此类问题的文本包括:Louviere, J., DA Hensher, et al。(2000 年)。陈述的选择方法:分析和应用。剑桥,剑桥大学出版社。火车,KE(2009 年)。带有模拟的离散选择方法。剑桥,剑桥大学出版社。罗西、体育、通用汽车艾伦比等人。(2005 年)。贝叶斯统计和营销,威利。

您可以估计的最简单的实用模型将是二元 logit 模型,其因变量指示购买对象与未购买对象的时间,具有两个自变量:商家的分类变量和产品的分类变量。(或者,如果您不知道什么时候没有购买产品,您可以使用泊松回归或其他一些计数模型。)

每个商家的参数估计将是他们的技能分数,每个产品的参数将是“吸引力分数”。“吸引力”分数在选择建模中更常被称为“效用”。

您将遇到的一个实际计算问题是,除非您只有几百个商家和几百个分类变量,否则您将难以估计模型并且可能需要一个“随机效应”模型(有时在本文中称为“分层模型”语境)。

除了您提到的假设之外,将确定您的分析有效性的一组关键假设将与在给定时间可用的替代方案有关。例如,可能会定期购买本质上没有吸引力的产品,因为在购买时无法获得更具吸引力的产品。这种影响会对您的估算结果产生非常大的影响,因为当它被忽略时,您会无意中将产品的吸引力与其可用性混为一谈。前面引用的文本讨论了选择模型的各种修改,以处理可能与您的问题相关的许多假设类型。

让我扩展@curious_cat 提出的替代解决方案。

Pij是音高矩阵

Lij是销售矩阵

Sij=Lij/Pij是成功率矩阵(存在的元素除法,其他地方为 0)

正如@curious_cat 建议的那样,您希望通过两个向量的外积Sij

SijMi×AjT

最小二乘最小化将导致

min|SijMj×AiT|2
其中是 Frobenius 范数。||2

但是您不想最小化未定义所以你真正想要的是:Sij

min|Wij(SijMj×AiT)|2
其中是元素乘法。

1) 在第一个近似值上,为 0,其中为 0,其他地方为 1。wijpij

这是一个加权非负矩阵分解(或近似)问题。谷歌应该给它一些参考。

2)现在,从臀部射击,让我们尝试回答@curious_cat 也提出的观点,即您应该更相信 1000 次销售超过 2000 次球场的成功率,而不是 2 次销售超过 4 次球场的成功率。

中定义的条目,权重不需要统一为 1 人们可以更重视更高音高的成功率。wijSij

我的猜测是使用作为权重。成反比pijpij

您的问题可以通过Rasch Model 建模这是一个用以下示例解释模型的文档

Rasch 模型是一个测试的统计模型,它试图描述学生正确回答问题的概率。它为每个学生分配一个实数a,称为“能力”,并为每个问题分配一个实数d,称为“难度”。

这类似于您的情况,每个商家都有一些固有的“技能”,每个产品都有固有的“吸引力”。

为什么不为每个商家计算他销售的每种产品的成功率索引产品和索引商家)对此进行平均并计算商家平均基线成功率()。现在计算差异()。这个中的每一个都表示每个产品相对于商家基线成功率的好坏程度。SijijSjδSij=SijSjδSij

如果你对所有商家 j 总结这个吸引力的某种分数吗?δSijSi

商人技能指标将是双重的。一个问题是,这并不影响由大数据激发的置信水平。即 4 次投球中的 2 次成功应该(也许)在 2000 次投球中少于 1000 次成功?你必须找到一些方法来调整它以防万一。

或者: 假设每个商家都有一个技能值,每个产品都有一个产品吸引力您可以将商家 (的成功率建模为具有可能交叉项的某个函数。如果您符合此条件,则可以使用系数进行评分。MjAiijSijMjAi

如果你考虑你会得到一个简单的模型。成功元素的矩阵可能是稀疏的(因为并非所有商家都销售所有产品)。如果它确实是完全填充的,您必须从 100x100 成功率数字估计 200 个系数,以便在某种最小二乘意义上Sij=Mj×Ai+ϵijϵij

可能的缺陷:

我看不到解释相对分数的简单方法。例如,如果两个产品具有的吸引力,其中一个比另一个好多少?一个简单的比例?对数可能性?等等。也许有一些解释,但我还看不到。从严格排序的角度来看,这无关紧要。Ai1Ai2

PS 你的矩阵有多稀疏?知道您有数百万个音高可能不会太稀疏吗?或者是吗?即在最多可能的 10,000 个商家-产品组合中,有多少被填充(即至少有一个间距)?

PS1 唯一性。 我无法证明您的值是否是唯一的甚至接近。如果有多种解决方案,那将是一个有趣的情况。也许对此有更强的数学结果?MjAi