【发布时间】:2010-12-30 06:36:50
【问题描述】:
这是我正在尝试做的一个稍微简化的示例。 假设我有一个计算学分的公式,但该公式没有约束(例如,分数可能是 1 到 5000)。并为 100 人分配一个分数。
现在,我想根据钟形曲线为每个人分配 200 到 800 之间的“标准化”分数。例如,如果一个人有 5000 分,他可能会在新的量表上得到 800 分。我的分数范围中间的人会得到接近500的分数。换句话说,500是中位数?
类似的例子可能是“曲线评分”的旧场景,其中大部分学生可能获得 C 或 C+。
我不是要代码,无论是库、算法书还是要参考的网站……我可能会用 Python 编写这个(但 C# 也很有趣)。无需绘制钟形曲线。我的数据可能会在数据库中,甚至可能有一百万人要分配这个分数,所以可扩展性是一个问题。
谢谢。
【问题讨论】:
-
"基于钟形曲线" - 如果您的输入数据是 { 50 people with 2000 points, 50 people with 4000 points } 怎么办?那么你的标准化分数应该是什么样的?当然,“它可能不会那样”,但您需要先确定所有种输入数据会发生什么,然后才能找到执行转换的算法。如果您想假设输入数据的正态性,只需找到它的均值和方差,然后对其进行缩放 - 但您可能无法得到想要的结果...
-
积分会随着时间的推移不断积累,甚至是几年。但我希望报告的分数像信用分数一样,始终在 200 到 800 之间。所以基本上,当一个人的分数上升时,他可以导致其他人下降。