实验设计与数据处理(大数据分析B中也用到F分布,故总结一下,加深印象)第3课小结——实验的方差分析(one-way analysis of variance)

概述

  • 实验结果\(S\)受多个因素\(A_i\)影响,但影响的程度各不相同,如何通过实验数据来确定因素的影响程度呢?其函数关系为

\[S=f(A_1,A_2,\cdots,A_n)
\tag{1}
\]

  • 方差

标准差的平方,表征\(x_i\)与\(\bar{x}\)的偏离程度

  • 方差分析(ANalysis Of VAriance,简称ANOVA

    利用实验数据与均值的偏离程度来判断各因素对实验结果影响显著性程度的方法。方差分析实质上是研究自变量(因素)与因变量(实验结果)的相互关系

  • 指标(experimental index)

衡量或考核实验效果的参数 。

  • 因素(experimental factor)

影响实验指标的条件,可控因素

  • 水平

因素的不同状态或内容

单因素实验的方差分析

单因素实验方差分析基本问题

(1)目的:检验一个因素对实验结果的影响是否显著性

单因素实验方差分析基本步骤

1)计算平均值

组内平均值(同一水平的平均值)

\[\overline{x_i}=\frac{1}{n_i}\sum_{j=1}^{n_i}{x_{ij}}
\tag{2}
\]

总平均值

\[\overline {x_i}=\frac{1}{n}\sum_{i=1}^{r}\sum_{j=1}^{n_i}{x_{ij}}
\tag{3}
\]

2)计算离差平方和

  • 总离差平方和\(SS_T\)(sum of squares for total)

\[SS_T = \sum_{i=1}^{r}{\sum_{j=1}^{n_i}({x_{ij}-\overline{x}})^2}
\tag{4}
\]

表示了各实验值与总平均值的偏差的平方和
反映了实验结果之间存在的总差异
  • 组间离差平方和 \(SS_A\) (sum of square for factor A)

\[SS_A = \sum_{i=1}^{r}{\sum_{j=1}^{n_i}({\overline{x_{i}}-\overline{x}})^2}
=\sum_{i=1}^{r}n_i({\overline{x_{i}}-\overline{x}})^2
\tag{5}
\]

反映了各组内平均值之间的差异程度
由于因素A不同水平的不同作用造成的
  • 组内离差平方和$ SS_e $(sum of square for error)

\[SS_T = \sum_{i=1}^{r}{\sum_{j=1}^{n_i}({x_{ij}-\overline{x}_i})^2}
\tag{6}
\]

反映了在各水平内,各实验值之间的差异程度
由于随机误差的作用产生
  • 三种离差平方和之间关系:

\[SS_T = SS_A + SS_e
\tag{7}
\]

3)计算自由度(degree of freedom)

  • 总自由度(\(SS_T\)对应的自由度):\(df_T=n-1\)
  • 组间自由度(\(SS_A\)对应的自由度):\(df_A=r-1\)
  • 组内自由度(\(SS_e\)对就的自由度):\(df_e=n-r\)

三者关系:\(df_T=df_A+df_e\)

4)计算平均平方

  • 均方 = 离差平方和除以对应的自由度

\[MS_A = SS_A/df_A \quad \quad MS_e = SS_e / df_e
\]

式中,\(MA_A\)——组间均方,\(MS_e\)——组内均方/误差的均方

5)F检验

\[F_A = \frac{组间均方}{组内均方}=\frac{MS_A}{MS_e}
\tag{8}
\]

  • 服从自由度为\((df_A,df_e)\)的F分布(F distribution)

  • 对于给定的显著性水平\(\alpha\),从F分布表查得临界值\(F_{\alpha}(df_A,df_e)\)

  • 如果\(F_A > F_{\alpha}(df_A,df_e)\),则认为因素A对实验结果有显著影响,否则认为因素A对实验结果没有显著影响

6)方差分析表

差异源 \(SS\) \(df\) \(MS\) \(F\) 显著性
组间(因素A) \(SS_A\) \(r-1\) \(MS_A=SS_A/(r-1)\) \(MS_A/MS_e\)
组内(误差) \(SS_e\) \(n-r\) \(MS_e=SS_e/(n-r)\)
总和 \(SS_T\) \(n-1\)
  • 若\(F_A > F_{0.01}(df_A,df_e)\),称因素A对实验结果有非常显著的影响,用**号表示;
  • 若\(F_{0.05}(df_A,df_e)<F_A<F_{0.01}(df_A,df_e)\),则因素A对实验结果有显著的影响,用*号表示;
  • 若\(F_A < F_{0.05}(df_A,df_e)\),称因素A对实验结果的影响不显著

双因素实验的方差分析

  • 讨论两个因素对实验结果影响的显著性,以称二元方差分析

双因素无重复实验的方差分析

双因素无重复实验

\(B_1\) \(B_2\) \(\cdots\) \(B_s\)
\(A_1\) \(x_{11}\) \(x_{12}\) \(\cdots\) \(x_{1s}\)
\(A_2\) \(x_{21}\) \(x_{22}\) \(\cdots\) \(x_{2s}\)
\(\cdots\) \(\cdots\) \(\cdots\) \(\cdots\) \(\cdots\)
\(A_r\) \(x_{r1}\) \(x_{r2}\) \(\cdots\) \(x_{rs}\)

1)计算平均值

总平均:

\[\overline{x} = \frac{1}{rs}\sum_{i=1}^{r}{\sum_{j=1}^{s}x_{ij}}
\tag{9}
\]

\(A_i\)水平时:

\[\overline{x}_{i\cdot} = \frac{1}{s}\sum_{j=1}^{s}x_{ij}
\tag{10}
\]

\(B_j\)水平时:

\[\overline{x}_{{\cdot}j}= \frac{1}{r}\sum_{i=1}^{s}x_{ij}
\tag{11}
\]

2)计算离差平方和

  • 总离差平方和:

\[\overline{x} =\sum_{i=1}^{r}{\sum_{j=1}^{s}{(x_{ij}-\overline{x})^2}}
\tag{12}
\]

  • 因素A引起离差平方和:

\[\overline{x} =\sum_{i=1}^{r}{\sum_{j=1}^{s}{(x_{i{\cdot}}-\overline{x})^2}}=s\sum_{j=1}^{r}{(x_{i{\cdot}}-\overline{x})^2}
\tag{13}
\]

  • 因素B引起的离差平方和:

\[\overline{x} =\sum_{i=1}^{r}{\sum_{j=1}^{s}{(x_{{\cdot}j}-\overline{x})^2}}=r\sum_{j=1}^{s}{(x_{{\cdot}j}-\overline{x})^2}
\tag{14}
\]

  • 误差平方和:

\[\overline{x} =\sum_{i=1}^{r}{\sum_{j=1}^{s}{(x_{ij}-x_{i{\cdot}}-x_{{\cdot}j}-\overline{x})^2}}
\tag{15}
\]

3)计算自由度

\(SS_A\)的自由度 \(SS_B\)的自由度 \(SS_e\)的自由度 \(SS_T\)的自由度
\(df_A=r-1\) \(df_B=s-1\) \(df_e=(r-1)(s-f)\) \(df_T=n-1=rs-1\)

4)计算均方

A均方 B均方 e均方
\(MS_A=\dfrac{SS_A}{df_A}=\dfrac{SS_A}{r-1}\) \(MS_B=\dfrac{SS_B}{df_A}=\dfrac{SS_B}{s-1}\) \(MS_e=\dfrac{SS_e}{df_e}=\dfrac{SS_e}{(r-1)(s-1)}\)

5)F 检验

  • \(F_A\)服从自由度为\((df_A,df_e)\)的F分布:\(F_A=\dfrac{MS_A}{MS_e}\)
  • \(F_B\)服从自由度为\((df_B,df_e)\)的F分布:\(F_A=\dfrac{MS_B}{MS_e}\)
  • 对于给定的的显著性水平\(\alpha\),查F分布表:

\[F_{\alpha}(df_A,df_e) \quad \quad F_{\alpha}(df_B,df_e)
\]

  • 如果\(F_A > F_{\alpha}(df_A,df_e)\),则认为因素A对实验结果有显著影响,否则认为因素A对实验结果没有显著影响
  • 如果\(F_B > F_{\alpha}(df_B,df_e)​\),则认为因素A对实验结果有显著影响,否则认为因素A对实验结果没有显著影响

6)无重复实验双因素方差分析表

差异源 \(SS\) \(df\) \(MS\) \(F\) 显著性
因素A \(SS_A\) \(r-1\) \(MS_A=SS_A/(r-1)\) \(MS_A/MS_e\)
因素B \(SS_B\) \(s-1\) \(MS_B=SS_B/(s-1)\) \(MS_B/MS_e\)
误差 \(SS_e\) \((r-1)(s-1)\) \(MS_e=SS_e/((r-1)(s-1))\)
总和 \(SS_T\) \(rs-1\)

双因素重复实验基本问题

  • 交互作用——因素间的联全作用称为交互作用

  • 因素间没有联合作用——相互独立,独立效应

  • 因素间有联合作用——交互作用,交互效应

双因素重复实验方差分析基本步骤

1)计算平均值

  • 组合水平\((A_i,B_i)\)上的\(c\)次实验值的算术平均值

\[\overline{x}_{ij{\cdot}}=\frac{1}{c}\sum_{k=1}^{c}{x_{ijk}},i=1,2,\cdots,r;j=1,2,\cdots,s
\tag{16}
\]

  • \(A_i\)水平时所有实验值的算术平均值:

\[\overline{x}_{i\cdot\cdot} = \frac{1}{sc}\sum_{j=1}^{s}x_{ijk} = \frac{1}{s}\sum_{j=1}^{s}x_{ijk},i=1,2,\cdots,r
\tag{17}
\]

  • \(B_j\)水平时:

\[\overline{x}_{i\cdot\cdot} = \frac{1}{rc}\sum_{j=1}^{s}x_{ijk} = \frac{1}{r}\sum_{j=1}^{r}x_{ij\cdot},j=1,2,\cdots,s
\tag{18}
\]

  • 所有实验的总平均值:

\[\overline{x} = \frac{1}{rsc} \sum_{i=1}^{r}\sum_{j=1}^{s}\sum_{k=1}^{c}x_{ijk}
\tag{19}
\]

2)计算离差平方和

  • 总离差平方和:

\[SS_T=\frac{1}{rsc}\sum_{i=1}^{r}\sum_{j=1}^{s}\sum_{k=1}^{c}{(x_{ijk}-\overline{x})^2} = SS_A+SS_B+SS_{A\times{B}}+SS_e
\tag{20}
\]

  • \(SS_A\)为A引起的离差平方和:

\[SS_A = sc\sum_{i=1}^{r}{(\overline{x}_{i\cdot\cdot}-\overline{x})^2}
\]

  • \(SS_B\)为B引起的离差平方和:

\[SS_B = rc\sum_{j=1}^{s}{(\overline{x}_{\cdot{j}\cdot}-\overline{x})^2}
\]

  • \(SS_{A\times{B}}\)为\(A\times{B}\)引起的离差平方和:

\[SS_{A\times{B}} = c\sum_{i=1}^{r}\sum_{j=1}{s}{(\overline{x}_{ij\cdot}-\overline{x}_{i\cdot\cdot}-\overline{x}_{\cdot{j}\cdot}+\overline{x})^2}
\]

  • \(SS_e\)为误差平方和:

\[\overline{x} = \sum_{i=1}^{r}\sum_{j=1}^{s}\sum_{k=1}^{c}{(x_{ijk}-\overline{x}_{ij\cdot})^2}
\]

3)计算自由度

\(SS_A\)的自由度 \(SS_B\)的自由度 \(SS_{A\times{B}}\)的自由度 \(SS_e\)的自由度 \(SS_T\)的自由度
\(df_A=r-1\) \(df_B=s-1\) \(df_{A\times{B}}=(r-1)(n-1)\) \(df_e=rs(c-1)\) \(df_T=n-1=rsc-1\)

4)计算均方

A均方 B均方 \(A\times{B}\)均方 e均方
\(MS_A=\dfrac{SS_A}{df_A}=\dfrac{SS_A}{r-1}\) \(MS_B=\dfrac{SS_B}{df_A}=\dfrac{SS_B}{s-1}\) \(MS_{A\times{B}}=\dfrac{SS_{A\times{B}}}{(r-1)(s-1)}\) \(MS_e=\dfrac{SS_e}{df_e}=\dfrac{SS_e}{rs(c-1)}\)

5)F 检验

  • \(F_A\)服从自由度为\((df_A,df_e)\)的F分布:\(F_A=\dfrac{MS_A}{MS_e}\)
  • \(F_B\)服从自由度为\((df_B,df_e)\)的F分布:\(F_A=\dfrac{MS_B}{MS_e}\)
  • \(F_{A\times{B}}\)服从自由度为\((df_{A\times{B}},df_e)\)的F分布:\(F_A=\dfrac{MS_{A\times{B}}}{MS_e}\)
  • 对于给定的的显著性水平\(\alpha\),查F分布表:

\[F_{\alpha}(df_A,df_e) \quad \quad F_{\alpha}(df_B,df_e) \quad \quad F_{\alpha}(df_{A\times{B}},df_e)
\]

  • 如果\(F_A > F_{\alpha}(df_A,df_e)\),则认为因素A对实验结果有显著影响,否则认为因素A对实验结果没有显著影响
  • 如果\(F_B > F_{\alpha}(df_B,df_e)\),则认为因素B对实验结果有显著影响,否则认为因素B对实验结果没有显著影响
  • 如果\(F_{A\times{B}}> F_{\alpha}(df_{A\times{B}},df_e)\),则认为交互作用$$A\times{B}$$对实验结果有显著影响,否则认为因素\(A\times{B}\)对实验结果没有显著影响

6)重复实验双因素方差分析表

差异源 \(SS\) \(df\) \(MS\) \(F\) 显著性
因素A \(SS_A\) \(r-1\) \(MS_A=SS_A/(r-1)\) \(MS_A/MS_e\)
因素B \(SS_B\) \(s-1\) \(MS_B=SS_B/(s-1)\) \(MS_B/MS_e\)
交互作用 \(SS_{A\times{B}}\) \((r-1)(s-1)\) \(MS_{A\times{B}}=\dfrac{SS_{A\times{B}}}{(r-1)(s-1)}\) \(MS_{A\times{B}}/MS_e\)
误差 \(SS_e\) \(rs(c-1)\) \(MS_c=SS_e/(rs(c-1))\)
总和 \(SS_T\) \(rsc-1\)

R语言方差分析

R语言重复实验方差分析

例:下表中给出了某种化式产品在3种浓度、4种温度水平下得率的数据,试检验各因素及交互作用对产品得率的影响是否显著。

浓度/% 10℃ 24℃ 38℃ 52℃
2 14,11 11,11 13,9 10,12
4 9,7 10,8 7,11 6,10
6 5,11 13,14 12,13 14,10

我们令:A因素:浓度,B因素:温度,由题可得,重复次数\(c=2\)

可以分析出如下表:

\((c_1,c_2)\) \(B_1\) \(B_2\) \(B_3\) \(B_4\)
浓度/% 10℃ 24℃ 38℃ 52℃
\(A_1\) 2 14,11 11,11 13,9 10,12
\(A_2\) 4 9,7 10,8 7,11 6,10
\(A_3\) 6 5,11 13,14 12,13 14,10

接下来,我们在RStudio(如果RStudio没有安装的,网上有大量的教程)中录入我们的数据,代码如下

X <- c(14,9,5,11,10,13,13,7,12,10,6,14,10,7,11,11,8,14,9,11,13,12,10,10)
chemistryProduct<-data.frame(X,A=gl(3,1,24),B=gl(4,3,24),c=gl(12,1,24))
chemistryProduct.aov<-aov(X~A*B,data = chemistryProduct)
summary(chemistryProduct.aov)

说明:对上述代码的第1行和第2行简单说明一下。

第1行中,X数据的输入,是以列的方向输入,先输入第1次实验的数据,输入完成后再按第1次的顺序输入第2次实验数据。

第2行中,A=gl(3,1,24),第一个数3表示有3行,第二个数1表示行方向只增加1,第三个数24表示总共有24个数据。后面的同理。可以查看一下它的输出如下,不难发现其中的输入规律。

可以在RStudio中查看chemistryProduct的数据结构,多试一下,自行体会一下其中的A,B,c的规律。

> chemistryProduct
X A B c
1 14 1 1 1
2 9 2 1 2
3 5 3 1 3
4 11 1 2 4
5 10 2 2 5
6 13 3 2 6
7 13 1 3 7
8 7 2 3 8
9 12 3 3 9
10 10 1 4 10
11 6 2 4 11
12 14 3 4 12
13 10 1 1 1
14 7 2 1 2
15 11 3 1 3
16 11 1 2 4
17 8 2 2 5
18 14 3 2 6
19 9 1 3 7
20 11 2 3 8
21 13 3 3 9
22 12 1 4 10
23 10 2 4 11
24 10 3 4 12

可以看到如下输出结果:

            Df Sum Sq Mean Sq F value Pr(>F)
A 2 44.33 22.167 4.092 0.0442 *
B 3 11.50 3.833 0.708 0.5657
A:B 6 27.00 4.500 0.831 0.5684
Residuals 12 65.00 5.417
---
Signif. codes:
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

将实验结果写成上文所述的方差分析表,如下

差异源 \(df\) \(SS\) \(MS\) \(F\) 显著性
因素A 2 44.33 22.167 4.092 *
因素B 3 11.50 3.833 0.708
交互作用 6 27.00 4.500 0.831
误差 12 65.00 5.417
总和

由分析结果可知,因素A对产品得率有显著性影响。

实验的方差分析(R语言)的更多相关文章

  1. R语言- 实验报告 - 利用R语言脚本与Java相互调用

    一. 实训内容 利用R语言对Java项目程序进行调用,本实验包括利用R语言对java的.java文件进行编译和执行输出. 在Java中调用R语言程序.本实验通过eclipse编写Java程序的方式,调 ...

  2. R语言实战(五)方差分析与功效分析

    本文对应<R语言实战>第9章:方差分析:第10章:功效分析 ================================================================ ...

  3. R语言——实验5-聚类分析

    针对课件中的例子自己实现k-means算法 调用R语言自带kmeans()对给定数据集表示的文档进行聚类. 给定数据集: a)         数据代表的是文本信息. b)        第一行代表词 ...

  4. R语言——实验4-人工神经网络

    带包实现: rm(list=ls()) setwd("C:/Users/Administrator/Desktop/R语言与数据挖掘作业/实验4-人工神经网络") Data=rea ...

  5. 独立成分分析(ICA)的模拟实验(R语言)

    本笔记是ESL14.7节图14.42的模拟过程.第一部分将以ProDenICA法为例试图介绍ICA的整个计算过程:第二部分将比较ProDenICA.FastICA以及KernelICA这种方法,试图重 ...

  6. 如何在R语言中使用Logistic回归模型

    在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价.身高.GDP.学生成绩等,发现这些被预测的变量都属于连续型变量.然而有些情况下,被预测变量可能是二元变量,即成功或失败.流失或 ...

  7. R语言书籍的学习路线图

    现在对R感兴趣的人越来越多,很多人都想快速的掌握R语言,然而,由于目前大部分高校都没有开设R语言课程,这就导致很多人不知道如何着手学习R语言. 对于初学R语言的人,最常见的方式是:遇到不会的地方,就跑 ...

  8. 机器学习 1、R语言

    R语言 R是用于统计分析.绘图的语言和操作环境.R是属于GNU系统的一个自由.免费.源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具. 特点介绍 •主要用于统计分析.绘图.数据挖掘 •R内置 ...

  9. 数据分析与R语言

    数据结构 创建向量和矩阵 函数c(), length(), mode(), rbind(), cbind() 求平均值,和,连乘,最值,方差,标准差 函数mean(), sum(), min(), m ...

随机推荐

  1. 安卓开发_浅谈ListView(ArrayAdapter数组适配器)

    列表视图(ListView)以垂直的形式列出需要显示的列表项. 实现过程:新建适配器->添加数据源到适配器->视图加载适配器 在安卓中,有两种方法可以在屏幕中添加列表视图 1.直接用Lis ...

  2. 解决 web.xml is missing and <failOnMissingWebXml> is set to true 报错

    在学习maven模块化构建项目的时候遇到了如下报错信息: web.xml is missing and <failOnMissingWebXml> is set to true. 这时候需 ...

  3. LeeTCode题解之Remove Duplicates from Sorted List

    1.题目描述 2.问题分析 对于链表中的每一个元素,找到其后面和它不相等的第一个元素,然后指向该元素. 3.代码 ListNode* deleteDuplicates(ListNode* head) ...

  4. 如何在 Azure 中自定义 Windows 虚拟机

    若要以快速一致的方式配置虚拟机 (VM),通常需要某种形式的自动化. 自定义 Windows VM 的一种常用方法是使用适用于 Windows 的自定义脚本扩展. 本教程介绍如何执行下列操作: 使用自 ...

  5. sql 经典面试题及答案(选课表)

    SQL数据库面试题以及答案 Student(Sno,Sname,Sage,Ssex) 学生表       Sno:学号:Sname:学生姓名:Sage:学生年龄:Ssex:学生性别Course(Cno ...

  6. SQL Server下ADO.NET 怎么获取数据库SQL语句INSERT,UPDATE,DELETE了多少行数据

    ADO.NET 在发送SQL语句到SQL Server数据库后,怎么知道真正INSERT,UPDATE,DELETE了多少行数据呢? 使用SQL Server内置的全局变量@@ROWCOUNT即可,@ ...

  7. 乘风破浪:LeetCode真题_037_Sudoku Solver

    乘风破浪:LeetCode真题_037_Sudoku Solver 一.前言 这次我们对于上次的模型做一个扩展并求解. 二.Sudoku Solver 2.1 问题 2.2 分析与解决     这道题 ...

  8. October 16th 2017 Week 42nd Monday

    The more decisions that you are forced to make alone, the more you are aware of your freedom to choo ...

  9. 何为用户体验?附《用户体验的要素》PDF版下载

    一.什么是用户体验? 用户体验(User Experience,简称UE/UX)是用户在使用产品过程中建立起来的一种纯主观感受.但是对于一个界定明确的用户群体来讲,其用户体验的共性是能够经由良好设计实 ...

  10. p,np,npc,np难问题,确定图灵机与非确定图灵机

    本文转自豆瓣_燃烧的影子 图灵机与可计算性 图灵(1912~1954)出生于英国伦敦,19岁进入剑桥皇家学院研究量子力学和数理逻辑.1935年,图灵写出了"论高斯误差函数"的论文, ...