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は、暴力やヘイトスピーチなど6つの安全性カテゴリーにおいて、LLMの入力と出力をモデレートするMetaの70-80億パラメータモデルです。94〜95%の精度を提供し、vLLM、Hugging Face、Amazon SageMakerを使用してデプロイ可能です。このスキルを使用して、AIアプリケーションにコンテンツフィルタリングと安全策を簡単に統合できます。
cost-optimization
その他このClaudeスキルは、リソースの適正サイジング、タグ付け戦略、支出分析を通じて、開発者がクラウドコストを最適化することを支援します。AWS、Azure、GCPにわたるクラウド支出の削減とコストガバナンスの実施のためのフレームワークを提供します。インフラコストの分析、リソースの適正サイジング、または予算制約への対応が必要な際にご利用ください。
quantizing-models-bitsandbytes
その他このスキルは、bitsandbytesを使用してLLMを8ビットまたは4ビット精度に量子化し、精度の低下を最小限に抑えつつ50〜75%のメモリ削減を実現します。限られたGPUメモリでより大規模なモデルを実行したり、推論を高速化するのに理想的で、INT8、NF4、FP4などのフォーマットをサポートしています。HuggingFace Transformersと統合され、QLoRAトレーニングや8ビットオプティマイザーを可能にします。
dispatching-parallel-agents
その他このClaudeスキルは、複数のエージェントを配備し、3つ以上の独立した問題を並行して調査・修正します。共有状態や依存関係がなく解決可能な、無関係な障害が発生するシナリオ向けに設計されています。中核となる機能は並列問題解決であり、効率を最大化するために独立した問題領域ごとに1つのエージェントを割り当てます。
