寻找好的,可靠的玩家的算法

时间:2009-10-20 21:46:32

标签: php algorithm math statistics

我有以下玩家,每个值对应于给定游戏中正确答案百分比的结果。

$players = array
(
    'A' => array(0, 0, 0, 0),
    'B' => array(50, 50, 0, 0),
    'C' => array(50, 50, 50, 50),
    'D' => array(75, 90, 100, 25),
    'E' => array(50, 50, 50, 50),
    'F' => array(100, 100, 0, 0),
    'G' => array(100, 100, 100, 100),
);

我希望能够找到最好的球员,但我也想考虑到球员的可靠性(更少熵=更可靠),到目前为止我已经提出了以下公式:

average - standard_deviation / 2

但是我不确定这是否是最佳公式,我想听听你对此的看法。 我一直在考虑更多关于这个问题的问题,我提出了一个略有不同的公式,这里是修改后的版本:

average - standard_deviation / # of bets

此结果将对下一次即将投票进行加权,因此例如来自玩家C的新投注仅计为半数投注。

我不能在这里详细说明,但这是一个与Wisdom of Crowds theoryDelphi method 相关的项目,我的目标是尽可能地预测下一个结果加权了几位球员过去的赌注。

感谢所有投入,谢谢。

8 个答案:

答案 0 :(得分:7)

如果你没有量化什么是更好的,你就无法得到最佳公式。您需要弄清楚如何权衡一致性与平均值的关系。例如,一种选择是估计玩家将达到给定百分比游戏的分数。这需要某种模型的球员得分的概率分布。例如,如果我们假设球员得分遵循正态分布,则您的给定公式计算球员将在70%的时间内超过的得分。

答案 1 :(得分:4)

Bayesian Probablity Formula符合条款吗?

我认为会的。这是一个指向另一个网站的链接,该网站的数学知识较少:http://www.experiment-resources.com/bayesian-probability.html

基本上你预测每个球员在下一轮中得分最高的概率。这就是贝叶斯早餐吃的可能性。

贝叶斯概率已经在video games(警告:.doc文件)中使用,以确定这样的东西。

答案 2 :(得分:3)

嗯。这将使(100,100,100,60)球员的评分低于(85,85,85,85)球员。为什么不考虑总积分的百分比?

赞:百分比总分(例如0..1)乘以您当前的计算。

答案 3 :(得分:3)

首先,如果您的数据阵列只有几个条目,我就不会使用标准偏差。使用更强大的统计度量,如中位数绝对偏差(MAD),同样您可能希望使用中位数而不是平均值进行测试。

这是因为,如果您对玩家投注的“知识”仅限于少数样本,那么您的数据将由异常值主导,即玩家幸运/不幸。在这些情况下,统计方法可能完全不合适,您可能希望使用某种形式的启发式方法。

我也从你的链接中假设,你实际上并不打算选择最好的玩家,而是基于玩家的下一组答案“A”想通过称重“A”来预测正确的答案集“C” “基于球员以前的记录。

当然,如果有一个很好的解决方案可以解决这个问题,你可以在股票市场上杀人;-)(没有人这样做的事实应该表明这种解决方案的存在)。

但回到排名球员。你的主要问题是你(必须?)将正确答案的百分比从0--100%均匀分布。如果测试包含多个问题,那肯定不是这样的。我会看看测试中一个完全随机的玩家“R”得分是什么,并建立一个相对置信度数字,基于比给定真实玩家的“R”更好/更差。

说,对于每轮游戏产生一百万随机玩家并查看分数的分布。使用分布作为球员真实分数的权重。然后使用MAD组合加权分数并计算中位数 - MAD /某个数字,就像您已经建议的那样。

答案 4 :(得分:2)

您是否考虑过使用中位数?它被认为比平均值更robust statistic(受异常值影响更小)。在您的数据中,您得到的中位数为:0,25,50,82.5,50,50,100。

这似乎是你想要的直觉吗?我同意其他人的看法,这里没有“正确答案”。

答案 5 :(得分:1)

我认为你可能是正确的,你想要两种因素的某种线性组合,但我认为我们需要更多地了解你在做什么来了解实际的常数...

答案 6 :(得分:1)

嗯,“简单扩展”只是添加了权重和界限:

平均值(玩家) - 分钟(上限,重量*熵(玩家))

然而,鉴于目前的数据集,我可能不会关注“正确答案百分比”,只要看看每场比赛的得分差异,如果这是一个选项。

答案 7 :(得分:1)

查看http://blog.stackoverflow.com/2009/10/alternate-sorting-orders/

其中的公式是对投票进行排序,但如果你认为得分与投票相似(0-无论如何)你应该能够用它来计算哪些球员的得分更高。