DRZ-hang/StatMate · 上手攻略
- 仓库:DRZ-hang/StatMate
- 链接:https://github.com/DRZ-hang/StatMate
- 分类:学术写作 · 统计可视化
- 作者:Tom
- 更新:2026-09-01
是什么
StatMate(中文名"统计同学",前身为 paper-figures)是一个 Agent Skill,专为生物医学及定量研究设计。它的核心思路是:把稿件、研究设计、数据字典和真实数据转化为一套可审查的分析计划 → 数据审计 → 出版级图表与报告。关键约束:所有报告数值必须能追溯到原始数据、机器可读结果和生成脚本,不允许 AI 凭空捏造统计量。
⚠️ 注意:StatMate 定位是辅助分析工具而非全自动统计机器——它把同一路径拆成 9 个阶段,每阶段产出都是"待作者审核的草稿",最终出口仍需人工把关,尤其是临床决策、监管研究和确证性分析。
解决什么问题
- 传统 AI 绘图:输入"给我画个柱状图",AI 直接出图,数值可能瞎编,且图无法追溯
- StatMate 的改进:设计先于方法 → 先建分析计划 → 再跑代码出图 → 每个数值都能对应到源文件和脚本
- 具体痛点:缺失值/重复测量/伪重复/空设计单元/隐私风险等数据问题,在正式计算前就被审计捕获
- 出版合规:图表默认三线表格式(Word),配色盲安全,支持 Nature/Science/Cell/IEEE 等期刊预设
快速安装
StatMate 是一个 Agent Skill,不是一个 pip 包。它依赖宿主 AI Agent(Claude Code、OpenClaw 等)加载 SKILL.md 后工作。
# 方式一:clone 仓库查看 SKILL.md
git clone https://github.com/DRZ-hang/StatMate.git
cd StatMate
# 方式二:直接读取核心 SKILL.md
# 将 statmate/SKILL.md 内容加载到 Agent 的 system prompt 或 skills 目录
# 不同宿主路径不同,参考宿主文档(如 Claude Code 用 ~/.claude/skills/)
⚠️ 注意:StatMate 本身不提供 pip install statmate 这样的安装命令。它是一个 prompt-based skill,必须通过 AI Agent 调用才能工作。
依赖环境(StatMate 运行分析代码时需要):
# 核心依赖
pip install matplotlib seaborn numpy pandas scipy
# 可选依赖(扩展图表类型和统计模型)
pip install plotnine plotly lifelines scikit-learn openpyxl python-docx
⚠️ 版本未锁定,建议 Python ≥3.9,具体版本建议自行在虚拟环境测试。
核心用法
9 阶段标准工作流
StatMate 将完整分析拆成 9 个阶段,每阶段有明确的输入/输出:
| 阶段 | 内容 | 输出 |
|---|---|---|
| 1️⃣ 设计地图 | 提取研究问题、分析单元、终点、时机、边界 | design_map.md |
| 2️⃣ 数据溯源审计 | 检查结构、缺失、重复、隐私、设计单元、文件哈希 | data_audit.md |
| 3️⃣ 分析计划 | 指定估计量、方法、假设、诊断、效应量、多重性 | analysis_plan.md |
| 4️⃣ 审批门 | 作者确认影响分析的关键决策 | approval_signoff.md |
| 5️⃣ 代码计算 | 运行保存的脚本,优先输出机器可读结果(JSON/CSV) | results.json |
| 6️⃣ 诊断/敏感性 | 检验模型拟合、鲁棒性、多重检验 | diagnostics.md |
| 7️⃣ 构建与检查 | 生成 PNG 预览 + 矢量 PDF,检查画布/DPI/文件 | fig1.png, fig1.pdf |
| 8️⃣ 解释与教学 | 科学解读 + 稿件用词建议 + 阅读指南 | report.md |
| 9️⃣ 最终导出 | 按要求格式导出(Word 三线表 / Excel / LaTeX)+ 清单验证 | final_report.docx |
典型使用命令(示例)
# StatMate 工作流示例(伪代码示意,具体通过 Agent 对话驱动)
# 1. 摄入研究材料
# 将稿件 PDF、data.csv、data_dictionary.md 放入工作目录
# 告知 StatMate:"我用 heart-failure 数据做生存分析,请按流程出图"
# 2. 查看生成的审计报告
import json
with open("data_audit.json") as f:
audit = json.load(f)
print(audit["missingness"], audit["duplicates"])
# 3. 查看生成的图表
# statmate_output/figures/Fig1.png # 生存曲线 KM 图
# statmate_output/figures/Fig2.png # Cox 诊断图
# statmate_output/figures/Fig3.png # 预测模型校准曲线
# 4. 查看分析脚本(可复现)
# statmate_output/scripts/kaplan_meier.py
# statmate_output/scripts/cox_model.py
⚠️ 上述为示意性代码,实际通过 Agent 对话驱动 StatMate 生成,不能直接 pip install statmate 后当库导入使用。
典型适用场景
- 生物医学论文图表:Cox 生存分析、Kaplan-Meier 曲线、森林图、热力图、PCA 双标图
- 方法学审稿:拿到一篇稿件的数据后,想快速审计其分析合理性和数据质量
- 教学报告:为学生生成"如何读这张图"的解读报告,解释每个标记、置信区间、p 值含义
- 跨语言写作:用中文提问,StatMate 用中文回答;但稿件语言保持不变(英文稿件仍输出英文)
坑与注意
⚠️ Skill 非 pip 包:StatMate 不能通过 pip install 安装,必须作为 AI Agent 的 skill 文件使用。把它当成一份详细的 prompt 规范,不是 Python 库。
⚠️ AI 不生成统计量:StatMate 的图来自真实统计代码运行,不是 AI 生成的图像——但前提是你的源数据真实可用。没有数据,StatMate 也无能为力。
⚠️ Cox 模型诊断:README 明确提到 EF proportional-hazards 诊断被标记为 "review decision pending",即部分模型诊断结果仍需人工判断,不能盲目信任自动化输出。
⚠️ 无临床决策授权:StatMate 生成的报告明确注明不授权用于临床决策,临床研究请另行合规评估。
⚠️ 期刊预设需核验:Nature/Science/Cell 等期刊预设(宽、高、字体、DPI)仅为起点,投稿前务必对照期刊官网最新投稿指南核实。
⚠️ OpenClaw 兼容性:README 提到 OpenClaw 支持但注明"not release-verified here yet",即未经过发布级验证,OpenClaw 用户使用前建议先测试。
与同类对比
| 工具 | 类型 | 数据溯源 | 统计严谨性 | 图表出版质量 |
|---|---|---|---|---|
| StatMate | Agent Skill | ✅ 代码+脚本+哈希全链路 | ✅ 设计先于方法,9阶段门控 | ✅ 期刊预设+三线表 |
| paper-figures(老版) | 同项目旧名 | 同上 | 同上 | 同上 |
| Matplotlib/seaborn 手绘 | Python 库 | ❌ 手动追溯 | ❌ 取决于分析师 | ❌ 需自行调整 |
| Python-pptx/plotly 交互图 | Python 库 | ❌ 无内置审计 | ❌ 无设计阶段 | ⚠️ 需自行格式化 |
| Zotero + paper-menu | 辅助工具 | ❌ 不涉及数据 | ❌ 无统计流程 | ❌ 非核心功能 |
| ChatGPT/Claude 画图 | LLM 对话 | ❌ 数值可能虚构 | ❌ 无审计门控 | ⚠️ 不可复现 |
StatMate 的核心优势是流程完整性:从研究设计到最终图表,每一步都有记录可查,而非 LLM 一次性生成图像。
一句话推荐结论
如果你需要一篇统计严谨、图表可溯源、且能同时生成教学解读的出版级分析工作流,StatMate 是目前该方向最完整的 Agent Skill 实现——⚠️ 但它依赖 AI Agent 宿主,不是一个独立可 pip 安装的包,且 Cox 模型等高级诊断结果仍需人工审核。
Sources: GitHub README, DEMO.md, statmate/SKILL.md · 字数:~2,100 CJK