review-data-analysis
О программе
Этот навык проверяет анализ данных на качество, корректность и воспроизводимость, охватывая оценку качества данных, проверку гипотез, валидацию моделей и обнаружение утечек. Он предназначен для разработчиков, чтобы проверять работу коллег перед публикацией, валидировать ML-пайплайны перед развертыванием или проводить регуляторные проверки. Инструмент требует код анализа и его результаты, а также может принимать исходные данные и протоколы для комплексной валидации.
Быстрая установка
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–8 миллиардами параметров для модерации входных и выходных данных больших языковых моделей по шести категориям безопасности, таким как насилие и разжигание ненависти. Она обеспечивает точность 94–95% и может быть развернута с помощью vLLM, Hugging Face или Amazon SageMaker. Используйте этот навык, чтобы легко интегрировать фильтрацию контента и защитные механизмы в ваши ИИ-приложения.
cost-optimization
ДругоеЭтот навык Claude помогает разработчикам оптимизировать облачные расходы за счет правильного подбора ресурсов, стратегий тегирования и анализа затрат. Он предоставляет framework для сокращения облачных расходов и внедрения управления затратами в AWS, Azure и GCP. Используйте его, когда вам нужно проанализировать расходы на инфраструктуру, оптимизировать ресурсы или уложиться в бюджетные ограничения.
quantizing-models-bitsandbytes
ДругоеЭтот навык выполняет квантизацию LLM до 8-битной или 4-битной точности с использованием библиотеки bitsandbytes, обеспечивая сокращение использования памяти на 50-75% при минимальной потере точности. Он идеально подходит для запуска больших моделей при ограниченной памяти GPU или для ускорения вывода, поддерживая форматы INT8, NF4 и FP4. Навык интегрируется с HuggingFace Transformers и позволяет использовать обучение QLoRA и 8-битные оптимизаторы.
dispatching-parallel-agents
ДругоеЭтот навык Claude распределяет нескольких агентов для исследования и устранения трёх и более независимых проблем параллельно. Он предназначен для сценариев с несвязанными сбоями, которые можно устранить без общего состояния или зависимостей. Ключевая возможность — параллельное решение проблем, где за каждую независимую предметную область назначается отдельный агент для максимальной эффективности.
