运筹优化学习23:单因素方差分析理论及Matlab代码实现

目录

1 理论基础

1.1 基础概念

1.1.1 示例

1.1.2 分析

1.2 理论公式

1.3  手算示例

2 F值、P值的获取与Matlab相关函数剖析

2.1 F值的邻近值

2.2 P值查表与计算

2.3 Matlab方差和标准差的说明

2.4 Matlab代码实现


今天有兴趣学习了一下单因素方差分析,在此做一个总结,希望对后来者有用

文章参考了以下博客文章:

举例分析方差分析ANOVA

1 理论基础

单因素方差分析是研究影响某个指标的单个因素在不同水平下的相关性的重要方法,下面是几个重要概念:

1.1 基础概念

1.1.1 示例

如我们要研究饮料颜色与饮料销售量的关系,那么:

  • 饮料销售量就是我们要观测的试验指标
  • 饮料颜色表示的是影响饮料销售量的因素
  • 因素的具体体现为多种水平,即橘黄色、粉色、绿色和无色透明
  • 每个水平要要进行多组观测,如在不同的超市进行

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第1张图片

从表中看到,20个数据各不相同,其原因可能有两个方面:

  • 一是销售地点不同的影响。即使是相同颜色的饮料,在不同超市的销售量也是不同的。但是,由于这五个超市地理位置相似、经营规模相仿,因此,可以把不同地点产品销售量的差异看成是随机因素的影响。
  • 二是饮料颜色不同的影响。即使在同一个超市里,不同颜色的饮料的销售量也是不同的。哪怕它们的营养成分、味道、价格、包装等方面的因素都相同,但销售量也不相同。这种不同,有可能是由于抽样的随机性造成的,也有可能是由于人们对不同颜色的偏爱造成的。

    于是,上述问题就归结为检验饮料颜色对销售量是否有影响的问题。我们可以令μ1、μ2、μ3、μ4分别为四种颜色饮料的平均销售量,检验它们是否相等。如果检验结果显示μ1、μ2、μ3、μ4不相等,则意味着不同颜色的饮料来自于不同的总体,表明饮料颜色对销售量有影响;反之,如果检验结果显示μ1、μ2、μ3、μ4之间不存在显著性差异,则意味着不同颜色的饮料来自于相同的总体,可认为饮料颜色对销售量没有影响。

1.1.2 分析

从方差分析的目的来看,是要检验各个水平的均值μ1、μ2、…、μm是否相等(m为水平个数),而实现这个目的的手段是通过方差的比较(即考察各观察数据的差异)。在变量的观察值之间存在着差异。

差异的产生来自于两个方面。一个方面是由因素中的不同水平造成的,称之为系统性差异(或系统性误差)。如:饮料的不同颜色带来不同的销售量。另一个方面是由于抽选样本的随机性而产生的差异,称之为随机性差异(或随机性误差)。如:相同颜色的饮料在不同的商场销售量也不同。

两个方面产生的差异可以用两个方差来计量。
    一个叫组间方差,即水平之间的方差,是衡量不同总体下各样本之间差异的方差。在组间方差里,既包括系统性误差,也包括随机性误差。如:在例1中,不同颜色的饮料在不同地点(超市)产品销售量之间的差异既有系统性误差(即由于人们对不同颜色的偏爱造成的差异),也有随机性误差(即由于抽样的随机性造成的差异)。不同颜色的饮料在不同地点(超市)产品销售量之间的方差即为组间方差。
    另一个叫组内方差,即水平内部的方差,是衡量同一个总体下样本数据的方差。在组内方差里仅包括随机性差异。如:在例1中,可以把同一个颜色的饮料在不同地点(超市)产品销售量之间的差异看成是随机因素的影响,同一个颜色的饮料在不同地点(超市)产品销售量之间的方差即为组内方差。


    如果不同的水平对结果没有影响,如: 饮料的不同颜色对销售量无影响,那么在水平之间的方差中,就仅仅有随机因素影响的差异,而没有系统性因素影响的差异。这样一来,组间方差与组内方差就应该非常接近,两个方差的比值就会接近于1;反之,如果饮料的不同颜色对销售量有影响,在组间方差中就不仅包括了随机性误差,也包括了系统性误差,这时,组间方差就会大于组内方差,两个方差的比值就会大于1。当这个比值大到某种程度时,我们就可以作出判断,说不同水平之间存在着显著性差异。一次,方差分析就是通过不同方差的比较,作出接受原假设或拒绝原假设的判断。如:例子中,判断饮料的不同颜色对销售量是否有显著性影响的问题,实际上也就是检验销售量的差异主要是由于什么原因所引起的。如果这种差异主要是系统性误差,我们就说饮料的不同颜色对销售量有显著性影响。

1.2 理论公式

参数 计算公式
水平数 n_{r}
组数 r
组内自由度 n_r-1
组间自由度 n_{r} * r - n_{r}
总体均值 totalMean = \sum_{i}^{r} \sum_{j}^{n_r} X_{ij}
水平均值 levelMean_{j}= \sum_{i}^{r} X_{ij}, j = {1,2,...,n_r}
整体离差平方和 SST = \sum_{i}^{r} \sum_{j}^{n_r} (X_{ij} - totalMean)^2
组间离差平方和 SSR = \sum_{j}^{n_r} r * (levelMean_{j} - totalMean)^2
组内离差平方和 SSE = \sum_{j}^{n_r} \sum_{i}^{r}(X_{ij} - levelMean_{j})^2
F值 F =\frac{SSR / (n_r-1)}{SSE/(r*n_r - n_r)}
P值

F(x) = \frac{\int_{-\infty }^{x} e^{-\frac{(x-\mu)^2}{2\sigma^2}}dx}{\sqrt{2\pi} \sigma}, -\infty < x < +\infty

此处均值方差为整体的均值和方差

上述参数根据公式即可十分方便的计算出,但是F值和P值需要查表

1.3  手算示例

第一步、建立假设

原假设 H0:μ1=μ2=μ3=μ4;即假设颜色对销售量没有影响。

备择假设H1: μ1、μ2、μ3、μ4不全相等;即假设四个配方颜色对销售量有影响。

第二步、计算水平均值

无色饮料销售量均值=136.6÷5=27.32箱

粉色饮料销售量均值=147.8÷5=29.56箱

桔黄色饮料销售量均值=132.2÷5=26.44箱

绿色饮料销售量均值=157.3÷5=31.46箱

第三步、计算全部观察值的总均值

各种颜色饮料销售量总的样本平均数=(136.6+147.8+132.2+157.3)÷20=28.695箱

第四步、计算离差平方和

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第2张图片

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第3张图片

第五步、构造统计量并计算检验统计量的样本值

第六步、确定检验规则、列出方差分析表、做出统计决策


P-值规则:

根据算得的检验统计量的样本值(F值)算出P-值=0.000466。由于P-值=0.000495<显著水平标准=0.05,所以拒绝H0,接受备择假设H1,即通过检验知,μj不全相等,说明饮料的颜色对销售量有显著影响。

F值规则:

根据给定的显著水平a=0.05,查表得临界值为3.24。因为F=10.486>3.24,检验统计量的样本值落入拒绝域,所以拒绝H0,接受备择假设H1,即通过检验知,μj不全相等,说明饮料的颜色对销售量有显著影响。

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第4张图片

p值大于显著水平,支持原假设,F值大于临界值(由显著水平得到),拒绝原假设。

2 F值、P值的获取与Matlab相关函数剖析

2.1 F值的邻近值

对于F值,我们可以查表的方式获得,查表是我们需要三个参数:显著性水平、组内自由度、组间自由度

对于刚开始的示例:

显著性水平:0.05

组内自由度:n_r-1=4-1=3

组间自由度:n_{r} * r - n_{r} = 4*5-4=16

查表可知:此时的P的邻接值为3.24

如果不想抄表,我们可以使用Matlab函数finv来计算P值,以下为函数说明:

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第5张图片

2.2 P值查表与计算

首先介绍正态分布的基础知识:

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第6张图片

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第7张图片

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第8张图片

然后介绍使用Matlab如何计算正态分布概率的计算公式:

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第9张图片

2.3 Matlab方差和标准差的说明

注意在计算式要使用到总体的方差,Matlab自带方差公式使用的样本方差公式:

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第10张图片

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第11张图片

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第12张图片

2.4 Matlab代码实现

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第13张图片

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第14张图片

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第15张图片

运行结果展示:

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第16张图片


欲获得完整源码,请关注如下公众号:

运筹优化学习23:单因素方差分析理论及Matlab代码实现_第17张图片

 

你可能感兴趣的:(运筹优化)