【统计检验】方差分析(ANOVA)
统计检验核心方差分析ANOVA原理公式Python可视化实战方差分析ANOVA是统计学中比较三组及以上均值差异的最核心方法本质是F检验的多组扩展广泛用于实验分析、医学科研、营销效果评估、机器学习特征选择。一、方差分析到底是什么一句话看懂当你要比较3组、4组甚至更多组数据的均值是否有显著差异时不能反复做t检验会增大错误率必须用方差分析。核心思想通过比较“组间波动”和“组内波动”的大小判断均值差异是否真实存在。二、最直观例子三种营销策略哪个效果好你在咖啡店测试三种方案A折扣B赠品C免费试喝你记录每日销量想知道三组销量均值是否有显著差异差异是策略导致的还是随机运气方差分析就是干这件事的。三、方差分析的两个关键概念1. 组内变异误差每组内部数据自己的波动比如同样用“折扣”每天销量不一样。这是随机误差。2. 组间变异处理效应不同组均值之间的差异。如果这部分远大于组内变异说明策略真的有效果。四、核心公式方差分解必须掌握总变异 组间变异 组内变异1. 平方和分解总平方和SST组间平方和SSB组内平方和SSES S T S S B S S E SST SSB SSESSTSSBSSE2. 均方消除样本量影响M S B S S B k − 1 组间均方 MSB \frac{SSB}{k-1} \quad组间均方MSBk−1SSB组间均方M S E S S E N − k 组内均方 MSE \frac{SSE}{N-k} \quad组内均方MSEN−kSSE组内均方k组数N总样本量3. F统计量方差分析核心F M S B M S E F \frac{MSB}{MSE}FMSEMSBF 显著大于 1 → 组间差异显著p 0.05 → 拒绝原假设认为至少有一组均值不同五、方差分析的3个适用条件正态性每组数据近似正态分布方差齐性各组方差大致相等独立性各组样本相互独立六、方差分析的两类最常用1. 单因素方差分析One-way ANOVA只研究一个因素比如只看“营销策略”对销量的影响。2. 双因素方差分析Two-way ANOVA研究两个因素还能看交互作用比如“营销策略 地区”对销量的共同影响。七、Python 完整实现可直接运行1. 生成模拟数据importnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib.pyplotaspltfromscipy.statsimportf_oneway# 固定随机种子np.random.seed(42)# 生成3组数据均值不同group_anp.random.normal(loc50,scale5,size30)group_bnp.random.normal(loc55,scale5,size30)group_cnp.random.normal(loc60,scale5,size30)# 整理成DataFramedatapd.DataFrame({value:np.concatenate([group_a,group_b,group_c]),group:[A]*30[B]*30[C]*30})2. 可视化1箱线图最直观plt.figure(figsize(10,5))sns.boxplot(xgroup,yvalue,datadata,paletteSet2)plt.title(三组数据分布对比箱线图,fontsize14)plt.grid(alpha0.3)plt.show()3. 可视化2均值±标准误图group_meandata.groupby(group)[value].mean()group_semdata.groupby(group)[value].sem()plt.figure(figsize(10,5))plt.bar(group_mean.index,group_mean,yerrgroup_sem,capsize5,color[skyblue,lightgreen,salmon])plt.title(三组均值与标准误,fontsize14)plt.ylabel(销量)plt.grid(alpha0.3,axisy)plt.show()4. 单因素方差分析计算# 方差分析F_stat,p_valuef_oneway(group_a,group_b,group_c)print(fF 统计量:{F_stat:.2f})print(fP 值:{p_value:.4f})ifp_value0.05:print(结论组间均值存在显著差异 ✅)else:print(结论组间均值无显著差异 ❌)5. 双因素方差分析含交互作用importstatsmodels.apiassmfromstatsmodels.formula.apiimportols# 增加地区因素data[region][North]*45[South]*45# 构建模型group region 交互项modelols(value ~ group region group:region,datadata).fit()anova_tablesm.stats.anova_lm(model,typ2)print( 双因素方差分析表 )print(anova_table)八、结果怎么看超清晰指南p 0.05组间差异显著F越大说明组间差异越明显显著后需要做事后检验如Tukey看具体哪两组不同九、方差分析的高频用途科研工作必考实验效果分析药物、策略、教学方法对比医学统计多种治疗方式差异机器学习特征选择分类特征对连续目标的影响A/B测试3组以上方案对比农业/工业实验多水平因素对比十、最简单总结背诵版方差分析 比较多组均值是否有差异原理 组间方差 / 组内方差 → F值看p值判断是否显著单因素一个因素双因素两个因素交互作用适用3组及以上数据比较
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2427991.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!