统计分析顾问
智能统计检验推荐引擎,帮助用户为其数据选择合适的统计方法。
使用场景
- 当任务需要根据数据特征推荐合适的统计方法(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
示例运行计划:
- 确认用户输入、输出路径以及任何必需的配置值。
- 如果脚本使用固定配置,编辑文件内的
CONFIG块或已记录的参数。 - 使用经过验证的输入运行
python scripts/main.py。 - 审阅生成的输出,并返回最终产物,同时说明所涉及的假设。
实现细节
相关细节参见上文的 ## Workflow。
- 执行模型:验证请求、选择打包的工作流、产出有边界的交付物。
- 输入控制:在运行任何脚本之前,确认源文件、范围限制、输出格式和验收标准。
- 主要实现入口:
scripts/main.py。 - 参考指导:
references/包含支持性的规则、提示或检查清单。 - 需要先明确的参数:输入路径、输出路径、范围筛选条件、阈值以及任何领域特定的约束。
- 输出规范:保持结果可复现,明确标注假设,避免未记录的副作用。
快速检查
使用此命令在深入执行前验证打包脚本入口能否被正确解析。
python -m py_compile scripts/main.py
可审计命令
使用这些具体命令进行验证。它们是自包含的,不使用占位符路径。
python -m py_compile scripts/main.py
python scripts/main.py
工作流程
- 在进行详细工作之前,先确认用户目标、所需输入以及不可协商的约束条件。
- 验证请求是否符合已记录的范围,如果任务需要不受支持的假设,则提前停止。
- 仅使用实际可用的输入,采用打包脚本路径或已记录的推理路径。
- 返回一个结构化结果,明确区分假设、交付物、风险和未解决事项。
- 如果执行失败或输入不完整,切换到回退路径,并准确说明是什么阻碍了任务的完全完成。
能力
-
统计检验选择
- 比较并推荐 T检验、ANOVA、卡方检验、Mann-Whitney、Kruskal-Wallis 等检验方法
- 综合考虑数据类型、分布、样本量和研究问题
- 提供检验选择的决策树逻辑
-
假设检验
- 正态性检验(Shapiro-Wilk、Kolmogorov-Smirnov)
- 方差齐性(Levene 检验、Bartlett 检验)
- 独立性验证
- 异常值检测指导
-
功效分析与样本量
- 效应量估计(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
评估标准
成功指标
- [ ] 成功执行主要功能
- [ ] 输出符合质量标准
- [ ] 妥善处理边界情况
- [ ] 性能可接受
测试用例
- 基本功能:标准输入 → 预期输出
- 边界情况:无效输入 → 妥善的错误处理
- 性能:大数据集 → 可接受的处理时间
生命周期状态
- 当前阶段:草稿
- 下次审查日期:2026-03-06
- 已知问题:无
- 计划改进:
- 性能优化
- 增加功能支持
输出要求
每个最终响应在相关时应明确以下事项:
- 目标或所需交付物
- 使用的输入及引入的假设
- 工作流程或决策路径
- 核心结果、建议或产物
- 约束、风险、注意事项或验证需求
- 未解决事项及后续检查
错误处理
- 如果缺少必需的输入,准确说明缺失的字段,只请求最少的补充信息。
- 如果任务超出已记录的范围,应停止而不是猜测或悄悄扩大任务范围。
- 如果
scripts/main.py执行失败,报告失败点,总结仍能安全完成的部分,并提供人工回退方案。 - 不要编造文件、引用、数据、搜索结果或执行结果。
输入验证
此技能接受符合 statistical-analysis-advisor 已记录用途的请求,且需包含足够的上下文以安全完成工作流程。
当请求超出范围、缺少关键输入或需要不受支持的假设时,不要继续执行工作流程。而应回复:
statistical-analysis-advisor仅处理其文档中记录的工作流程。请提供缺失的必需输入,或切换到更合适的技能。
响应模板
对于非简单请求,使用以下固定结构:
- 目标
- 收到的输入
- 假设
- 工作流程
- 交付物
- 风险与限制
- 后续检查
如果请求较简单,可以压缩此结构,但仍应在假设和限制影响正确性时明确说明。
Scan to join WeChat group