首页 > 解决方案 > 显示一个值与另一个值的距离的算法

问题描述

免责声明:这是一个关于数学和算法的非常非常困难的问题(在我看来)——所以请尊重任何提出这个问题的人。我很佩服你。

我想评估我的员工的表现。我想通过测量以下参数作为他们工作时间的百分比来做到这一点:

1. % of Time spent working
2. % of Time spent in meetings
3. % of Time spent travelling

我对其中的每一个都有一组“首选”百分比。这代表了我希望我的员工度过他们的时间的理想时间。

% Time spent in Meetings -> 30%
% Time spent Travelling -> 10%
% Time Spent Working -> 60%

total time spent on activities: 100%

因此,换句话说,我希望我的员工将 30% 的时间花在会议上,10% 的时间花在旅行上,60% 的时间花在办公桌上工作。

我还想为这些不同的百分比添加权重。重量将代表我对每个百分比与我想要的不同的“宽容”程度。换句话说,我发现每个变量最接近所需百分比(30、10、60)的重要性。我想在 1 到 10 的范围内应用权重,10 是最重要的,1 是最不重要的。

Meetings -> 3
Travelling -> 9
Working -> 5

因此,考虑到员工花费的时间百分比,以及花费时间的重要性接近于期望花费的时间,我想生成一个介于 0 和 100 之间的索引,其中 100 是完美的时间百分比,0 是最差的。因此,100 分将给出“首选”百分比:

% Time spent in Meetings -> 30%
% Time spent Travelling -> 10%
% Time Spent Working -> 60%

我将如何尝试解决这个问题:

  1. 找出最小和最大比率是多少
  2. 使用最小和最大比率计算一个值,以说明每个值与所需值的距离。确保此值在比率 0-1 中(对应于 0-100)
  3. 计算加权平均值。

标签: javapythonexcelalgorithmstatistics

解决方案


我认为你正在尝试一些有点像 H 分数的东西。H 分数是我们在数字病理学中用于衡量制造商肿瘤阳性率的分数,它旨在通过强度来衡量阳性细胞的数量。它的:

1* (% of positive cells with score 1) + 2*(% of positive cells with score 2) + 3*(% of positive cells with score 3)

您可以计算如下:

3*(1-% of difference between actual worked hourse and planned ones)
9*(1-% of difference between actual worked hourse and planned ones)
5*(1-% of difference between actual worked hourse and planned ones)

计算差异时不要忘记使用绝对值。我使用了 1-%,因此 0.8 的差异(按计划 0.ì 和工作 0.9)将导致得分为 0.2。这也适用于相反的情况(计划 0.9 和工作 0.1)。这样,完美匹配计划时间的人将获得1700%的分数。然后只是:

Score/Total weights = score between 0-100%.

推荐阅读