参数评分函数或算法
Parametric Scoring Function or Algorithm
我正在尝试想出一种方法来根据 "points" 的整数来得出 "score",可以使用少量(3-5?)参数进行调整.最好它足够简单,可以合理地在电子表格中输入 function/calculation 以供 "designer"(不是程序员或数学家)调整参数。第一个点具有最大价值,最终其他点具有固定或接近固定的价值。从点值的初始斜率到最终斜率的过渡将是平滑。请参阅下面的示例形状。
- 积分值始终为正整数(0 分 = 0 分)
- 在某一点,曲线是线性的(或接近线性的),所有附加点都有固定值
- 最好是外行可以理解的参数,例如:"smoothness of the curve"、"value of first point"、"place where the additional value of points is fixed"等
对于参数,一个理想的例子是:
- 第一个点的值:
10
- 点 # 的值:
3
是:5
- 附加分的最小值:
0.75
曲线的确切形状不太重要,只要拐角可以更平滑或更尖锐。
这不是一个游戏,而是一个包含多个组件的评级系统(其中几个可能使用这种 scale)将被组合。
这似乎是 SO/SE 的非传统问题。在我的职业生涯中,我主要从事财务软件方面的工作,我希望我能在这类事情上有一些领域的智慧。
Prune 解决方案的实施:
参数:
- 初始值(一)
- 第二个值 (b)
- 最小值 (z)
你的衰减率为b/a。从这里开始很简单:遍历您的值,在每一步应用衰减,直到您达到最小值 "peg":
x[n] = max( z, a * (b/a)^n )
// Take the larger of the computed "decayed" value,
// and the specified minimum.
序列 x 是您的值列表。
如果您想要达到特定点的整数,您也可以截断中间结果。只需将 floor 函数应用于每个计算值,但如果它变得太小,仍然允许 z 覆盖它。
这样够好吗?我知道导数函数中存在不连续性,如果最小值和衰减没有很好地对齐,这会很明显。您可以通过相对衰减来调整它,将指数衰减曲线从 y = 0 转换为 z.
base = z
diff = a-z
ratio = (b-z) / diff
x[n] = z + diff * ratio^n
在这种情况下,您不需要 max 函数,因为衰减的自然渐近线为 0。
我正在尝试想出一种方法来根据 "points" 的整数来得出 "score",可以使用少量(3-5?)参数进行调整.最好它足够简单,可以合理地在电子表格中输入 function/calculation 以供 "designer"(不是程序员或数学家)调整参数。第一个点具有最大价值,最终其他点具有固定或接近固定的价值。从点值的初始斜率到最终斜率的过渡将是平滑。请参阅下面的示例形状。
- 积分值始终为正整数(0 分 = 0 分)
- 在某一点,曲线是线性的(或接近线性的),所有附加点都有固定值
- 最好是外行可以理解的参数,例如:"smoothness of the curve"、"value of first point"、"place where the additional value of points is fixed"等
对于参数,一个理想的例子是:
- 第一个点的值:
10
- 点 # 的值:
3
是:5
- 附加分的最小值:
0.75
曲线的确切形状不太重要,只要拐角可以更平滑或更尖锐。
这不是一个游戏,而是一个包含多个组件的评级系统(其中几个可能使用这种 scale)将被组合。
这似乎是 SO/SE 的非传统问题。在我的职业生涯中,我主要从事财务软件方面的工作,我希望我能在这类事情上有一些领域的智慧。
Prune 解决方案的实施:
参数:
- 初始值(一)
- 第二个值 (b)
- 最小值 (z)
你的衰减率为b/a。从这里开始很简单:遍历您的值,在每一步应用衰减,直到您达到最小值 "peg":
x[n] = max( z, a * (b/a)^n )
// Take the larger of the computed "decayed" value,
// and the specified minimum.
序列 x 是您的值列表。
如果您想要达到特定点的整数,您也可以截断中间结果。只需将 floor 函数应用于每个计算值,但如果它变得太小,仍然允许 z 覆盖它。
这样够好吗?我知道导数函数中存在不连续性,如果最小值和衰减没有很好地对齐,这会很明显。您可以通过相对衰减来调整它,将指数衰减曲线从 y = 0 转换为 z.
base = z
diff = a-z
ratio = (b-z) / diff
x[n] = z + diff * ratio^n
在这种情况下,您不需要 max 函数,因为衰减的自然渐近线为 0。