当前位置:   article > 正文

常用数据分析方法:方差分析及实现!

sm.stats.anova_lm

↑↑↑关注后"星标"Datawhale

每日干货 & 每月组队学习,不错过

 Datawhale干货 

作者:吴忠强,Datawhale优秀学习者,东北大学

一个复杂的事物,其中往往有许多因素互相制约又互相依存。方差分析是一种常用的数据分析方法,其目的是通过数据分析找出对该事物有显著影响的因素、各因素之间的交互作用及显著影响因素的最佳水平等。

本文介绍了方差分析的基础概念,详细讲解了单因素方差分析、双因素方差分析的原理,并且给出了它们的python实践代码。

本文大纲:

  • 关于方差分析的基础概念

  • 单因素方差分析原理及python实现

  • 双因素方差分析原理及python实现

一、关于方差分析的基础概念

在科学试验和生产实践中,影响某一事物的因素往往很多,比如化工生产中,像原料成分,剂量,反应温度,压力等等很多因素都会影响产品的质量,有些因素影响较大,有些影响较小, 为了使生产过程稳定, 保证优质高产, 就有必要找出对产品质量有显著影响的因素。

如何找到影响因素呢?就需要试验, 方差分析就是根据试验的结果进行分析, 鉴别各个有关因素对试验结果影响程度的有效方法。而根据涉及到的因素个数的不同, 又可以把方差分析分为单因素方差分析、多因素方差分析等。

下面我们先重点研究单因素方差分析, 通过一个例子,引出方差分析中的几个概念:

某保险公司想了解一下某险种在不同的地区是否有不同的索赔额。于是他们就搜集了四个不同地区一年的索赔额情况的记录如下表:

尝试判断一下, 地区这个因素是否对与索赔额产生了显著的影响?

这个问题就是单因素方差分析的问题, 具体解决方法后面会说, 首先先由这个例子弄清楚几个概念:

  1. 试验指标:方差分析中, 把考察的试验结果称为试验指标, 上面例子里面的“索赔额”。

  2. 因素:对试验指标产生影响的原因称为因素, 如上面的“地区”

  3. 水平:因素中各个不同状态, 比如上面我们有A1, A2, A3, A4四个状态, 四个水平。

这个类比的话, 就类似于y就是试验指标, 某个类别特征x就是因素, 类别特征x的不同取值就是水平。那么通过方差分析, 就可以得到某个类别特征对于y的一个影响程度了吧, 这会帮助分析某个类别特征的重要性!

二、单因素方差分析原理及python实现

所谓单因素方差分析, 就是仅考虑有一个因素 对试验指标的影响。假如因素 个水平, 分别在第 个水平下进行多次独立的观测, 所得到的试验指标数据如下:

注意这里的 不一定一样,上面的例子。各总体间相互独立,因此我们会有下面的模型:

简单解释一下上面这个在说啥: 就是第 个水平的第 个观测值,上面例子里面就是第 个地区第 次的索赔额。 表示第 个水平的理论均值, 后面的 表示的随机误差, 假设这个服从正态。第一个等式的意思就是某个观测值可以用某水平下的均值加一个误差来表示。

如果我们想判断某个因素 对于试验指标是否有显著影响, 很直观的就是我们看看因素 不同的水平下试验指标的理论均值是否有显著差异, 即理论均值是否完全相同, 如果有显著差异, 就说明不同的水平对试验指标影响很大, 即 对试验指标有显著影响。这也是方差分析的目标, 故把问题转换成了比较不同水平下试验指标的均值差异。显著在这里的意思是差异达到的某种程度。

基于上面的分析, 我们就可以把方差分析也看成一个检验假设的问题, 并有了原假设和备择假设:

  • :

  • : 不全相等

那么这个假设检验的问题怎么验证呢?我们得先分析一下, 为啥各个 会有差异?从上面的模型中, 我们可以看到 , 所以第一个可能就是 可能有差异, 比如 , 那么 很容易就大于 。另一个可能就是随机误差的存在。在这样的启发下,我们得找一个衡量全部 之间差异的量, 就是下面这个了:

这个叫做总偏差平方和,如果这个越大, 就表示 之间的差异就越大。这里的 表示总的观测值个数:

接下来,我们把这个平方和分解开为两部分:一部分是由于因素 引起的差异, 这个叫做效应平方和 , 另一部分是由于随机误差引起的差异,这个叫做误差平方和

关于 , 先固定一个 , 此时对应的所有观测值 , 他们之间的差异与每个水平的理论平均值就没有关系了, 而是取决于随机误差, 反应这些观察值差异程度的量

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/265663
推荐阅读
相关标签
  

闽ICP备14008679号