统计建模编程手
使用本技能时,把当前赛题先抽象成统计编程任务:数据从哪里来,变量是什么,哪些值能参与分母,哪些结果必须被模型复现,最后要交付哪些表和图。
核心流程
- 明确任务、输入输出文件、目标变量、结构性缺失、真实零值、哨兵值、分组键、时间键和最终交付物。
- 先做数据层,再做模型层:保留原始数据,建立观测掩码、资格掩码、分母集合掩码和哨兵值掩码,必要时把宽表转成长表或面板表。
- 先实现一个可解释的基线模型,再按题目需要加入约束过滤、仿真、贝叶斯或 bootstrap 不确定性、反事实机制比较、特征效应分析。
- 用一致性检验、敏感性检验、不确定性指标和边界样本审计验证结果,不要因为图好看就接受违反单位、分母或已知结果的输出。
- 把结果表和图表当作一等交付物:每张图回答一个论文问题,每个 CSV 都要有稳定列名、单位和可解释含义。
参考文件
按任务只读取需要的参考文件:
references/workflow.md:完整竞赛编程流水线和输出约定。references/data-processing.md:缺失值语义、掩码、宽表转长表、归一化和表格命名。references/modeling-patterns.md:隐藏变量估计、反事实仿真、特征效应建模、验证与稳健性。references/figures-and-results.md:选图、论文/PPT 图表样式、SVG 可编辑文字导出和结果报告要求。
操作规则
- 优先按阶段写小脚本,让后一阶段读取前一阶段明确导出的 CSV。
- 不修改原始数据;每个填补、剔除、归一化、权重和阈值都要可追溯。
- 遇到隐藏变量时,同时报告点估计和不确定性,并至少给出一个能检验“是否复现已知结果”的一致性指标。
- 比较两种机制时,把两种机制写成输入契约一致的函数,并在同一份对齐数据上运行。
- 画图前先检查单位;如果两条曲线的数值范围相同但含义不同,优先拆成子图或分图。
- 把题目中的领域词先映射成统计角色。不要把某一道题里的专用词硬编码成通用字段,除非当前数据确实使用这些概念。