厦门市初三质检考试排名算法分析

360影视 2025-01-23 23:30 2

摘要:10分一段的人数分布曲线是一条连续的曲线,如果10分一段的区间和人数的关系用插值拟合,再用拟合得到的曲线用于分数区间内的分布估算,与使用均匀分布相比,更加符合实际情况,得到的排名更准确;B样条插值是一种在数值分析中用于曲线和曲面的插值和逼近的方法。它使用B样条

不久前,厦门市举办了全市统一的初三质检考试,并公布了10分一段的全市考生成绩的人数分布统计表。

但是没有公布考生分数的具体排名,大多数考生只能根据成绩所在区间,区间内的人数按照均匀分布估算得到市排名;

官方公布的10分一段人数区间分布统计表

考生成绩的分布通常被认为接近正态分布,其特点是“中间多、两头少、左右对称”,即大部分学生成绩集中在平均分附近,高分和低分的学生较少。

把官方公布的10分一段的表格输入到octave,绘制人数分布曲线,可以发现,此次考试的成绩分布符合右偏的正态分布,峰值成绩为559,如下图:

10分一段人数区间分布曲线

在分数区间内,如果使用均匀分布估计成绩,与实际的分数分布产生偏差,导致估算得到的排名不准,在高分段,偏差更大;

以折算分618.4为例,该成绩位于610-620的区间,成绩位于该区间的考生共有671名;

均匀分布和非均匀分布的排名估算的差异

四边形ABCD的面积对应该区间的总考生数671, 按照均匀分布估算,成绩超过618.4分的考生数对应四边形FDEB的面积,人数为:

所以618.4分的考生在区间内的排名为107名,而成绩超过620的考生共有496名,所以根据均匀分布估算,该考生的全市排名为603名;

实际上,618.4分位于偏态分布的峰值右侧,实际人数分布类似于四边形IABH,

成绩超过618.4分的考生数对应四边形GHEB的面积,与使用均匀分布估算的考生数减少了四边形FDGH的面积所对应的考生数,即:

10分一段的人数分布曲线是一条连续的曲线,如果10分一段的区间和人数的关系用插值拟合,再用拟合得到的曲线用于分数区间内的分布估算,与使用均匀分布相比,更加符合实际情况,得到的排名更准确;
B样条插值是一种在数值分析中用于曲线和曲面的插值和逼近的方法。它使用B样条函数,即基样条函数,来构造插值曲线或曲面。B样条函数是分段多项式函数,具有局部支撑和良好的逼近性质。

使用 `spline` 函数来进行 B 样条插值。

代码如下:

format long;clear;r = load("data.txt");plot(r(:,1), r(:,2), "r");xlabel("成绩",'FontSize',14,'FontWeight','bold','FontName','Times New Roman','Color','black');ylabel("人数",'FontSize',14,'FontWeight','bold','FontName','Times New Roman','Color','black');dv = 0.1;maxv = max(r(:,1));tl = round(maxv / dv);xx=linspace(0, maxv, tl);yy = spline(r(:,1), r(:,2), xx);hold on;plot(xx, yy, "g");

其中,data.txt存储了官方公布的10分一段的人数统计数据,

而xx为0.1分一段的成绩数据,经过spline插值得到的yy为根据10分一段的分数经过B样条插值得到的0.1分一段的人数统计数据,如下图,绿色为拟合的人数分布曲线,红色为官方公布的10分一段的人数分布曲线,

区间分布人数拟合曲线与官方公布的分布曲线对比

区间分布累计人数(从低分到高分累计)拟合曲线与官方公布的累计曲线对比

从区间分布累计人数的拟合曲线经过差分运算得到以0.1分为间隔的人数密度曲线,

区间分布累计人数拟合曲线经过差分得到0.1分一段的人数密度曲线与官方公布的10分一段的分布曲线对比

进一步在区间内通过归一化处理得到区间内的人数概率密度数据;
代码如下:

format long;clear;r = load("data.txt");sumr = 0;[h,v] = size(r);x1=r(:,1);y1=zeros(h,1);for i = 1:hsumr = sumr + r(i,2);y1(i)=sumr;endforplot(r(:,1)-5,r(:,2), "r");xlabel("成绩",'FontSize',14,'FontWeight','bold','FontName','Times New Roman','Color','black');ylabel("人数",'FontSize',14,'FontWeight','bold','FontName','Times New Roman','Color','black');dv = 0.1;maxv = max(r(:,1));tl = round(maxv / dv);xx=linspace(0, maxv, tl);yy = spline(x1, y1, xx);hold on;%plot(xx, yy, "g");sumr = 0;[h,v] = size(r);sr = zeros(h,4);sumr = 0;sv = sum(r(:,2));for i = 1:hsumr = sumr + r(i,2);sr(i,1) = r(i,1) - 10;sr(i,2) = r(i,1);sr(i,3) = sv - sumr;sr(i,4) = r(i, 2);endforrv = 618.4;bi = 0;upr = 0;for i=1:hif((rv>=sr(i, 1)) && (rv =sr(bi,1))&&(xx(i)rv)&&(xx(i)

用html设计网页,并将octave的脚本语言改成javascript脚本语言,如下:

var bi = 0; var bn = 0; var en = 0; var upr = 0; for(var i = 0; i = cjranks_o[i][0]) && (zf 0){ en = cjranks_o[bi - 1][2]; } upr = bn; var tbin = 0; var hbin = 0; for(var i = 0; i = cjranks_o[bi][0]) &&(cjranks[i][0] zf) &&(cjranks[i][0]

[610, 620)区间分数的两种不同算法排名对比

[600, 610)区间分数的两种不同算法排名对比

拟合曲线与均匀分布排名的差值

根据拟合曲线与均匀分布估算得到的排名差值,当分数高于550分时,实际排名应该高于经过均匀分布估算得到的排名;

来源:物联网全栈开发

相关推荐