大家好,我是正在实战各种AI项目的程序员晚枫。
今天学习假设检验,这是用数据验证猜想的科学方法。
A/B测试显示新界面转化率更高,是真的有效还是偶然?假设检验帮你做出判断。
什么是假设检验?
核心思想
通过样本数据,判断某个假设是否成立。
基本步骤
- 提出假设:原假设H₀(通常是无效果)vs 备择假设H₁
- 选择检验方法:根据数据类型选择t检验、卡方检验等
- 计算p值:在原假设成立时,观察到当前结果的概率
- 做出决策:p < 0.05则拒绝原假设,认为有显著差异
关键概念
- p值:小于0.05通常认为"统计显著"
- 置信度:1 - p,如95%置信度
- 第一类错误:假阳性(实际没效果但认为有)
- 第二类错误:假阴性(实际有效果但没发现)
t检验:比较两组均值
独立样本t检验
比较两个独立组的均值是否有差异。
1 | from scipy import stats |
配对样本t检验
同一组对象前后对比。
1 | # 场景:培训前后的考试成绩 |
单样本t检验
与已知值比较。
1 | # 场景:今年平均分是否高于去年(去年平均75) |
卡方检验:分类变量关联性
卡方独立性检验
检验两个分类变量是否独立。
1 | from scipy.stats import chi2_contingency |
卡方拟合优度检验
检验观测分布是否符合期望分布。
1 | from scipy.stats import chisquare |
实战:完整的A/B测试分析
1 | import numpy as np |
性能对比:scipy vs 手动计算
1 | from scipy import stats |
进阶用法
常用检验速查表
| 场景 | 检验方法 | scipy函数 |
|---|---|---|
| 两组均值比较 | 独立样本t检验 | ttest_ind |
| 配对样本比较 | 配对t检验 | ttest_rel |
| 多组均值比较 | 方差分析(ANOVA) | f_oneway |
| 分类变量关联 | 卡方检验 | chi2_contingency |
| 正态性检验 | Shapiro-Wilk | shapiro |
| 非参数两组比较 | Mann-Whitney U | mannwhitneyu |
1 | # 独立样本t检验 |
避坑指南
❌ 坑1:p值误解
1 | # p值不是"原假设为真的概率"! |
❌ 坑2:多重比较问题
1 | # 做20次检验,每次α=0.05,至少一次假阳性概率 = 1-0.95^20 = 64%! |
实战案例:A/B测试分析
1 | import pandas as pd |
假设检验完整流程
1 | # 标准的假设检验流程 |
下节预告
下一课我们将学习数据分布分析,了解正态分布和QQ图。
💬 加入学习交流群
扫码加入Python学习交流群,和数千名同学一起进步:
👉 点击加入交流群
群里不定期分享:
- 数据分析实战案例
- Python学习资料
- 求职面试经验
- 行业最新动态
推荐:AI Python数据分析实战营
🎁 限时福利:送《利用Python进行数据分析》实体书
👉 点击了解详情
课程导航
上一篇: 描述性统计-用数字概括数据特征
下一篇: 数据分布分析-正态分布与QQ图
PS:假设检验是数据驱动决策的基础。记住:p < 0.05只是门槛,还要结合实际业务意义。
📚 推荐教材
主教材:《Excel+Python 飞速搞定数据分析与处理(图灵出品)》
💬 联系我
| 平台 | 账号/链接 |
|---|---|
| 微信 | 扫码加好友 |
| 微博 | @程序员晚枫 |
| 知乎 | @程序员晚枫 |
| 抖音 | @程序员晚枫 |
| 小红书 | @程序员晚枫 |
| B 站 | Python 自动化办公社区 |
主营业务:AI 编程培训、企业内训、技术咨询
