核心用法
pywayne-statistics 是一款面向假设检验与数据分析的综合型统计库,封装了37种以上经典统计检验方法,覆盖五大核心模块:
1. NormalityTests(正态性检验):Shapiro-Wilk、Anderson-Darling、Jarque-Bera、K-S检验等8种方法,适配不同样本量场景
2. LocationTests(位置检验):单/双样本t检验、配对t检验、单因素ANOVA、Mann-Whitney U、Kruskal-Wallis等7种参数与非参数方法
3. CorrelationTests(相关检验):Pearson、Spearman、Kendall tau三种相关系数,以及卡方独立性、Fisher精确检验、McNemar检验
4. TimeSeriesTests(时序检验):ADF、KPSS单位根检验,Ljung-Box自相关检验,Granger因果检验,Engle-Granger协整检验等8种方法
5. ModelDiagnostics(模型诊断):Breusch-Pagan异方差检验、Durbin-Watson自相关检验、VIF多重共线性诊断等
所有方法均返回统一的TestResult对象,包含p_value、statistic、reject_null、confidence_interval、effect_size等标准化字段,大幅降低多方法协作时的接口适配成本。
显著优点
- 接口高度统一:无论调用何种检验,返回结构完全一致,便于批量处理与结果聚合
- 场景覆盖全面:从基础A/B测试到高阶时序分析、回归诊断,满足数据科学全链路需求
- 智能方法选择:文档内置详细的样本量-方法对照表(如n<30推荐Shapiro-Wilk),降低误用风险
- 即用型工作流:提供数据质量检查、A/B测试完整流程、回归诊断等可直接复用的代码模板
- 与NumPy生态无缝集成:原生支持
np.ndarray与Python列表输入
潜在缺点与局限性
- 依赖外部库:多重检验校正(如FDR)需额外调用
statsmodels,未内建实现 - 缺乏可视化:仅输出数值结果,无内置诊断图(如QQ图、残差图)
- 文档深度有限:部分高级检验(如ARCH效应检验)的参数调优说明较简略
- 无并行计算支持:大规模蒙特卡洛模拟或批量检验时性能受限
- 维护状态不明:作为个人项目(pywayne命名空间),长期更新与社区支持存疑
适合人群
- 数据分析师与商业分析师:快速完成A/B测试、数据质量报告
- 计量经济学研究者:时序检验与协整分析工具集
- 机器学习工程师:回归模型假设验证与诊断
- 统计学学习者:通过统一接口对比理解不同检验方法
常规风险
- 多重检验问题:文档已提醒需使用
statsmodels.stats.multitest进行p值校正,但未强制集成,用户易忽略导致假阳性膨胀 - 样本量敏感性:部分检验(如Shapiro-Wilk上限n≤5000)存在明确限制,超限时未自动降级可能引发错误
- 效应量报告:虽返回
effect_size字段,但未明确说明各方法对应的效应量指标(如Cohen's d、eta-squared),解读需谨慎 - 非参数检验效能:未提供功效分析(power analysis)工具,小样本下非参数检验可能效能不足
- 开源供应链风险:个人开发者维护,PyPI发布历史与代码审计报告未公开,生产环境建议源码审查后使用