轻量统计分析
概述
把最常见的统计动作变成一句话命令:均值方差分布、两变量相关性。适合先快速摸数据再决定是否上重模型。
何时使用
- 快速看数据分布与基本统计
- 判断两列变量是否相关
- 报告前的探索性分析
快速使用
# 描述统计(含偏度/峰度;加 -j 输出 JSON)
python3 scripts/stats_helper.py describe 数据.csv -c 销售额
python3 scripts/stats_helper.py describe 数据.csv -j
# 两列相关(Pearson)
python3 scripts/stats_helper.py corr 数据.csv 广告费 销售额
# 正态性检验 / t 检验
python3 scripts/stats_helper.py normality 数据.csv -c 销售额
python3 scripts/stats_helper.py ttest 数据.csv 实验组 对照组
# 单因素方差分析(分组是否有显著差异)
python3 scripts/stats_helper.py anova 数据.csv 得分 组别
# 卡方独立性检验(两分类变量是否相关)
python3 scripts/stats_helper.py chi2 数据.csv 性别 是否购买
# 非参数两样本(不满足正态/方差齐时替代 t 检验)
python3 scripts/stats_helper.py mwu 数据.csv 实验组 对照组
# 配对非参数(替代配对 t 检验)
python3 scripts/stats_helper.py wilcoxon 数据.csv 前测 后测
# 线性回归(可多自变量)
python3 scripts/stats_helper.py linreg 数据.csv 销售额 广告费 客流量
# 信度系数 Cronbach α(量表内部一致性)
python3 scripts/stats_helper.py cronbach 数据.csv Q1 Q2 Q3 Q4
依赖安装
# 提示:脚本用相对路径 scripts/,请先 cd 到本技能目录再运行
python3 -m pip install pingouin pandas
常见错误 / 注意
- 依赖 scipy/numpy/pandas,安装体积适中但非重 ML 框架
- 已含 describe/corr/normality/ttest/anova,新增 chi2(卡方独立性)/mwu(非参数两样本)/wilcoxon(配对非参数)/linreg(线性回归)/cronbach(信度) 五类检验,JSON 输出便于程序化集成
- 中文列名需源文件编码为 UTF-8
实测验证(v0.1.0)
- 核心依赖:
pingouin - 安装体积:🔴 383.4 MB(依赖闭包实测,重量级)
- 环境要求:依赖 scipy / statsmodels / scikit-learn / pandas,安装体积最大(约 383MB),但纯 CPU 无 GPU 要求。
- 单元测试:
python3 -m unittest tests.test_...(须 cd 到本技能目录运行) - CLI 冒烟:已通过端到端实测
已验证行为
- ✅ describe:描述统计(含偏度/峰度)
- ✅ corr:相关性(含 p 值与置信区间)
- ✅ normality:Shapiro-Wilk 正态性检验
- ✅ ttest:t 检验(含 Cohen's d 效应量)
- ✅ anova:单因素方差分析(含 F 值与 p 值)
- ✅ chi2:卡方独立性检验(含期望/观测/统计量 DataFrame)
- ✅ mwu:非参数两样本 Mann-Whitney U 检验(正态/方差齐性不满足时的 t 检验替代)
- ✅ wilcoxon:配对样本 Wilcoxon 检验(配对 t 检验替代)
- ✅ linreg:线性回归(支持多自变量,自动加截距,返回系数/标准误/p 值/R²)
- ✅ cronbach:Cronbach α 信度系数(量表内部一致性)
- ✅ 所有子命令支持 -j/--json 输出
已知边界 / 坑
- ⚠️ pingouin 没有 describe(),描述统计由 pandas 提供,推断统计才用 pingouin
- ⚠️ 样本量 ≤4 时 power 估计返回 NaN,属正常告警
Scan to join WeChat group