Synthetic Education Data
收藏资源简介:
一个保护隐私的合成教育数据引擎,模拟高中数学部门,用于评估分析、仪表板开发和学习系统原型设计。它生成连贯的合成部门系统,包括学生、教师、课程、部分、注册、评估分数、出勤/非参与行为、Canvas风格课程工件和验证检查,旨在提供公开安全的数据工作流,而无需发布受保护的学生数据。
A privacy-preserving synthetic educational data engine that simulates high school mathematics departments, designed for evaluating analytics, dashboard development, and learning system prototyping. It generates coherent synthetic departmental systems encompassing students, teachers, courses, sections, enrollments, assessment scores, attendance/non-participation behaviors, Canvas-style course artifacts, and validation checks, aiming to provide open and secure data workflows without releasing protected student data.
数据集概述:Synthetic Education Data
这是一个用于教育分析领域的合成数据集生成引擎,模拟了一个高中数学部门的完整数据生态系统,旨在支持评估分析、仪表盘开发和学习系统原型设计,同时避免使用真实的受保护学生数据。
核心目标与功能
- 隐私保护:生成不含真实学生、教师、课程等私密信息的合成数据,支持公开安全的分析工作流。
- 结构模拟:构建嵌套的教育数据结构,包括学生、教师、课程、班级、注册信息、评估分数、出勤/未参与行为以及Canvas风格的课程数据。
- 统计设计:将部门结构(学生、教师等)与评估测量过程分离,为纵向分数生成提供可复用的贝叶斯就绪状态更新引擎。
- 验证:提供对数据数量、模式、注册一致性、分数范围、作业分配政策等的自动化验证。
数据结构与文件
核心数据源(JSON格式):
data/synthetic/synthetic_school_state.json:整个合成学校状态的权威源文件。
生成的CSV文件:
data/synthetic/synthetic_asma_gradebook.csv:全校数学评估成绩册。data/synthetic/synthetic_assessment_scores_long.csv:长格式的评估分数导出。data/synthetic/synthetic_math_courses.csv:数学课程列表。data/synthetic/synthetic_math_sections.csv:数学班级列表。data/synthetic/synthetic_math_enrollments.csv:学生注册信息。
生成的年度数据和Canvas配置:
data/synthetic/assessment_shells/:年度ASMA成绩册。data/synthetic/canvas_course_profiles/:Canvas风格的课程配置文件。
可选的DuckDB分析仓库输出(data/marts/):
- 遵循星型模式的事实表和维度表,包括:
dim_student、dim_course、dim_section、dim_teacher、dim_assignmentfact_assessment_score、fact_lms_enrollment
统计模型与行为
- 评估分数模拟:区分出勤/未参与和学业表现。缺席学生的分数记为
0,且其潜在就绪状态不更新,但隐藏的潜在轨迹继续变化。 - 效应建模:包含课程/方向、教师/班级效应、测量误差、观察噪音以及均值回归。
- 纵向设计:支持七个学年的数据生成(2025-2026至2031-2032),包含学生动态(毕业生和新生替换)。
- 校准:提供年级水平校准诊断,用于支持弱年级先验。
工作流程
- 生成与验证:
- 使用
make all执行完整流程,或分开执行make generate和make validate。 - 仅依赖Python标准库。
- 使用
- DuckDB分析仓库:
- 通过
make analytics-install和make warehouse构建本地数据库,执行SQL模型,导出公开安全的mart CSV。 - 将合成的Canvas课程配置文件标准化为SQL原始表,并与规范的合成注册信息进行核对。
- 通过
- 可选的Supabase/Postgres部署:
- 通过
make postgres-install、make postgres-load-dry-run和make postgres-load将验证后的星型模式mart部署到托管数据库。
- 通过
当前状态与规模
- 数据类型:合成数据,公开安全。
- 时间跨度:七个学年(2025-2026至2031-2032)。
- 数据规模(当前版本):
- 696 名所有时期的学生。
- 每学年 287 名活跃学生。
- 每学年 5 名合成教师。
- 9 个数学课程类别。
- 174 个合成班级。
- 2,009 个活跃的学生-学年注册记录。
- 62 个合成Canvas课程JSON配置文件。
- 14 个评估作业字段。
- 4,018 行长格式评估分数导出。
- 完整的DuckDB mart导出。
关键文档与入口
docs/methodology.md:详细的数据生成过程、评分引擎、Canvas工件和验证逻辑。docs/star-schema-erd.md:DuckDB星型模式的关系图。docs/data-lineage.md:数据从生成到最终报告的完整流向。docs/supabase-postgres-deployment.md:Supabase/Postgres部署指南。sql/examples/:包含注册、成长、缺失值、就绪状态等可读的SQL示例。scripts/generate_synthetic_math_department.py:模拟逻辑的Python脚本。scripts/validate_synthetic_math_department.py:验证数据形状、一致性和公共安全边界的脚本。reports/grade-level-calibration/grade-level-calibration-report.md:支持弱年级先验的聚合校准诊断报告。
与下游项目的关系
此仓库是合成数据的基础层。下游的assessment-intelligence项目负责可视分析和报告层,包括仪表盘、分布检查、成长诊断和面向领导的解释报告。





