讲讲方差分析
这一篇讲讲方差分析。
1.背景:
假如你们现在针对用户提出了三种提高客单价的策略A、B、C,现在想看一下这三种策略最后对提高客单价的效果有什么不同,那我们怎么才能知道这三种策略效果有什么不同?最简单的方法就是做一个实验,我们可以随机挑选一部分用户,然后把这些用户分成三组A、B、C组,A组用户使用A策略、B组用户使用B策略、C组用户使用C策略,等策略实施一段时间以后,我们来看一下这三组分别的客单价是什么水平?哪组平均客单价高,就说明哪组策略有效果。真的可以得出这的结论吗?是可以,但是不够严谨。
为什么说不够严谨呢?是因为我们用来做实验的用户是随机挑选的,有可能客单价高的那部分用户(比如高价值用户)本身就要比其他用户群体的客单价高,那为了避免这种可能是因为随机抽样造成的结果不一致问题,我们就需要去证明下,到底是不是因为随机挑选的原因,如果不是,我们就可以去比较各组的平均客单价,哪组客单价较高,就说明哪组策略更有效果。
我们的最终目的其实就是为了比较各组的平均客单价,但是在比较均值之前,我们需要先证明下各组之间的结果不同是因为策略的原因还是随机挑选的原因,我们把这个过程叫做方差分析。
2.三个假设:
方差分析有三个假设:
1.每组样本数据对应的总体应该服从正态分布;
2.每组样本数据对应的总体方差要相等,方差相等又叫方差齐性;
3.每组之间的值是相互独立的,就是A、B、C组的值不会相互影响。
正态检验主要有两种大的方法,一种是统计检验的方法:主要有基于峰度和偏度的SW检验、基于拟合度的KS、CVM、AD检验;另一种是用描述的方法:Q-Q图和P-P图、茎叶图,利用四分位数间距和标准差来判断。
方差齐性的主要判断方法有:方差比、Hartley检验、Levene检验、BF法。
由于篇幅问题,关于上面涉及到的方法以后专门来讲,有兴趣的同学可以先自行查阅。
3.方差分析流程
3.1建立假设
H0:各组的客单价均值相等;
H1:各组的客单价均值不相等或不全等。
检验水准为0.05。
3.2计算检验统计量F值
F值 = 组间方差/组内方差。我们主要是通过比较F值的大小来判断各组之间是否存在显著差异。
所谓的组间方差就是用来反映组与组之间的差异程度,组内方差就是用来反映各组内部数据的差异程度。
如果各组之间的客单价相等,即假设H0成立,也就意味着各组之间是没啥区别的,也就是组间方差会很小甚至为0,与之对应的方差很大的概率会很低,所以如果F值越大,表明在假设H0成立的前提下出现出现这一结果的概率越小,相当于我们前面提到的小概率事件,如果一旦小概率事件发生了,我们就有理由去拒绝原假设。
要来计算方差,我们需要先计算平方和。为了让大家能够更加理解,我们来举个例子来讲解各个指标怎么计算。
现在有两组数据:
第一组:80、85、96
第二组:110、125、130、145、160
第一组和第二组的总算术平均值为:
(80+85+96+110+125+130+145+160)/8 = 116.375。
第一组的算术平均值:(80+85+96)/3 = 87
第二组的算术平均值:
(110+125+130+145+160)/5 = 134
组间平方和(SSA):
= 第一组平均值与总体平均值的平方和×第一组样本数+第二组平均值与总体平均值的平方和×第二组样本数
= (87-116.375)^2×3 + (134-116.375)^2×5 = 4141.875
组内平方和(SSE):
= 第一组平方和 + 第二组平方和
=(80-87)^2+(85-87)^2+(96-87)^2
+(110-134)^2+(125-134)^2+(130-134)^2
+(145-134)^2+(160-134)^2
=134+1470=1604
总体平方和(SST):
=所有样本数据与总体平均值之间的平方和
=(80-116.375)^2+(85-116.375)^2+(96-116.375)^2
+(110-116.375)^2+(125-116.375)^2+(130-116.375)^2
+(145-116.375)^2+(160-116.375)^2
=5745.875
通过以上数据,我们可以看出 SST = SSA + SSE
。
总平方和会有一个问题,就是随着数据量越大,这个值会越大,所以我们引入另外一个概念:均方。均方=平方和/自由度
,其中自由度是样本数-1
。
组间均方(MSA) = SSA/自由度 = 4141.875/(2-1) = 4141.875
组内均方(MSE) = SSE/自由度 = 1604/(8-2) = 267.333
MSA又称为组间方差,MSE称为组内方差。
F = MSA/MSE = 4141.875/267.333 = 15.4933
3.3确定边界值并做出决策
此时我们就可以通过查F表,来获得置信度为95%时的F边界值:
如果F<F边界值表面各组数据之间没有显著差异,接受H0假设;
如果F≥F边界值表面各组数据之间存在明显差异,拒绝H0假设,接受H1假设。
如果我们证实了各组数据之间是存在明显差异的,这个时候就可以去拿各组的均值来进行比较,均值越大,可以说明策略效果越好。
F值表:
https://wenku.baidu.com/view/3165819af71fb7360b4c2e3f5727a5e9846a2743.html
一般最后我们都可以得到下面这么一个表:
误差源 | 自由度(df) | 平方和(SS) | 均方和(MS) | F值 | 显著性(P值) |
---|---|---|---|---|---|
组间(因素影响) | |||||
组内(误差影响) | |||||
总和 |
以上就是简单的方差分析的基本原理与流程,也是单因素方差分析(单因素,就是只有策略这一个维度),还有双因素方差分析,就是不止考虑策略这一个维度,还需要别的维度,比如时间、地域之类的,还有交叉作用的双因素分析,就是不止策略和地域分别的影响,这两者结合在一起可能会产生第三种影响。关于方差分析的更多内容,我们之后再来分享。