去掉最高最低分的无聊探究

去掉最高最低分的无聊探究

我们注意到,很多歌唱、舞蹈、才艺类比赛中,评分时,主持人经常都会耳熟能详的说,“去掉一个最高分和最低分,这位选手的最后得分是xxx ”,接着是观众热烈的掌声,然后是选手或激动的热泪盈眶,或忧郁的黯然失色,离开舞台。
问题来了,去掉最高分和最低求得的平均分,公平吗?

通常来说,类似的评委打分,都是带有主观性,即使是专业水平很高的评委,也不可避免的根据自己的角度、看法、鉴赏能力等进行评分,或多或少会带有偏差,取平均分的目的是均值回归的一种方法,相对是较为公平的、也是人们认可的一个评价方法。取平均分前,去掉最高分和最低分,可以减少相对极端的偏差,甚至可以一定程度上避免作弊。例如,给自己的偏爱的选手打相对极端的高分,给不喜欢的选手打相对极端的低分。总体来看,去掉一个最高分和最低分后取平均分,能避免情人眼里出西施的情况,似乎更公平些。

以上是直观、定性的分析,感觉更公平些。然而,我们会问,这个做法阔学吗?
百度了下相关问题,也多是定性解释,或举例说明。定性不定量,是无法满足一个无聊好事分子的好奇心的。所以,我们来探究一下这个问题。

检验标准
上述方法的定性标准是集中趋势,说的是分数向中心的聚拢程度,也就是数据偏离(算术)平均值的情况,越小就越集中。统计学中,方差是反映数据离散程度的度量,方差越小,则数据越集中。那么,我们可以考察下上述做法的方差情况。

标准化
负责任的评委评分,可以认为是平均值附近的正态分布,其实咱不是太关心分数是个啥分布,咱看下方差情况。

如果评分的方差不为0,分数可以标准化为均值为0,方差为1,公式为x’ = (x – μ) / σ。为啥要标准化?当然是为了方便、简单,懒人做事前尽量先简化。这个变换是个线形变换,完全不影响问题的探究。

打个岔,啥时方差是0呢?那就是各位评委出奇的意见一致,分数相同,比如都给了9.8分。那去不去掉最高最低分,结果一样。

探究一下下
假设标准化以后的分数为,a1 <= a2 <= a3 <= … <= a(n-1) <= an,其中n >= 3,少于3个没法去了。那么,
(a1 + a2 + a3 + … + an) / n = 0,可得,a1 + a2 + a3 + … + an = 0
(a1^2 + a2^2 + … + an^2) / n = 1,可得,a1^2 + a2^2 + … + an^2 = n
去掉最小值和最大值后,
μ = (a2 + a3 + … + a(n-1)) / (n - 2)
σ^2 = E(a*a) - E(a)^2
= (a2^2 + a3^2 + … + a(n-1)^2) / (n – 2) – μ^2
= (n - a1^2 - an^2) / (n – 2) - ((0 - a1 - an)/(n-2))^2
= (n - a1^2 - an^2) / (n – 2) - ((a1 + an)/(n-2))^2

木有托塔天王的见证凌乱的时刻来了,
a1^2 + an^2 >= 2,证明比较凌乱,见后。

所以,σ^2 <= 1,就是说,去掉最高最低分后的方差,不大于原来的方差,也就是集中度不差于不去掉最高最低分的时候。

可以看到,当a1 + an = 0,且a1^2 + an^2 = 2时,效果一样,方差均是1,这时可得,a1 = -1,an = 1,此时的情况就是,n是偶数,分数为n/2个-1和n/2个1。
至此可以证明,从统计学上讲,去掉最高最低分是阔学的。

回到舞台
还原下实际情况。
当方差为0时说过了,就是评委们出奇的意见一致。
当-1/+1震荡时,就是分数震荡,比如,9.0,9.0,9.0,9.2,9.2,9.2。
其他情况,标准化后如上。

凌乱证明
a1 <= a2 <= a3 <= … <= a(n-1) <= an,其中n >= 3
a1 + a2 + a3 + … + an = 0
a1^2 + a2^2 + … + an^2 = n
则,a1^2 + an^2 >= 2

命题1,|a1|或|an| >= 1
否则,设|an| >= |a1|,则,a1^2 + a2^2 + … + an^2 <= n * |an| < n,矛盾。
以下假设|an| >= |a1|,则,|an| >= 1(设|a1| >= 0,下列操作一木一样)

命题2,a1 < 0且an > 0,否则,a1 + a2 + a3 + … + an |= 0或者a1^2 + a2^2 + … + an^2 |= n

如果 a1 <= -1,则,a1 ^ 2 >= 1,命题成立。

假设-1 < a1 < 0,
根据大小关系及正负,
a1 <= … <= ak <= 0 <= a(k+1) <= … <= a(n-1) <= an,
即k个<=0(非正数),(n - k)个 > 0(正数)
如果 k >= n - k(负数不少于正数),两两配对,
(a1^2 + an^2) >= (a2^2 + a(n-1)^2) >= … >= (a(n - k)^2 + a(n - (n-k) +1)^2)
如果a1^2 + an^2 < 2
则配对后,a1^2 + a2^2 + … + an^2 <= (n - k) * (a1^2 + an^2) + a(n - k +1)^2 + … + ak^2
< (n-k) * 2 + (k - (n - k)) = n,矛盾。
如果 k < n - k(负数少于正数),
则配对后,a1^2 + a2^2 + … + an^2 <= k * (a1^2 + an^2) + a(k+1)^2 + … + a(n-k)^2
如果a(n - k) < 1,则上式 < k * 2 + ((n - k) - (k + 1) + 1) = n,矛盾
如果 a(n - k) >= 1,则,a(n – k + 1) + … + a(n) >= k,而a1 + … + ak <-k,
则,a1 + a2 + a3 + … + an > 0,矛盾
凌乱证明完毕。

很尴尬,木有找到简便整洁的证明。
两个等式分别是个半径sqrt(n)的球,和法线为(1, 1, …, 1)的平面的交线,应该是个想象不出来的圆。等闲了再看看。

参考
[1] Truncated mean, https://en.wikipedia.org/wiki/Truncated_mean
[2] https://www.wsj.com/articles/SB10000872396390443477104577551253521597214, 给钱才能看,无聊问题我就不花钱了
[3] 集中趋势(central tendency),https://baike.baidu.com/item/%E9%9B%86%E4%B8%AD%E8%B6%8B%E5%8A%BF/7179614

您好!对于您的问题,您可以使用C++编程语言来实现去掉最高最低求平均的功能。下面是一个示例代码: ```cpp #include <iostream> #include <vector> #include <algorithm> double calculateAverage(std::vector<int>& scores) { if (scores.size() <= 2) { return 0; // 如果成绩数量小于等于2个,则无法去掉最高最低计算平均 } // 找到最高最低的索引 auto minmax = std::minmax_element(scores.begin(), scores.end()); int minIndex = minmax.first - scores.begin(); int maxIndex = minmax.second - scores.begin(); // 去掉最高最低 scores.erase(scores.begin() + maxIndex); scores.erase(scores.begin() + minIndex < maxIndex ? minIndex : minIndex - 1); // 计算平均 double sum = 0; for (int score : scores) { sum += score; } return sum / scores.size(); } int main() { std::vector<int> scores = { 90, 85, 92, 88, 95 }; double average = calculateAverage(scores); std::cout << "平均:" << average << std::endl; return 0; } ``` 在上面的示例代码中,我们使用了一个名为`calculateAverage`的函数来实现去掉最高最低求平均的功能。该函数接受一个整型向量(即存储成绩的容器)作为参数,并使用`std::minmax_element`函数找到最高最低的索引。然后,我们调用`erase`函数来移除这两个数。最后,我们遍历剩余的数,计算平均并返回结果。 请注意,此示例代码假设数是存储在一个整型向量中的整数,并且假设至少有3个成绩。您可以根据自己的需求进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值