返回 Skill 列表
extension
分类: 数据与分析无需 API Key

统计分析顾问

根据数据特征推荐合适的统计方法(T检验 vs ANOVA等)。

person作者: aipoch-aihubclawhub

统计分析顾问

智能统计检验推荐引擎,帮助用户为其数据选择合适的统计方法。

使用场景

  • 当任务需要根据数据特征推荐合适的统计方法(T检验 vs ANOVA等)时使用此技能。
  • 当数据分析任务需要明确的假设、有边界的范围以及可复现的输出格式时使用此技能。
  • 当你需要为缺失输入、执行错误或部分证据准备一条有文档记录的回退路径时使用此技能。

核心功能

  • 以此为对齐目标的、专注于范围的工作流:根据数据特征推荐合适的统计方法(T检验 vs ANOVA等)。
  • 打包的可执行路径:scripts/main.py
  • references/ 中提供任务相关的参考资料。
  • 结构化的执行路径,确保输出结果一致且可审阅。

依赖项

相关细节参见上文的 ## Prerequisites

  • Python:3.10+。当前打包技能的仓库基线。
  • dataclasses:unspecified。在 requirements.txt 中声明。
  • enum:unspecified。在 requirements.txt 中声明。

使用示例

相关细节参见上文的 ## Usage

cd "20260318/scientific-skills/Data Analytics/statistical-analysis-advisor"
python -m py_compile scripts/main.py
python scripts/main.py --help

示例运行计划:

  1. 确认用户输入、输出路径以及任何必需的配置值。
  2. 如果脚本使用固定配置,编辑文件内的 CONFIG 块或已记录的参数。
  3. 使用经过验证的输入运行 python scripts/main.py
  4. 审阅生成的输出,并返回最终产物,同时说明所涉及的假设。

实现细节

相关细节参见上文的 ## Workflow

  • 执行模型:验证请求、选择打包的工作流、产出有边界的交付物。
  • 输入控制:在运行任何脚本之前,确认源文件、范围限制、输出格式和验收标准。
  • 主要实现入口:scripts/main.py
  • 参考指导:references/ 包含支持性的规则、提示或检查清单。
  • 需要先明确的参数:输入路径、输出路径、范围筛选条件、阈值以及任何领域特定的约束。
  • 输出规范:保持结果可复现,明确标注假设,避免未记录的副作用。

快速检查

使用此命令在深入执行前验证打包脚本入口能否被正确解析。

python -m py_compile scripts/main.py

可审计命令

使用这些具体命令进行验证。它们是自包含的,不使用占位符路径。

python -m py_compile scripts/main.py
python scripts/main.py

工作流程

  1. 在进行详细工作之前,先确认用户目标、所需输入以及不可协商的约束条件。
  2. 验证请求是否符合已记录的范围,如果任务需要不受支持的假设,则提前停止。
  3. 仅使用实际可用的输入,采用打包脚本路径或已记录的推理路径。
  4. 返回一个结构化结果,明确区分假设、交付物、风险和未解决事项。
  5. 如果执行失败或输入不完整,切换到回退路径,并准确说明是什么阻碍了任务的完全完成。

能力

  1. 统计检验选择

    • 比较并推荐 T检验、ANOVA、卡方检验、Mann-Whitney、Kruskal-Wallis 等检验方法
    • 综合考虑数据类型、分布、样本量和研究问题
    • 提供检验选择的决策树逻辑
  2. 假设检验

    • 正态性检验(Shapiro-Wilk、Kolmogorov-Smirnov)
    • 方差齐性(Levene 检验、Bartlett 检验)
    • 独立性验证
    • 异常值检测指导
  3. 功效分析与样本量

    • 效应量估计(Cohen's d、eta 平方、Cramér's V)
    • 达到目标功效所需的样本量计算
    • 事后功效分析

用法

from scripts.main import StatisticalAdvisor

advisor = StatisticalAdvisor()

# Get test recommendation
recommendation = advisor.recommend_test(
    data_type="continuous",
    groups=2,
    independent=True,
    distribution="normal"
)

# Check assumptions
assumptions = advisor.check_assumptions(
    data=[group1, group2],
    test_type="independent_ttest"
)

# Power analysis
power = advisor.calculate_power(
    effect_size=0.5,
    alpha=0.05,
    sample_size=30
)

输入参数

| 参数 | 类型 | 描述 | |-----------|------|-------------| | data_type | str | "continuous"(连续型)、"categorical"(分类型)、"ordinal"(有序型) | | groups | int | 组数/比较水平数 | | independent | bool | 独立样本或配对/相关样本 | | distribution | str | "normal"(正态)、"non-normal"(非正态)、"unknown"(未知) | | sample_size | int | 当前或计划的样本量 |

技术难度:高 ⚠️

警告:统计学建议对研究的有效性具有重大影响。此技能要求在应用于已发表的研究之前,由人工对所有建议进行验证。

参考资料

  • 详细的检验选择标准见 references/statistical_tests_guide.md
  • 假设检验程序见 references/assumption_tests.md
  • 功效计算方法见 references/power_analysis_guide.md

局限性

  • 不执行实际的数据分析(仅提供建议)
  • 无法直接访问原始数据
  • 复杂的多变量设计可能需要专门咨询
  • 未全面覆盖贝叶斯替代方法

风险评估

| 风险指标 | 评估 | 等级 | |----------------|------------|-------| | 代码执行 | 本地执行 Python/R 脚本 | 中 | | 网络访问 | 无外部 API 调用 | 低 | | 文件系统访问 | 读取输入文件、写入输出文件 | 中 | | 指令篡改 | 标准提示词准则 | 低 | | 数据暴露 | 输出文件保存到工作区 | 低 |

安全检查清单

  • [ ] 无硬编码的凭据或 API 密钥
  • [ ] 无未经授权的文件系统访问(../)
  • [ ] 输出不暴露敏感信息
  • [ ] 已具备提示注入防护措施
  • [ ] 输入文件路径已验证(无 ../ 路径穿越)
  • [ ] 输出目录限制在工作区内
  • [ ] 脚本在沙箱环境中执行
  • [ ] 错误信息已消毒处理(不暴露堆栈跟踪)
  • [ ] 依赖项已审计

前置条件


# Python dependencies
pip install -r requirements.txt

评估标准

成功指标

  • [ ] 成功执行主要功能
  • [ ] 输出符合质量标准
  • [ ] 妥善处理边界情况
  • [ ] 性能可接受

测试用例

  1. 基本功能:标准输入 → 预期输出
  2. 边界情况:无效输入 → 妥善的错误处理
  3. 性能:大数据集 → 可接受的处理时间

生命周期状态

  • 当前阶段:草稿
  • 下次审查日期:2026-03-06
  • 已知问题:无
  • 计划改进:
    • 性能优化
    • 增加功能支持

输出要求

每个最终响应在相关时应明确以下事项:

  • 目标或所需交付物
  • 使用的输入及引入的假设
  • 工作流程或决策路径
  • 核心结果、建议或产物
  • 约束、风险、注意事项或验证需求
  • 未解决事项及后续检查

错误处理

  • 如果缺少必需的输入,准确说明缺失的字段,只请求最少的补充信息。
  • 如果任务超出已记录的范围,应停止而不是猜测或悄悄扩大任务范围。
  • 如果 scripts/main.py 执行失败,报告失败点,总结仍能安全完成的部分,并提供人工回退方案。
  • 不要编造文件、引用、数据、搜索结果或执行结果。

输入验证

此技能接受符合 statistical-analysis-advisor 已记录用途的请求,且需包含足够的上下文以安全完成工作流程。

当请求超出范围、缺少关键输入或需要不受支持的假设时,不要继续执行工作流程。而应回复:

statistical-analysis-advisor 仅处理其文档中记录的工作流程。请提供缺失的必需输入,或切换到更合适的技能。

响应模板

对于非简单请求,使用以下固定结构:

  1. 目标
  2. 收到的输入
  3. 假设
  4. 工作流程
  5. 交付物
  6. 风险与限制
  7. 后续检查

如果请求较简单,可以压缩此结构,但仍应在假设和限制影响正确性时明确说明。