每个会话的多个值的评估指标

数据挖掘 统计数据 准确性 评估 分配 描述性统计
2022-02-24 23:10:28

我有一个应用程序为每个用户会话多次执行我的 foo() 函数。我可以将 2 种替代算法实现为“foo”函数,我的目标是根据执行延迟来评估它们。

每个用户会话调用 foo() 的次数是可变的,但不会超过 10000。假设延迟值为:

Algo1: [ [12, 30, 20, 40, 24, 280] , [13, 14, 15, 100], [20, 40] ]
Algo2: [ [1, 10, 5, 4, 150, 20] , [14, 10, 20], [21, 33, 41, 79] ]

我的问题是选择获胜者的最佳指标是什么?

可能的选择

  1. 每个会话的平均值,然后评估 cdf
  2. 每个会话的中位数,然后评估 cdf
  3. 还要别的吗 ?
2个回答

这是一个建议:

标准化所有内容(如果您忽略这一点,那么像 9999 这样的大数字会毁掉一切),而不是取每个用户会话的平均值。例如,可选地将这个数字乘以 x/10,其中 x 是使用会话中的样本大小(将其视为更多样本增加更多置信度的证据),最后按算法的会话数平均。

在计算机系统中查看第 90 或第 99 个百分位延迟是很常见的。

用户不会注意到几毫秒的延迟之间的差异,但如果一个函数偶尔需要几秒钟,那是非常明显的。