第一步:成绩表体检
先确认系统读到的是你想算的那批人。分数量纲可以不同,系统稍后会在每次考试内部标准化。
识别学生{{ summary.n }}
班级{{ summary.n_class }}
考试次数{{ summary.exams|length }}
艺体 / 请假类{{ summary.art }} / {{ summary.leave }}
{{ w }}
{% endfor %}
工作表
| 表名 | 类型 | 行数 |
|---|---|---|
| {{ sh.name }} | {{ sh.kind }} | {{ sh.rows }} |
方向 / 学籍
{% for k,v in summary.tracks.items() %}{{ k or "未分方向" }} {{ v }}{% endfor %}
{% for k,v in summary.status.items() %}{{ k }} {{ v }}{% endfor %}
考试识别与分数尺度
| 考试 | 有效人数 | 最低 | 最高 | 平均 |
|---|---|---|---|---|
| {{ e.exam }} | {{ e.n }} | {{ e.min }} | {{ e.max }} | {{ e.mean }} |
平均分从高一到高三明显下降是正常的(试卷结构不同),所以不能直接比原始分,只能比同次考试里的相对位置。
各班人数
{% for k,v in summary.classes.items() %}{{ k }}班 {{ v }}人{% endfor %}
{% endif %}
{% if step == 2 %}
第二步:口径与目标线
下达指标前先把“算谁、瞄哪条线”钉死。默认排除艺体和长期请假,明远生可参与年级排名。
{% endif %} {% if step == 3 %}第三步:滤波在做什么
{% if not result %}还没有测算结果。请回到第二步点击「开始滤波测算」。
去设置口径 {% else %}
原始分同次标准化卡尔曼估计水平模拟下一次排名个人概率班级加总取整
把每次考试看成一次带噪声的定位:发挥好坏是测量噪声 R,真实进步是过程噪声 Q。 R 相对大时,系统不会只信最近一次;Q 相对大时,会更快跟上近期趋势。这就是导航里“既看 GPS,也看车自己开的方向”。
{% for g in result.groups %}{{ g.group }} · 模型参数
过程噪声 Q(真实水平会变){{ g.model.q }}
测量噪声 R(发挥波动){{ g.model.r }}
一步预测 RMSE{{ g.model.rmse }}
测算人数 / 模拟次数{{ g.n }} / {{ g.model.n_sim }}
留出最近一次考试做对照:用更早的成绩预估最近一次,看滤波是否比“只看上一场名次”更准。
| 目标 | K | 滤波命中 | 只看最近一次 |
|---|---|---|---|
| {{ h.target_name }} | {{ h.k }} | {{ h.kf_hit }} / {{ h.k }}({{ '%.0f'|format(h.kf_precision * 100) }}%) | {{ h.last_hit }} / {{ h.k }}({{ '%.0f'|format(h.last_precision * 100) }}%) |
第四步:下达指标
{% if not result %}还没有测算结果。请先完成第二步测算。
{% else %}「下达指标」是滤波期望取整后的人数,含义是:若学生按现有轨迹走,这个班本来应当到线的人数。 班会目标是超越它,而不是刚好打平。保底 / 冲刺是模拟分布的大约 20% / 80% 分位,用来看把握而不是另下两套考核。
{% for g in result.groups %} {% for t in g.targets %}{{ g.group }} · {{ t.name }}(年级 {{ t.k }} 人)
期望合计 {{ t.sum_expected }},临界生(概率 20%–80%){{ t.critical_n }} 人。点击班级看学生概率,点击学生看轨迹。
| 班级 | 测算人数 | 最近在线 | 滤波期望 | 下达指标 | 保底 | 冲刺 | 相对最近 |
|---|---|---|---|---|---|---|---|
| {{ row.class_name }}班 | {{ row.n }} | {{ row.current }} | {{ '%.2f'|format(row.expected) }} | {{ row.assigned }} | {{ row.floor }} | {{ row.stretch }} | {% if row.delta > 0 %}+{{ row.delta }}{% else %}{{ row.delta }}{% endif %} |
| {{ class_comment(row, t.name) }} | |||||||
临界生(优先关注)
| 姓名 | 班 | 最近名次 | 达线概率 |
|---|---|---|---|
| {{ s.name }} | {{ s.class_name }} | {{ s.last_rank or "—" }} | {{ '%.1f'|format(s.p * 100) }}% |