admin 2025-05-29
169
或许有点了解的人会认为总方差=组内方差+组间方差,很多教材有可能也是这样表达的:




我不知道大家有没有拿EXCEL验证过上面的等式是否成立,我可以告诉你上面的等式是不成立的。
我们说的总体变异等于组内变异和组间变异之和,并不是方差,也不是标准差,而是平方和。
即:总体平方和=组内平方和+组间平方和
SST=SSW+SSB

EXCEL验证
接下来我们用Excel和Python实现并验证SST=SSW+SSB


从上面的excel手动计算,我们很清楚的了解到总体平方和=组内平方和+组间平方和,并且和EXCEL数据分析工具对比结果一致。

Python验证
=(data,columns=['col_1','col_2','col_3','col_4','col_5'])Convert`column`tocategorical,ensuringcorrectorderdf_long['column']=(df_long['column'],categories=['col_1','col_2','col_3','col_4','col_5'],ordered=True)
接下来开始手工计算
2.计算总体均值overall_mean=df_long['value'].mean()4.计算组间平方和(SSW)ssw=sum((df_long['value']-_numeric(df_long['column'].map(group_means)))**2)6.计算组内自由度df_within=len(df_long)-len(group_means)8.计算P值p_value=1-(f_statistic,df_between,df_within)#9.组合结果和打印manual_anova_results={"F_statistic":f_statistic,"p_value":p_value,"df":(df_between,df_within)}手动python计算和用statsmodel的anova计算结果对比

两者完全一致。
通过上面我们知道:
总方差不等于组内方差+组间方差
总体平方和=组内平方和+组间平方和
上述的“总体平方和=组内平方和+组间平方和”是在方差分析中使用得最多的。我们简易SPC也提供方差分析功能,并且整合到SPC分析报告中。

方差分析(AnalysisofVariance,简称ANOVA),又称“变异数分析”,是发明的,用于两个及两个以上样本均数差别的显著性检验。由于各种因素的影响,研究所得的数据呈现波动状。造成波动的原因可分成两类,一是不可控的随机因素,另一是研究中施加的对结果形成影响的可控因素。
本文举例的是one-way方差分析,也就是单因素方差分析,衡量因素的几个水平之间是否存在差异的。只要P值大于0.05,我们就认为因素的水平之间不存在差异。
本文的EXCEL文件和python文件,请回复“方差分析”下载。