在进行数据分析时,我们往往会遇到要对某个变量的影响因素进行分析的情况,而影响一事物的因素往往是很多的。比如在化工生产中,有温度、压力、剂量、反应时间等因素。每一因素的改变都有可能影响产品的数量和质量。我们往往要找出对产品质量有显著影响的那些因素。而方差分析就是根据试验的结果进行分析,鉴别各个有关因素对试验结果影响的有效方法,本文主要讲述如何用python中的两种方法来进行方差分析。
首先,还是先简介一下方差分析。
方差分析(Analysis of Variance,ANOVA)又称“变异数分析”或“F检验”,是由罗纳德·费舍尔(Ronald Aylmer Fisher)发明的,用于两个及两个以上样本均数差别的显著性检验,其原理是认为不同处理组的均数间的差别基本来源有两个:
(1) 实验条件,即不同的处理造成的差异,称为组间差异。用变量在各组的均值与总均值之偏差平方和的总和表示,记作SSa,组间自由度dfa。
(2) 随机误差,如测量误差造成的差异或个体间的差异,称为组内差异,用变量在各组的均值与该组内变量值之偏差平方和的总和表示, 记作SSe,组内自由度dfe。
总偏差平方和 SSt = SSa + SSe。
组内SSe、组间SSa除以各自的自由度(组内dfe =n-m,组间dfa=m-1,其中n为样本总数,m为组数),得到其均方MSe和MSa,一种情况是处理没有作用,即各组样本均来自同一总体,MSa/MSe≈1。另一种情况是处理确实有作用,组间均方是由于误差与不同处理共同导致的结果,即各样本来自不同总体。那么,MSa>>MSe(远大于)。
MSa/MSe比值构成F分布。用F值与其临界值比较,推断各样本是否来自相同的总体。
然后,我们再说明一下数据集。
数据集非常简单,只有5组数值,每组数值有4个,共20个数字。分别命名为group1、group2