什么是方差分析?
假设检验是用于两组数据之间的差异分析,方差分析是用于多组数据之间是否有差异,但具体哪些组之间有差异方差分析是不知道的,需要用到假设检验进行两两分析
具体的来说,方差分析是利用不同组之间的 组间方差 与每组的 组内方差 进行比较,比较的结果越接近于1 说明每组之间的差异越小,这里面组内方差 看做是抽样的随机误差,组间误差看做是系统性误差与随机误差的总和,系统性误差也就是不同组之间的差异性描述。
为什么说“组间方差 与每组的 组内方差 进行比较,比较的结果越接近于1 说明每组之间的差异越小”呢?
我们回到方差的定义上来,方差反映了什么?方差代表了一组抽样样本数据的离散程度,方差越大离散程度越大,那么造成离散的原因又是什么呢?
可能是随机抽样本身固有的误差、可能是某一因素引起了真实的变化造成了差异变化(比如煎饼果子加了蛋,口味吃起来,比不加蛋的煎饼果子要好吃)
随机抽样本身的固有误差不可避免!
如果某一因素的确引起了真实的变化,那么这个系统性差异就一定会存在的,且变化越大差异越大,系统性误差也就越大
那么组内误差(SSE)和组间误差(SSA)怎么计算呢?
我们直接看书里面的例子:
现在要解决的问题是:不同行业是否对投诉数量有影响
单从这个问题从发,要判断行业对投诉数量的影响,那么就分析一下不同行业的投诉数量情况,我们拿书中给出的散点图来看:
图中的连线是同一行业中的投诉均值,从这个图上我们可以直观的看到行业对投诉数量是有影响的,因为明显不同行业的均值不同,在抽样的情况下,均值可以很大程度的反应真实情况,其实问题到这里已经有结论了。但是是否有个指标来直接说明这个事情呢?这个指标又该如何计算呢?这就是方差分析要做的事情。基于统计学理论来给结论提供一个必要的证明
回到最初的问题上,组内误差、组间误差是怎么计算的呢?
首先说组内误差(SSE),组内误差在上面的举例中,比如零售业的几个抽样值为一组,组内误差就是计算组的每个样本值与组内样本均值之差的平方,然后将所有组的差方进行求和,它反映了组内抽样的离散状况(这不就是少了分母的方差吗)。
,
是每组样本的平均值
组间误差(SSA),组间误差在上面的举例中,不同组之间的均值与总体抽样样本均值之差的平方,然后求和,它反映了组内抽样的离散状况,以及不同组之间的系统性差异,在例子中也就是行业因素造成的差异
,是总体抽样样本的平均值,是对应组的组内样本数量
好了现在我们有了组件和组内误差,是不是可以直接进行比较了呢?
答案是不可以,因为我们计算的误差包含了样本数量(观测值的多少)的影响,进行比较之前,需要消除样本数量的影响,采用的方式就是误差除以对应的自由度(),除了之后就是方差了.....终于知道为啥被叫做方差分析了
组间误差自由度:例子中有4组,自由度为4-1=3(共计有4个组,只需要三个组以及均值便可知道4个组的整体信息)
组内误差自由度:例子中总样本数量是23,分了4个组,自由度为23-4=19(分了4个组,假设每组数量为n,那么每组只需要n-1样本即可获取样本的全部信息,所以这里组内误差的自由度是23-4)
MSA叫做组间均方或者组间方差,MSE叫做组内均方或者组内方差。
有了MSA和MSE,我们直接进行比值,可以得到:
,计算的结果远大于1,说明了系统性误差真实存在,行业的确是对投诉数量有影响。
好了,有了结论后,我们进一步分析
仔细观察MSA和MSE的表达式,他是符合F分布的,具体可以说它符合分子自由度为k-1,分母自由度为n-k的F分布,自然又可以采用假设检验的思路,利用F分布的特征进行判断了。
具体的来说包括提出假设、构造统计量、接收或驳回原假设
本例子中
提出假设:提出假设的原则为假设的设置以较为少量的信息、明确的信息为假设。
比如假设为:假设行业对投诉有影响。
有影响?,是正影响还是负影响呢,这个假设的设置隐含内容较多,我们一般不这么设置,我们设置的假设条件是,行业对投诉没有影响,具体的来说就是不同行业的投诉数量均值都相同
构造统计量:F分布、置信水平
接收或驳回原假设:
附带python 方差分析代码: