review-data-analysis
关于
This skill reviews data analysis for quality, correctness, and reproducibility, covering data quality assessment, hypothesis testing, model validation, and leakage detection. It's designed for developers to audit colleagues' work before publication, validate ML pipelines pre-deployment, or conduct regulatory reviews. The tool requires analysis code and outputs, optionally accepting raw data and protocols for comprehensive validation.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/review-data-analysis在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
数据分析评审
评估数据分析流水线的正确性、健壮性和可重复性。
适用场景
- 在发表前审查同事的分析笔记本或脚本
- 在生产部署前验证机器学习流水线
- 为监管或业务决策审计分析报告
- 评估分析是否支持其所述结论
- 在受监管环境中进行第二分析师复核
输入
- 必填:分析代码(脚本、笔记本或流水线定义)
- 必填:分析输出(结果、表格、图表、模型指标)
- 可选:原始数据或数据字典
- 可选:分析计划或协议(预先注册或临时的)
- 可选:目标受众和决策背景
步骤
第 1 步:评估数据质量
在评估分析之前,先审查输入数据:
## 数据质量评估
### 完整性
- [ ] 缺失数据已量化(按列和按行的缺失百分比)
- [ ] 缺失数据机制已考虑(MCAR、MAR、MNAR)
- [ ] 插补方法适当(如使用)或完整案例分析有理据支持
### 一致性
- [ ] 数据类型符合预期(日期是日期,数字是数字)
- [ ] 值域合理(无负年龄,历史数据中无未来日期)
- [ ] 分类变量具有预期水平(无拼写错误,编码一致)
- [ ] 记录间单位一致
### 唯一性
- [ ] 重复记录已识别并处理
- [ ] 预期位置的主键是唯一的
- [ ] 连接操作产生预期行数(无扇出或丢失)
### 时效性
- [ ] 数据时效性适合分析问题
- [ ] 时间覆盖范围与研究期间相匹配
- [ ] 时间序列数据中无前瞻偏倚
### 溯源
- [ ] 数据来源已记录
- [ ] 提取日期/版本已记录
- [ ] 来源与分析输入之间的任何转换已记录
预期结果: 数据质量问题已记录,并说明其对结果的潜在影响。
失败处理: 若数据不可访问以供审查,则从代码中评估质量(应用了哪些检查和转换)。
第 2 步:检验假设
对所用的每种统计方法或模型:
| 方法 | 关键假设 | 检验方式 |
|---|---|---|
| 线性回归 | 线性性、独立性、残差正态性、方差齐性 | 残差图、Q-Q 图、Durbin-Watson、Breusch-Pagan |
| 逻辑回归 | 独立性、无多重共线性、线性 logit | VIF、Box-Tidwell、残差诊断 |
| t 检验 | 独立性、正态性(或大 n)、方差相等 | Shapiro-Wilk、Levene 检验、目视检查 |
| 方差分析 | 独立性、正态性、方差齐性 | 各组 Shapiro-Wilk、Levene 检验 |
| 卡方检验 | 独立性、期望频率 ≥ 5 | 期望频率表 |
| 随机森林 | 足够的训练数据、特征相关性 | OOB 误差、特征重要性、学习曲线 |
| 神经网络 | 足够数据、适当架构、无数据泄漏 | 验证曲线、过拟合检查 |
## 假设检验结果
| 分析步骤 | 方法 | 假设 | 已检验? | 结果 |
|---------|------|------|---------|------|
| 主模型 | 线性回归 | 残差正态性 | 是 | Q-Q 图显示轻微偏差——n>100 时可接受 |
| 主模型 | 线性回归 | 方差齐性 | 否 | 未检验——建议添加 Breusch-Pagan 检验 |
预期结果: 每种统计方法的假设均已明确检验或得到承认。
失败处理: 若假设被违反,检查作者是否已处理(稳健方法、变换、敏感性分析)。
第 3 步:检测数据泄漏
数据泄漏发生在训练集外的信息影响模型时,导致过于乐观的性能:
常见泄漏模式:
- 目标泄漏:直接编码目标变量的特征(如使用"treatment_outcome"预测"treatment_success")
- 时间泄漏:使用未来信息预测过去(使用预测时不可用的数据计算的特征)
- 训练测试污染:在数据分割之前对完整数据集拟合预处理(缩放、插补、特征选择)
- 群组泄漏:相关观测(同一患者、同一设备)分散在训练集和测试集中
- 特征工程泄漏:跨整个数据集而非仅在训练折叠内计算的聚合值
## 泄漏评估
| 检查项 | 状态 | 证据 |
|-------|------|------|
| 目标泄漏 | 清除 | 无从目标派生的特征 |
| 时间泄漏 | 关注 | 特征 X 使用 30 天前向平均值 |
| 训练测试污染 | 清除 | StandardScaler 仅在训练集上拟合 |
| 群组泄漏 | 关注 | 患者 ID 未用于分层分割 |
预期结果: 所有常见泄漏模式均已检查,状态为清除/关注。
失败处理: 若发现泄漏,通过重新运行去除泄漏特征来估计影响(如可能),或标记供分析师调查。
第 4 步:验证模型性能
对于预测模型:
- 问题对应的适当指标(不仅仅是准确率——考虑精确率、召回率、F1、AUC、RMSE、MAE)
- 交叉验证或留出策略已描述且适当
- 训练集与测试/验证集性能已比较(过拟合检查)
- 提供了基准比较(朴素模型、随机机会、先前方法)
- 性能指标的置信区间或标准误差
- 在相关子群体上评估了性能(公平性、边缘案例)
对于推断/解释模型:
- 报告了模型拟合统计量(R²、AIC、BIC、偏差)
- 系数解释正确(方向、量级、显著性)
- 多重共线性已评估(VIF < 5–10)
- 已识别有影响的观测值(Cook 距离、杠杆值)
- 如测试了多个规格,进行了模型比较
预期结果: 模型验证适合用例(预测 vs 推断)。
失败处理: 若测试集性能与训练性能可疑地接近,标记潜在泄漏。
第 5 步:评估可重复性
## 可重复性清单
| 项目 | 状态 | 备注 |
|------|------|------|
| 代码无错误运行 | [是/否] | 在 [环境描述] 上测试 |
| 随机种子已设置 | [是/否] | [文件] 第 [N] 行 |
| 依赖项已记录 | [是/否] | requirements.txt / renv.lock 存在 |
| 数据加载可重复 | [是/否] | 路径是 [相对/绝对/URL] |
| 结果与报告值匹配 | [是/否] | 已验证:表 1 ✓,图 2 ✗(轻微差异) |
| 环境已记录 | [是/否] | 已指定 Python 3.11 / R 4.5.0 |
预期结果: 通过重新运行分析验证了可重复性(若数据不可用则从代码评估)。
失败处理: 若结果无法精确重现,确定差异是否在浮点数容差范围内或表明存在问题。
第 6 步:撰写评审报告
## 数据分析评审
### 整体评估
[1-2 句:分析是否可靠?是否支持结论?]
### 数据质量
[数据质量发现摘要,对结果的影响]
### 方法论问题
1. **[标题]**:[描述,在代码/报告中的位置,建议]
2. ...
### 优点
1. [做得好的地方]
2. ...
### 可重复性
[等级评估:金/银/铜/不透明,附理由]
### 建议
- [ ] [分析师的具体行动项目]
预期结果: 评审提供了可操作的反馈,并有对代码位置的具体引用。
失败处理: 若时间有限,优先处理数据质量和泄漏检查,而非风格问题。
验证清单
- 数据质量已从完整性、一致性、唯一性、时效性、溯源方面评估
- 每种所用方法的统计假设均已检验
- 数据泄漏已系统性地评估
- 模型性能已用适当指标和基准验证
- 可重复性已评估(代码运行,结果匹配)
- 反馈具体,引用了代码行或报告章节
- 语气具有建设性和合作精神
常见问题
- 只审查代码:分析计划和结论与实现同样重要。
- 忽视数据质量:在劣质数据上运行复杂模型会产生自信但错误的答案。
- 将复杂性等同于正确性:95% 准确率的随机森林可能存在数据泄漏;简单 t 检验可能是正确方法。
- 不运行代码:尽可能执行代码以验证可重复性。阅读代码是不够的。
- 见树不见林:不要因代码风格问题而忽略根本性的分析错误。
相关技能
review-research— 更广泛的研究方法论和论文评审validate-statistical-output— 双重编程验证方法论generate-statistical-tables— 出版级统计表格review-software-architecture— 代码结构和设计评审
GitHub 仓库
相关推荐技能
llamaguard
其他LlamaGuard是Meta推出的7-8B参数内容审核模型,专门用于过滤LLM的输入和输出内容。它能检测六大安全风险类别(暴力/仇恨、性内容、武器、违禁品、自残、犯罪计划),准确率达94-95%。开发者可通过HuggingFace、vLLM或Sagemaker快速部署,并能与NeMo Guardrails集成实现自动化安全防护。
cost-optimization
其他这个Claude Skill帮助开发者优化云成本,通过资源调整、标记策略和预留实例来降低AWS、Azure和GCP的开支。它适用于减少云支出、分析基础设施成本或实施成本治理策略的场景。关键功能包括提供成本可视化、资源规模调整指导和定价模型优化建议。
quantizing-models-bitsandbytes
其他这个Skill使用bitsandbytes库量化大语言模型,能在GPU内存有限时通过8位或4位量化减少50-75%内存占用,同时保持精度损失最小。它支持INT8、NF4、FP4等多种量化格式,可与HuggingFace Transformers无缝集成,适用于需要部署更大模型或加速推理的场景。还提供QLoRA训练和8位优化器支持,让开发者能轻松实现高效模型压缩。
dispatching-parallel-agents
其他该Skill用于并行处理3个以上无依赖关系的独立故障,可为每个问题域分派专属Claude代理同时执行调查修复。它通过并发处理多个独立问题显著提升故障排查效率,特别适用于测试文件、子系统等无共享状态的场景。
