排名列表比较


15

假设由和组成的两组分别对从最重要到最不重要的25个项目进行排名。比较这些排名的最佳方法是什么?n 2n1n2

显然,可以进行25个Mann-Whitney U测试,但这将导致需要解释的25个测试结果太多(并且在严格使用中会带来多重比较的问题)。对我来说,还不是很清楚,排名是否满足该测试的所有假设。

我也会对有关评级与排名的文献的指针感兴趣。

背景:这25个项目都与教育有关,并且这两组是不同类型的教育者。两组都很小。

编辑以响应@ttnphns:

我并不是要比较第1组和第2组中项目的总排名-就像@ttnphns指出的那样,这是一个常数。但是第1组和第2组的排名会有所不同;也就是说,第1组的项目1排名可能高于第2组。

我可以逐项比较它们,获取每个项目的均值或中位数排名,并进行25次测试,但是我想知道是否有更好的方法可以做到这一点。


1
如果每个人对25个项目进行排名,则25个变量的总和就是一个常数(325)。鉴于这种情况,你是什么意思说the best ways to compare these rankings- 什么,你想类型差异体重的2组的知道吗?
ttnphns

2
也许要为每个组计算Kemeny的中位数?我自己还没有做过,也不知道这两个结果是否可以进行统计学比较(即推断人口)。
ttnphns

1
另一个选择可能是重复测量序数回归(其中组因子和rm因子之间的交互将是您的兴趣);这可以通过具有多项分布和logit链接的GEE模型来完成。但是,由于25个项目的总和是一个常数,因此我现在不能说它在数学上是否有效。
ttnphns

2
我没有这本书,但是D Hand的“测量理论与实践”讨论了一些听起来与此类似的问题。您想特别了解排名中的“差异”。例如,您是否可以不首先为每个组创建汇总排名,然后进行排名相关?
Corone 2013年

2
@PeterFlom您终于找到了排名比较的解决方案吗?如果是,您介意发布吗?:)
马克·赫克曼

Answers:


6

摘要

我在详细信息部分分享我的想法。我认为它们对于确定我们真正想要实现的目标很有用。

我认为这里的主要问题是您尚未定义等级相似性的含义。因此,没有人知道哪种度量等级之间的差异的方法更好。

有效地,这使我们可以基于猜测来模棱两可地选择一种方法。

我真正建议的是首先定义数学优化目标。只有这样,我们才能确定我们是否真的知道自己想要什么。

除非我们这样做,否则真的不知道我们想要什么。我们可能几乎知道我们想要什么,但几乎知道 知道

我在“ 详细信息 ”中的文字本质上是朝着达到等级相似性的数学定义迈出的一步。一旦确定了这一点,我们就可以自信地前进,选择衡量这种相似性的最佳方法。

细节

根据您的评论之一:

  • 目的是看两组的排名是否不同 ”,彼得·弗洛姆(Peter Flom)。

严格解释目标的同时要回答此问题:

  • 行列是如果不同,任何项目,存在使得,其中是项目的秩通过组和是同一项目的等级,但是按组。一个b 一个一个b bi{1,2,,25}iaibiaiiabib
  • 否则,队伍没有不同。

但是我不认为您真的想要这种严格的解释。因此,我认为您真正要说的是:

  • 和组的等级有何不同?bab

这里的一种解决方案是简单地测量最小编辑距离。即,在组的已排序列表上需要进行的最小编辑数量是多少,以使其与组相同。bab

编辑可以定义为交换两个项目,成本为分,这取决于需要多少跳。因此,如果需要将项目与项目交换(为了在组和之间获得相同的排名),那么此编辑的成本为。1 3 a b 3n13ab3

但是这种方法合适吗?为了回答这个问题,让我们更深入地看一下:

  • 它没有规范化。如果说,基团的行列之间的距离是,而基团的行列之间的距离为,这并不一定意味着比更相似彼此是彼此之间(这也可能意味着排名的项目要大得多)。3 Ç d 123 一个b Ç d Ç da,b3c,d123a,bc,dc,d

  • 假定每次编辑的成本相对于跳数是线性的。这对于我们的应用程序域是正确的吗?难道是一个逻辑关系更适合?还是指数的

  • 它假定所有项目都同等重要。例如,对排名项目(说)的分歧与对排名项目(说)的分歧相同。在您的域中这是真的吗?例如,如果我们要对书籍进行排名,那么对TAOCP之类的著名书籍的排名是否持不同意见,而对诸如TAOUP之类的可怕书籍的排名则持不同意见是否同样重要?515

一旦解决了以上问题,并达到了两个等级之间相似度的合适衡量标准,我们将需要提出更有趣的问题,例如:

  • 什么是观察这种差异,或者更极端差异的可能性,如果两组之间的差异和只是由于随机的机会?bab

5

这听起来像是“ Willcoxon签名秩检验”(Wikipedia链接)。假设您的等级值来自同一组(即[1, 25]),则这是配对差异检验(零假设是随机选择这些配对)。注意,这是一个非相似分数!

该Wiki页面中有RPython链接的实现。


有趣。我没听说过威尔科克森的成对差异。
彼得·弗洛姆

3

警告:这是一个很好的问题,我不知道答案,所以这实际上更多是“如果必须的话我会做的事情”:

在这个问题中,人们可以做很多自由度和比较工作,但是由于数据有限,实际上是有效地汇总数据的问题。如果您不知道要运行什么测试,则可以始终使用排列“发明”一个:

首先,我们定义两个函数:

  • 投票功能:如何对排名进行评分,以便我们可以合并单个组的所有排名。例如,您可以为排名最高的项目分配1分,为所有其他项目分配0分。不过,您可能会丢失很多信息,所以最好使用类似的方法:排名最高的项目获得1分,排名第二的项目获得2分,依此类推。

  • 比较功能:如何比较两组之间的两个总得分。由于两者都是向量,因此采用适当的差异范数是可行的。

现在执行以下操作:

  1. 首先,使用投票函数为两组中的每个项目计算平均得分,从而计算出测试统计量,这应得出两个大小为25的向量。
  2. 然后使用比较功能比较两个结果,这将是您的测试统计量。

问题在于我们不知道两个组相同的零下的测试统计量的分布。但是,如果它们相同,我们可以在组之间随机地拖延观察。

因此,我们可以合并两组数据,对它们进行混洗/置换,选择A组的前(原始A组中的观察数)观察值,其余选择B组中的观察值。现在,使用前两个步骤。n1

重复此过程约1000次,然后将置换检验统计信息用作经验空值分布。这将允许您计算p值,并且不要忘记制作一个很好的直方图并为测试统计量画一条线,如下所示:

直方图置换检验

现在当然是选择正确的投票和比较功能以获得强大的功能。这确实取决于您的目标和直觉,但我认为我对表决功能的第二建议和规范是一个很好的起点。请注意,这些选择可以而且确实有很大的不同。上面的图使用的是范数,这与使用范数的数据相同:1 2l1l1l2

直方图置换检验l2

但是,根据设置,我希望可能会有很多固有的随机性,并且您需要相当大的样本量才能使全部方法起作用。如果您对特定事物有先验知识,那么您认为两组之间可能有所不同(例如特定项目),则可以使用它来定制两个功能。(当然,通常在运行测试之前执行此操作,并且在获得重要应用之前不要挑剔设计

如果您对我的(混乱)代码感兴趣,请PS向我发送一条消息。在此处添加太长了,但我很乐意上传。


我真的喜欢这个主意。
彼得·弗洛姆
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.