import(stage1): validate YRBS 2021 and 2023 layouts

This commit is contained in:
Jinotech
2026-09-20 09:04:42 +12:00
parent 64e05f42d0
commit a6df01da7e
13 changed files with 488 additions and 85 deletions
+20 -7
View File
@@ -1,9 +1,9 @@
# 项目进度档案
版本:1.13
版本:1.14
建立日期:2026-09-20
当前总状态:`in_progress`
当前阶段:阶段 1 `in_progress`84 个主要结局题目实例、396 条回答编码、28 条设计登记和 84 条人工双审队列已形成`responses_long.parquet`YRBS 2021/2023 导入、设计复核和实际双人审核尚未完成
当前阶段:阶段 1 `in_progress`84 个主要结局题目实例与编码/双审包已形成,YRBS 1991–2023 共 17 年完整表均通过来源与值域检查`responses_long.parquet`、设计复核和实际双人审核尚未完成
## 1. 管理规则
@@ -28,7 +28,7 @@
| 阶段 | 名称 | 状态 | 当前判定 |
|---|---|---|---|
| 0 | 冻结研究问题、范围与版本 | `passed` | 四项交付物齐备,Gate 0 已通过;研究工具链补强与锁定完成 |
| 1 | 有来源证据的题库和回答层 | `in_progress` | 主要结局题库、回答字典、构念本体、候选连接、设计登记、冲突表和人工双审队列已生成;回答长表、2021/2023 导入、设计复核和实际双重审核尚未完成 |
| 1 | 有来源证据的题库和回答层 | `in_progress` | 主要结局结构化包已生成,YRBS 2021/2023 已按官方 SAS 布局解除导入隔离;回答长表、设计复核和实际双重审核尚未完成 |
| 2 | 可行性、可识别性和连接审计 | `not_started` | 等待 Gate 1 |
| 3 | 冻结验证协议与已知真值模拟 | `not_started` | 等待 Gate 2 |
| 4 | 直接协调和传统基线 | `not_started` | 等待 Gate 3 |
@@ -87,7 +87,7 @@ Gate 0 当前判定:`passed`。四项交付物齐备;目标总体政策、
| P1 | R、PyMC/ArviZ、心理测量包与 CUDA Toolkit 曾缺失 | 已解决:项目 Python/R 环境和 CUDA 端到端验收通过 | 后续仅按锁定文件维护;任何升级必须重跑三套烟雾测试 |
| P1 | 文献初筛尚未形成可审计矩阵 | 研究定位和“贡献”表述仍不稳定 | 建立 literature matrix,记录 DOI、来源、证据层级和项目关系 |
| P0 | NSDUH 的 `YSUI03/YUSUICTRY` 已确认施测,但尝试及严重度字段不在当前本地公开使用数据中;2024 指南明确记录派生尝试变量因披露风险排除 | 当前微数据只能外部验证意念/计划,不能验证尝试 | 不从其他题推导尝试;如核心设计必须使用尝试,评估受限数据申请或预先设计的聚合结果方案 |
| P1 | Solomon Islands 2023 已有 WHO 官方目录的逐题来源与总体资料,但未取得国家问卷文件/实际施测语言证据YRBS 2021/2023 仍处于导入隔离 | 不影响该组件的题文/编码来源,但限制语言字段批准;后两年不能进入回答层 | 保持语言 provisional按官方 SAS 布局验证 YRBS 2021/2023 导入 |
| P1 | Solomon Islands 2023 已有 WHO 官方目录的逐题来源与总体资料,但未取得国家问卷文件/实际施测语言证据 | 不影响该组件的题文/编码来源,但限制语言字段批准 | 保持语言 provisional在语言 DIF 分析前取得施测语言证据或排除相应主张 |
## 8. 行动日志
@@ -757,11 +757,24 @@ Gate 0 当前判定:`passed`。四项交付物齐备;目标总体政策、
- 编码决策:GSHS/YRBS 尝试次数保留五级 `zero/one/two_or_three/four_or_five/six_or_more`,不在原始字典中静默二分;NSDUH 的“不确定”保留为观测类别,拒答、不知道、数据错误、空白和合法跳题分别保留为缺失类型;任何未知缺失均不得自动转为阴性。
- 冲突登记:21 条 YRBS 旧映射作为已由直接来源解决的冲突保留审计轨迹;7 个 GSHS 组件的实际施测语言证据缺口和 4 个 NSDUH 尝试题的公用微数据访问缺口保持开放。
- 设计边界:GSHS 使用规范化权重/PSU/stratum 候选字段;YRBS 2017/2019 设计字段缺口及 2021/2023 导入隔离被显式标记;NSDUH 的 `ANALWT2_C1``C4` 年度适用映射未凭猜测选择。所有设计记录仍为 provisional。
- 工程记录:一次 NSDUH Parquet 字段名假设错误与一次 YRBS 尝试题响应形态假设错误均无数据改动,并分别记录为已解决的 `ERR-20260920-024``ERR-20260920-025`;后者由 fail-closed 检查在生成文件前中止,修正后重建通过。
- 工程记录:一次 NSDUH Parquet 字段名假设错误与一次 YRBS 尝试题响应形态假设错误均无数据改动,并分别记录为已解决的 `ERR-20260920-037``ERR-20260920-038`;后者由 fail-closed 检查在生成文件前中止,修正后重建通过。
- 质量边界:本行动没有生成 `responses_long.parquet`,没有解除 YRBS 2021/2023 隔离,没有解决 NSDUH 尝试题的数据访问,也没有将 AI 检查登记为人工审核。Gate 1 保持 `in_progress`
- 推送状态:`pushed`;研究增量提交 `f7e0dbb` 已推送至 `origin/main`
- 下一步:按官方 SAS 程序与布局验证并导入 YRBS 2021/2023;随后从已通过来源和编码检查的可用年度生成 `responses_long.parquet`,并安排两名实际审核者处理队列。
### A-20260920-060:按官方 SAS 布局导入并解除 YRBS 2021/2023 隔离
- 时间:2026-09-20
- 阶段:1(有来源证据的题库和回答层)
- 动作:行动前再次完整读取工作流与进度档案并核对干净 Git 状态;解析 CDC 官方 2021/2023 SAS Input 程序的定长字段位置,以源文件 SHA-256、逐行长度、主结局值域、设计字段完整性和 Parquet 往返读取作为解除隔离条件。
- 输入:2021/2023 官方 SAS Input/Formats 程序、CDC 下载归档中的 `.dat`、本地 raw `.dat`、年度问卷与用户指南。
- 输出:新增 `import_yrbs_2021_2023.py``yrbs_2021_2023_import_audit.json``yrbs_2021_2023_import_audit.md`;生成忽略于 Git 的 `yrbs_2021_full.parquet``yrbs_2023_full.parquet`;重建 YRBS 来源审计、主要结局登记和结构化包。
- 检查:本地 raw 与 CDC 归档副本逐字节一致;两年每行均为 421 字节。2021 解析 17,232×2392023 解析 20,103×252;两年 weight/stratum/PSU 均全量非空;Q26Q282021)及 Q27Q292023)观测值全部位于官方 12/1–5 值域;Parquet 写入后往返形状一致。YRBS 来源审计现为 17/17 年可用、隔离 0 年、值域失败 0。
- 状态变更:仅解除“导入布局隔离”;题目仍为 `provisional`,不等于设计方差方法已批准或人类双审已完成。
- 工程记录:SAS 标题注释中的 `Input` 误匹配和数值缺失符号 `.` 两个解析边界均在接受输出前失败关闭,修正并记录为 `ERR-20260920-039`
- 推送状态:`push_pending`;完成差异检查、提交和远端推送后更新。
- 下一步:用当前题库/回答字典生成跨调查 `responses_long.parquet`,保留 eligibility、observed status 与各类缺失;同时准备实际双人审核安排。
## 9. 剩余工作量估算(2026-09-20 基线)
| 阶段 | 主要工作 | 预计人周 | 主要波动来源 |
@@ -784,6 +797,6 @@ Gate 0 当前判定:`passed`。四项交付物齐备;目标总体政策、
阶段 1 下一行动:
1. 按官方 SAS 程序和机器可读布局验证 YRBS 2021/2023 导入,核对行数、值域、题号映射和设计字段;验证前继续隔离
2. 以题库和回答字典为唯一映射源,为当前可用且通过检查的数据生成 `responses_long.parquet`,显式保存 eligibility 与 observed status
1. 以题库和回答字典为唯一映射源,为当前可用且通过检查的数据生成 `responses_long.parquet`,显式保存 eligibility、observed status 与缺失类型
2. 复核 GSHS、YRBS、NSDUH 的年度/组件设计字段与官方方差说明,禁止凭字段名推断方差方法
3. 安排两名实际审核者逐项处理 `primary_outcome_human_review_queue.csv`;审核完成前保持全部主要结局为 `provisional`