yunlongwang的个人博客分享 http://blog.sciencenet.cn/u/yunlongwang

博文

高考成绩不一定是正态分布 精选

已有 18256 次阅读 2014-6-10 05:32 |系统分类:观点评述| 高考成绩, 高斯混合模型

两个月前,在科学网看到张学文老师的博文,《猜想:高考分数为不同值的学生数量符合gamma分布?文中张老师讨论了一个很有意思的问题:获得某分数的人数满足的分布?


我今天想讨论的是另一个相关的问题:  如果认为高考成绩是一个随机变量 $X\in[0,750]" style="font-size:20px;$ ,那么X服从什么分布?


我很早就想写篇博文跟大家讨论高考成绩的分布问题,无奈前段时间博导给的事情有点多,就把这个问题放在一边了。最近这不又到高考的时候了,我想如果能对高考成绩的分布多一些了解,说不定对报志愿能有一些帮助。


先给出结果吧,我在网上搜了一下,因为北京的高考成绩最容易找到,而其中关于2012年的高考成绩分布【1】记录的又最为详细,于是楼主就拿2012年北京理工科高考成绩画了下面这张分布图。





图1.蓝色的直方图是样本的分布,红线是正态分布,绿线是我认为的分布。横轴是考试成绩,纵轴是靠这个成绩的学生占总人数的比例。


为了方便阅读,我先只说我是怎么做的,至于为什么这么做,我会在后面的分析中解释。


首先,从网上拿到的数据也不是特别细,比如【1】只会告诉我600到610这个区间有779个人,但是不会告诉我这些人具体考多少分。所以,我首先要做一点点数据的恢复(重采样)。怎么办呢?我用计算机生成779个均匀分布在600到610这个区间的离散随机数。比如600,600.5,601,。。。609.5。


其次,根据第一步的办法,我得到了43496个样本,于是我画出了这些样本的分布直方图,就是上图中那个蓝蓝的柱状图。因为我做了第一步,所以手里的样本多了很多。反之,如果我不做第一步,直方图就会是一些大块,不容易反映出数据的分布。


第三步,我计算了样本的方差和平均值,用红线画出了如果假设样本服从正态分布,那么理论上样本分布应该满足的形状。它是一个均值为450,标准差为109.5的正态分布。


第四步,其实我内心里不认为样本服从高斯分布,我认为样本应该是服从高斯混合分布。话句话说,我认为考生有不止一类人,有教育条件非常好的重点中学学生,也有条件非常差的农民工学校子弟,还有一部分在中间的普通人。总之,不管怎么分类,学生都不止一类。对于每一类人,他们的考试成绩都是服从相同的正态分布,但是对于不同类的学生,他们的考试成绩服从不同的正态分布。于是,总体的分布是这些正态分布的混合。


做个类比,要统计西安市民的收入分布,可能就不是一个正态分布,而是几个正态分布混在一起。因为有些职业收入高,有些职业收入低,有些职业收入在中间。如果职业差异大,那这个几个分布就更不能用一个正态分布来替代了。


有些读者可能会奇怪,为什么全国人民的身高服从正态分布呢?楼主认为这是因为东北人没有比四川人高得太多【2】。(见谅见谅,我不是区分地域,我就是看了一下统计数据。)因为不同省份的分布也比较接近,所以混在一起看起来说是一个正态分布也无妨。


言归正传。我根据样本经验性的将学生分三类(其实我就是用不同的参数试了好几次,找了一组比较靠谱的结果,说得好听点,呵呵。),比例分别是:

[0.05    0.88    0.07]

期望是:

[195    450    600]

标准差是:

[40    92    33]


可以从上图中明显的看到,绿线和样本的分布更加接近,尤其是两百分左右那个“小山包”,实在是无法用单独的正态分布解释。还有,大家都知道高考分数分布是非对称的,高分段学生会密一些,差一分就差N多人,这是因为有一类学霸考试成绩就不会低于500(第三个高斯分布)。


按我的理解,有时候假设数据服从正态分布并不是很合理。这样做会使问题过于简化,也许会导致后续的分析有失偏颇。比如我很不喜欢有些大学要把学生的成绩“正态化”,甚至用一些奇奇怪怪的公式(一般是一一映射)把本来的分布生生扭曲成“正态分布”,还仅仅是长得像正态分布的分布。


枉我当年还觉得这些公式好厉害,现在看这不就是凑数字,蒙小孩么?是为了好管理么?晕,反正我想不出来这么做的道理在哪里。人家明明就不是正态分布么,强扭的瓜不甜好不好。不过还好貌似现在越来越少的学校做这种事情了。


楼主认为评价学生应该用聚类分析,就是ABCD那种,95和96没有本质区别。如果成绩是分得比较开的高斯多模分布,那我还更容易给学生分类了。


再评论一下高斯混合模型。这个东西用处很广泛,就拿我们实验室的东西来说吧,接收机得到的信号有可能有“多径效应”,就会产生不止一个“钟形曲线”。再比如,有个同学做心电图的信号处理,病人至少可以分成两类,有病的没病的,所以他拿到的心电图,就服从一个混合分布。


我用这个高斯混合模型来描述样本的分布,不是因为我看见了数据,才这么拟合它。在我看到数据以前,我就有理由把成绩分布建模成GMM模型。第一,成绩750分是所有题目得分的和,750很大,根据大数定律,每个学生的成绩都近似是正态分布。第二,学生可以明显的分成若干类,每一类的参数不同。其实这个GMM的背后,是一个贝叶斯分层模型。


最后呢,说实话,这些参数都是我试了几次试出来的,见笑见笑。我这样分类和估计,肯定不是最优了,我只是懒得编优化程序了,就胡乱猜了三类。但是,可以很明显的从图中看出,即使是我瞎猜,用高斯混合模型也比简单的假设成绩服从正态分布要合理得多。打个比方,就算我胡乱找几个数字拿一次函数,二次函数,三次函数拟合数据,可能也比仅仅用直线拟合产生的误差要小。


顺便说一下,我算了K-S检验的P值,用GMM可以把这个值从 $10^{-18}$ 提升到 $10^{-4}$ 。由于时间的关系,样本的似然函数我没算p值也能反映出得到这组数据的可能性,越大越好。


那么这三类学生占得比例和每类学生分布的参数怎么估计呢?还有,把学生分为几类更加合适呢?这两个问题似乎都没有简单的答案。我知道的有用EM算法做最大似然估计的,也有用蒙特卡洛方法做贝叶斯估计的,都是机器学习的内容。


因为毕竟是博文嘛,我没有解释太多的数学。我本周内会再写一篇博文把这个模型背后的数学尽量解释清楚,包括resampling,分类,优化,估计,KS检验。我厚颜无耻的推荐本科生朋友看我的下一篇博文,因为我刚才说的那些名词似乎都挺有用。


我找数据,编程序,写博文,折腾了一个晚上,如果您觉得我说的有道理,点个赞吧。谢谢啦。


[1]  2012年北京市统考考生分数分布表

[2]  中国各省男女平均身高表




http://blog.sciencenet.cn/blog-624263-802017.html

上一篇:关于数学建模比赛,我也有话说
下一篇:美国孩子的课外兴趣班----培养动手能力

26 高建国 夏树宁 屈林 黄荣彬 张学文 蒋永华 李天成 刘玉胜 温晋 陆泽橼 吕锡亮 肖俊松 余皓 杨正瓴 张云 王春艳 王国强 霍艾伦 葛维亚 guoyanghuawu vicizizi shenlu JINGNING biofans s11s changtg

该博文允许注册用户评论 请点击登录 评论 (48 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2021-3-3 13:29

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部