使用梅校的算法

This commit is contained in:
2026-09-26 19:21:16 +08:00
parent d9ff32d2bb
commit eeae5f9d68
12 changed files with 846 additions and 351 deletions

View File

@@ -1,6 +1,6 @@
# 航标 · 班级达线指标预估
# 指标测算 · 相邻层次法
B/S 系统:管理员上传历次大考总分,系统用卡尔曼滤波估计每个学生的稳定水平,模拟后续考试的年级排名,把达线概率加总后下达各班指标。下达人数是“按现有轨迹本来会到的人数”,班级工作是超越它。
B/S 系统:上传历次大考总分,按方向内名次把学生分到固定宽度层次;每次只比较相邻两次考试的“上一层次 → 本次到线”命中人数;汇总后做拟合概率,再用最后一次考试各班层次人数摊派尖子线和特控线指标。
## 启动
@@ -11,29 +11,37 @@ pip install -r requirements.txt
python3 -m app
```
浏览器打开 http://服务器IP:8765 (本机也可用 http://127.0.0.1:8765)
服务默认监听 `0.0.0.0:8765`。可用环境变量覆盖:`HOST=127.0.0.1 PORT=8765 ./run.sh`
浏览器打开 http://127.0.0.1:8765 。服务默认监听 `0.0.0.0:8765`,可用 `HOST`、`PORT` 覆盖。
默认账号:`admin` / `hangbiao2026`(请在 `app/config.py` 修改)
默认账号:`admin` / `hangbiao2026`(可在 `app/config.py` 修改)。
## 成绩表要求
- Excel `.xlsx`
- 至少包含:学号或姓名、班级、多次考试总分
- 建议包含:方向(物理/历史)、选科、学籍、异动
- 物理/历史分表、艺体表、异动表都可以;系统会识别并在第二步让你勾选口径
- 至少包含:学号/姓名、班级、多次考试总分
- 建议包含:方向、选科、学籍、异动
- 物理/历史分表可直接识别;同分按同名次,后续名次递增
- 未排除的缺考学生按 0 分参加同方向排名
同目录的 `2024级指标分析成绩基础数据_5次考试.xlsx` 可在首页一键演示。
同目录 `basedata.xlsx` 上传后可作为按新算法复算的示例。
## 四步分析
## Web 设置
1. 数据体检:读到哪些人、哪些考试、分数尺度
2. 口径与目标:算谁、年级总盘子、预估步长
3. 滤波与回测:Q/R 含义,以及用历史考试验证准不准
4. 下达指标:班级期望 / 下达 / 保底 / 冲刺,点班级看学生,点学生看轨迹
- 勾选是否排除异动学生(异动/备注非空,或来源为异动/艺体表)
- 修改每个方向的尖子线人数、特控线人数、每层人数
- 选择参与计算哪些考试;只比较勾选后的相邻两次
- 第三步查看每次相邻命中概率、汇总概率和拟合概率;最后一次考试既参与相邻转移计算,也用于最终班级摊派
- 第四步查看班级摊派,并可导出总表
## 指标怎么理解
## 总表结构
- **下达指标**:滤波期望取整,合计等于年级目标人数
- **保底 / 冲刺**:模拟分布大约 20% / 80% 分位
- **相对最近一次**:预估相对最近一场已在线人数的增减,用来找上升生和不稳的在线生
导出的 Excel 包含:
1. 物理方向人员
2. 历史方向人员
3. 物理类概率分析
4. 历史类概率分析
5. 物理指标数
6. 历史指标数
结构与 `basedata.xlsx` 对应;概率和指标为本系统按当前 Web 口径重新计算后的结果。