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

Ali*_*xel 5 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),
);
Run Code Online (Sandbox Code Playgroud)

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

average - standard_deviation / 2
Run Code Online (Sandbox Code Playgroud)

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

average - standard_deviation / # of bets
Run Code Online (Sandbox Code Playgroud)

然后,该结果将被加权用于下一次即将进行的投票,因此例如来自玩家C的新投注将仅计为半数投注.

我不能在这里详细说明,但这是一个人群智慧理论德尔菲方法相关项目,我的目标是尽可能地预测下一个结果,加权来自几个参与者的过去赌注.

我感谢所有的投入,谢谢.

Ant*_*sma 7

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


Tim*_*imo 3

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

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

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

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

但回到球员排名。你的主要问题是你(必须?)将正确答案的百分比均匀分布在 0--100% 之间。如果测试包含多个问题,情况肯定不是这样。我会查看完全随机的玩家“R”在测试中的得分,并根据给定的真实玩家比“R”好/差多少来建立相对置信度。

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