用完整 CSV 示例核查 AI 生成的数据分析
本练习帮助你检查 AI 生成的分析是否遵守数据规则。你将识别重复导出行、报告缺失值、计算分组均值,并对照可复现的答案。建议用时约 25 分钟,需要能查看 CSV 的表格软件;运行参考代码还需要 Python 3.9 或更新版本。
更新于 2026 年 11 月 7 日。数据为教学用途的模拟观测值,数字用于说明核查方法,不能据此判断真实 AI 的表现。
下载完整练习包,包含 CSV、Python 代码、测试和预期结果。文件名和代码保留英文。
先明确问题,再请求代码
研究问题:仅使用已有时间记录,模拟的 assisted 组与 manual 组在任务完成时间的均值上相差多少?
分析单位是一位参与者。CSV 字段为 participant_id、condition 和 minutes。assisted 组:P01 为 12 分钟,P02 为 15,P03 为 18,P04 缺失。manual 组:P05 为 20,P06 为 25,P07 为 30,P08 为 35。第九行重复记录 P03 的 18 分钟。
本练习已知 P03 的重复行来自导出错误,因此保留一份。P04 仍计入参与者人数,单独报告时间缺失,计算时间均值时排除该缺失值。真实研究需要先确认重复记录的来源,因为重复测量可能是有效观测。
给助手明确的分析指令
复制以下提示词,并附上 observations.csv:
“先审核这份模拟 CSV,再分析。分析单位是一位参与者。按组报告行数、唯一参与者人数、重复 ID、存在冲突的重复记录以及时间缺失数。本练习中完全相同的重复行属于导出重复,保留一份;如果数值冲突则停止。缺失时间只从时间均值计算中排除,并单独报告缺失数量。计算各组平均分钟数,以及 assisted 减去 manual 的差值。返回仅使用 Python 标准库的代码和简短解释。不要将缺失值填为零,不要推断因果效应或声称统计显著。明确说明你是否实际运行了代码,还是只生成了代码。”
运行前检查导入模块和文件操作。本题只需要读取本地 CSV 并计算。若代码访问网络、安装额外软件包或修改输入文件,请先要求解释其必要性。
手工核对答案
输入为 9 行,8 位唯一参与者,删除 1 行完全相同的重复记录。
assisted 组有 4 位参与者,3 个已有时间值,1 个缺失值。均值 = (12 + 15 + 18) / 3 = 15 分钟。
manual 组有 4 位参与者,4 个已有时间值,0 个缺失值。均值 = (20 + 25 + 30 + 35) / 4 = 27.5 分钟。
assisted 减去 manual:15 − 27.5 = −12.5 分钟。
合适的解释是:“在这些模拟观测中,assisted 组的已观测时间均值低 12.5 分钟。该组有一位参与者缺少时间值。这些描述性数字不能确定总体中的效应。”
运行独立检查
解压练习包,在该文件夹中打开终端,运行 python3 audit_csv.py,并对照 expected.json。随后运行 python3 test_audit.py。Windows 用户如果使用 Python 启动器,可以用 py -3 替代 python3。
参考脚本仅使用 Python 标准库,无需账户、API 密钥或网络连接。我们已用提供的 CSV 运行代码,核对预期答案,并检查九种无效输入情形。脚本会拒绝冲突 ID、未知组别、格式错误行和无效时间。应用到其他研究前请先阅读代码。
诊断看似合理的错误
如果 assisted 均值为 15.75,很可能保留了重复的 P03 行:(12 + 15 + 18 + 18) / 4。如果去重后均值为 11.25,很可能把 P04 的缺失值当成零:45 / 4。流畅的解释也可能伴随这两种错误。
复制 CSV,将最后一行 P03 的时间从 18 改为 19。参考脚本应因记录冲突而停止。只有回到来源记录,才能判断哪个数值正确。
接着请助手解释:为什么 assisted 组的参与者人数与计算均值的分母不同?把解释与代码、输出一起保存,作为分析记录的一部分。
将核查方法用于自己的研究
生成分析前,写明观测单位、ID 规则、允许组别、计量单位、缺失值处理和排除规则。保留原始文件,保存实际代码、数据版本、软件版本和输出。合并数据表时,也要确认行数和唯一 ID 数的变化符合预期。
本练习覆盖描述性计算。统计建模还需要合理的研究设计、假设、对不确定性的估计,以及对缺失机制如何影响研究问题的评估。
来源与下一步
Python CSV 官方文档介绍了参考脚本使用的读取方式。数据、提示词、计算和测试是 GAI for Research 原创教学材料。
继续尝试Inciteful 文献检索与判断练习。也可观看精选数据分析视频及英文练习指南。





留言