Two Way ANOVA:修订间差异

来自决策链云智库
无编辑摘要
无编辑摘要
 
(未显示1个用户的18个中间版本)
第5行: 第5行:
|simpleicon=Two Way ANOVA_Pure.svg
|simpleicon=Two Way ANOVA_Pure.svg
|developer=Dev.Team-DPS
|developer=Dev.Team-DPS
|productionstate=PC可用
|productionstate={{图标文件|Win}} / {{图标文件|W10}} Win10及以上可用
|productionstatedesc=在[[DecisionLinnc | V1.0]]部署
|productionstatedesc=在[[Update:DecisionLinnc 1.0.0.8|V1.0]]部署
|nodeenglishname=[[Has english name::Two Way ANOVA]]
|nodeenglishname=Two Way ANOVA
|abbreviation=[[Has abbreviation::ANOVAT]]
|abbreviation=ANOVAT
|funcmaincategory=数据分析
|funcmaincategory=数据分析
|funcsubcategory=[[DataAGM Lv1 Cat::方差分析]]
|funcsubcategory=[[DataAGM Lv1 Cat::方差分析]]
第19行: 第19行:
|nodeifswitchsupport=否
|nodeifswitchsupport=否
|nodeavailableplotlist=ScatterCloudsAndRainPlot;twoanovagraphPlot;SpittingPointLinePlot
|nodeavailableplotlist=ScatterCloudsAndRainPlot;twoanovagraphPlot;SpittingPointLinePlot
|nodeavailabletablelist=Table_For_Downstream
|nodeavailabletablelist=df;MSE;F-Value;PES;P-Value
|nodeconfiguration=VariableList
|nodeconfiguration=VariableList
|nodeinputports=WorkFlow-Control ;Transfer-Table ■
|nodeinputports=WorkFlow-Control ➤;Transfer-Variable ◆;Transfer-Table ■
|nodeoutputports=WorkFlow-Control ;Transfer-Table ■
|nodeoutputports=WorkFlow-Control ;Transfer-Table ■
|statsapewikiurl=https://wiki.statsape.com/Two_Way_ANOVA
|statsapewikiurl=https://wiki.statsape.com/Two_Way_ANOVA
|previousnode=[[One_Way_ANOVA]]
|previousnode=[[One_Way_ANOVA]]
第28行: 第28行:
}}
}}


在[[统计学]]中,'''双因素方差分析'''('''ANOVA''')是[[单因素方差分析|单因素ANOVA]]的扩展,它检验两个不同的[[分类变量|分类]] [[自变量]]对一个[[连续函数|连续]] [[因变量]]的影响。双因素ANOVA不仅旨在评估每个自变量的[[主效应]],还要检查它们之间是否存在任何[[交互作用(统计)|交互作用]]。
=='''历史'''==
1925年,[[罗纳德·费希尔]]在其著名书籍''[[研究工作者的统计方法]]''(第7和第8章)中提到了双因素ANOVA。1934年,[[弗兰克·耶茨]]发表了非平衡情况下的程序。<ref>{{cite journal |last=Yates |first=Frank |date=March 1934 |title=不同类别中数量不等的多重分类分析 |jstor=2278459 |journal=美国统计协会杂志 |volume=29 |issue=185 |pages=51–66 |doi=10.1080/01621459.1934.10502686}}</ref> 从那时起,产生了大量的文献。该主题于1993年由[[安养福士]]回顾。<ref>{{cite journal |last=Fujikoshi |first=Yasunori |date=1993 |title=数据不平衡下的双向ANOVA模型 |journal=离散数学 |volume=116 |issue=1 |pages=315–334 |doi=10.1016/0012-365X(93)90410-U |doi-access=free }}</ref> 2005年,[[安德鲁·格尔曼]]提出了ANOVA的不同方法视角,将其视为一个[[多层次模型]]。<ref>{{cite journal |last=Gelman |first=Andrew |date=February 2005 |title=方差分析?为什么它比以往任何时候都更重要 |journal=统计学年鉴 |volume=33 |issue=1 |pages=1–53 | arxiv=math/0504499|doi=10.1214/009053604000001048 |s2cid=125025956 }}</ref>
=='''数据集'''==
让我们想象一个[[数据集]],其中一个因变量可能受到两个潜在变异源的'''因素'''影响。第一个因素有[math]I[/math]个水平{{nowrap|([math]i \in \{1,\ldots,I\}[/math])}},第二个有[math]J[/math]个水平{{nowrap|([math]j \in \{1,\ldots,J\}[/math])}}。每个组合[math](i,j)[/math]定义了一个'''处理''',共有[math]I \times J[/math]种处理。我们用[math]n_{ij}[/math]表示处理[math](i,j)[/math]的'''重复次数''',并让[math]k[/math]是此处理中重复的索引{{nowrap|([math]k \in \{1,\ldots,n_{ij}\}[/math])}}。
从这些数据中,我们可以构建一个[[列联表]],其中[math]n_{i+} = \sum_{j=1}^J n_{ij}[/math]和[math]n_{+j} = \sum_{i=1}^I n_{ij}[/math],总重复次数等于[math]n = \sum_{i,j} n_{ij} = \sum_i n_{i+} = \sum_j n_{+j}[/math]。
如果每种处理的重复次数相同,即[math]K[/math],则[[实验设计]]被认为是'''平衡的'''。在这种情况下,设计也被认为是'''正交的''',允许完全区分两个因素的效应。因此,我们可以写[math]\forall i,j \; n_{ij} = K[/math],和[math]\forall i,j \; n_{ij} = \frac{n_{i+} \cdot n_{+j}}{n}[/math]。
=='''模型'''==
通过观察所有[math]n[/math]个数据点之间的变异,例如通过[[直方图]],"[[概率论|概率]]可用于描述此类变异"。<ref>{{cite journal |last=Kass |first=Robert E |date=1 February 2011 |title=统计推断:大局观 |journal=[[统计科学]] |volume=26 |issue=1 |pages=1–9 |doi=10.1214/10-sts337|pmid=21841892 |pmc=3153074 |arxiv=1106.2895 }}</ref> 因此,让我们用[math]Y_{ijk}[/math]表示观测值[math]y_{ijk}[/math]是处理[math](i,j)[/math]的第[math]k[/math]次测量的[[随机变量]]。'''双因素ANOVA'''将所有这些变量建模为围绕平均值[math]\mu_{ij}[/math],具有恒定方差[math]\sigma^2[/math]([[同方差性]])[[独立(概率论)|独立地]]和[[正态分布|正态地]]变化:
[math]Y_{ijk} \, | \, \mu_{ij}, \sigma^2 \; \overset{\mathrm{i.i.d.}}{\sim} \; \mathcal{N}(\mu_{ij}, \sigma^2)[/math]。
具体来说,响应变量的平均值被建模为解释变量[[线性组合]]:
[math]\mu_{ij} = \mu + \alpha_i + \beta_j + \gamma_{ij}[/math],
其中[math]\mu[/math]是总平均值,[math]\alpha_i[/math]是来自第一个因素的水平[math]i [/math]的加性主效应(列联表中的''i''行),[math]\beta_j[/math]是来自第二个因素的水平[math]j[/math]的加性主效应(列联表中的''j''列),并且[math]\gamma_{ij}[/math]是处理[math](i,j)[/math]的非加性交互作用效应,用于来自两个因素的样本[math]k=1,...,n_{ij}[/math](列联表中行''i''和列''j''的单元)。
描述双因素ANOVA的另一种等效方式是提到,除了因素解释的变异之外,还有一些[[统计噪声]]。通过引入每个数据点的一个随机变量[math]\epsilon_{ijk}[/math],称为[[统计学中的错误和残差|误差]],来处理这部分未解释的变异。这[math]n[/math]个随机变量被视为偏离均值,并且假定它们是独立的且正态分布的:
[math]Y_{ijk} = \mu_{ij} + \epsilon_{ijk} \text{ 与 } \epsilon_{ijk} \overset{\mathrm{i.i.d.}}{\sim} \mathcal{N}(0, \sigma^2)[/math]。
=='''假设'''==
根据[[安德鲁·格尔曼|Gelman]]和[[詹妮弗·希尔|Hill]]的说法,ANOVA以及更一般地,[[广义线性模型]]的假设,按重要性递减排序如下:<ref>{{cite book |last1=Gelman |first1=Andrew |last2=Hill |first2=Jennifer|author2-link=詹妮弗·希尔 |date=18 December 2006 |title= 使用回归和多层次/分层模型的数据分析 |url=http://www.cambridge.org/us/academic/subjects/statistics-probability/statistical-theory-and-methods/data-analysis-using-regression-and-multilevelhierarchical-models |publisher=[[剑桥大学出版社]] |pages=45–46 |isbn=978-0521867061 }}</ref>
1. 数据点与正在研究的科学问题相关;
2. 响应变量的平均值受因素的加性(如果没有交互项)和线性影响;
3. 误差是独立的;
4. 误差具有相同的方差;
5. 误差呈正态分布。
=='''参数估计'''==
为了确保参数的[[可识别性]],我们可以添加以下“和为零”的约束:
[math]\sum_i \alpha_i = \sum_j \beta_j = \sum_i \gamma_{ij} =\sum_j \gamma_{ij}= 0[/math]
=='''假设检验'''==
在传统方法中,通过计算[[Partition of sums of squares|平方和]]来实现[[Hypothesis testing|检验零假设]](即因素无效)的[[Statistical significance|显著性]]。
<!-- 首先定义处理<math>(i,j)</math>的均值:
[math]y_{ij.} = \frac{1}{n_{ij}} \sum_{k=1}^{n_{ij}} y_{ijk}[/math]
TODO: 需要添加其他均值,然后定义各种平方和,F检验等
-->
因为可能存在的[[degrees of freedom (statistics)|自由度]]数量庞大,测试交互项的显著性可能会很困难。<ref>{{cite journal |author=Yi-An Ko|date=September 2013 |title=Novel Likelihood Ratio Tests for Screening Gene-Gene and Gene-Environment Interactions with Unbalanced Repeated-Measures Data |journal=Genetic Epidemiology |volume=37 |issue=6 |pages=581–591 |doi=10.1002/gepi.21744 |pmid=23798480 |display-authors=etal|pmc=4009698}}</ref>
=='''示例'''==
以下假设性示例展示了15株植物在两种不同环境变量和三种不同肥料条件下的产量。
{| class="wikitable"
|-
!
! 额外CO<sub>2</sub>
! 额外湿度
|-
| 无肥料
| 7, 2, 1
| 7, 6
|-
| 硝酸盐
| 11, 6
| 10, 7, 3
|-
| 磷酸盐
| 5, 3, 4
| 11, 4
|}
计算五个平方和:
{| class="wikitable"
|-
! 因子
! 计算
! 和
! [math]\sigma^2[/math]
|-
| 个体
| [math]7^2+2^2+1^2 + 7^2+6^2 + 11^2+6^2 + 10^2+7^2+3^2 + 5^2+3^2+4^2 + 11^2+4^2[/math]
| 641
| 15
|-
| 肥料&times;环境
| [math]\frac{(7+2+1)^2}{3} + \frac{(7+6)^2}{2} + \frac{(11+6)^2}{2} + \frac{(10+7+3)^2}{3} + \frac{(5+3+4)^2}{3} + \frac{(11+4)^2}{2}[/math]
| 556.1667
| 6
|-
| 肥料
| [math]\frac{(7+2+1+7+6)^2}{5} + \frac{(11+6+10+7+3)^2}{5} + \frac{(5+3+4+11+4)^2}{5}[/math]
| 525.4
| 3
|-
| 环境
| [math]\frac{(7+2+1+11+6+5+3+4)^2}{8} + \frac{(7+6+10+7+3+11+4)^2}{7} [/math]
| 519.2679
| 2
|-
| 综合
| [math]\frac{(7+2+1+11+6+5+3+4+7+6+10+7+3+11+4)^2}{15} [/math]
| 504.6
| 1
|}
最终,可以计算出[[analysis of variance]]所需的平方差和。
{| class="wikitable"
|-
! 因子
! 和
! [math]\sigma^2[/math]
! 总计
! 环境
! 肥料
! 肥料&times;环境
! 残差
|-
| 个体
| 641
| 15
| 1
|
|
|
| 1
|-
| 肥料&times;环境
| 556.1667
| 6
|
|
|
| 1
| &minus;1
|-
| 肥料
| 525.4
| 3
|
|
| 1
| &minus;1
|
|-
| 环境
| 519.2679
| 2
|
| 1
|
| &minus;1
|
|-
| 综合
| 504.6
| 1
| &minus;1
| &minus;1
| &minus;1
| 1
|
|-
|
|
|
|
|
|
|
|
|-
| 平方差
|
|
| 136.4
| 14.668
| 20.8
| 16.099
| 84.833
|-
| 自由度
|
|
| 14
| 1
| 2
| 2
| 9
|}
== '''节点使用的R语言示例代码''' ==
=== Two Way ANOVA ===
<syntaxhighlight lang="R">
aov_ez(
  id,
  dv,
  data,
  between = NULL,
  within = NULL,
  covariate = NULL,
  observed = NULL,
  type = afex_options("type"),
  factorize = afex_options("factorize"),
  return = afex_options("return_aov")
)
</syntaxhighlight>
方法参见'''R package: afex'''的官方文档
== '''节点使用指南''' ==
* 用于研究两个不同因素对一个连续型因变量的影响,并且可以用来检验两个因素的交互作用
=== 方法选择 ===
* 无方法选择
=== 参数配置 ===
* 因变量:选择正态分布连续型数值变量。如果选择多个,每个变量做一次ANOVA
* 分组自变量1:选择一个分类分组变量,第一个因素
* 分组自变量2:选择一个分类分组变量,第二个因素
* 因变量,分组自变量1和分组自变量2要规避复用
* 此算法兼容空值
=== 注意事项 ===
* 每组的数据都应接近正态分布
* 不同组合的方差应该大致相等
* 数据应该是独立的,即一个观测结果不应该影响另一个
== '''引用''' ==
{{Reflist}}


{{Navplate AlgorithmNodeList}}
{{Navplate AlgorithmNodeList}}


[[Category:方差分析]]
[[Category:方差分析]]

2024年2月8日 (四) 15:52的最新版本

Two Way ANOVA.png
节点状态
Windows / Windows 10 Win10及以上可用
V1.0部署
Two_Way_ANOVATwo Way ANOVA.svg
节点开发者决策链算法研发部 (Dev.Team-DPS)
节点英文名Two Way ANOVA
功能主类别数据分析
英文缩写ANOVAT
功能亚类别方差分析
节点类型数据挖掘
开发语言R
节点简介

Two-Way-ANOVA也称为双因素方差分析, 用来分析两个因素的不同水平对结果是否有显著影响,以及两个因素之间是否存在交互效应。分析前的假设是随机采样, 样本独立, 符合或接近正态分布, 和残差方差要一致。

用途:用于研究两个独立变量(称为因素)对一个连续型因变量的影响。

参数:选择正态分布数值因变量,和两个自变量因素

端口数量与逻辑控制(PC)
Input-入口5个
Output-出口2个
Loop-支持循环
If/Switch-支持逻辑判断
输入输出
可生成图片类型(推荐)
可生成数据表类型(推荐)
相关节点
上一节点One_Way_ANOVA
下一节点多重比较方差分析



统计学中,双因素方差分析(ANOVA)是单因素ANOVA的扩展,它检验两个不同的分类 自变量对一个连续 因变量的影响。双因素ANOVA不仅旨在评估每个自变量的主效应,还要检查它们之间是否存在任何交互作用

历史

1925年,罗纳德·费希尔在其著名书籍研究工作者的统计方法(第7和第8章)中提到了双因素ANOVA。1934年,弗兰克·耶茨发表了非平衡情况下的程序。[1] 从那时起,产生了大量的文献。该主题于1993年由安养福士回顾。[2] 2005年,安德鲁·格尔曼提出了ANOVA的不同方法视角,将其视为一个多层次模型[3]

数据集

让我们想象一个数据集,其中一个因变量可能受到两个潜在变异源的因素影响。第一个因素有[math]I[/math]个水平([math]i \in \{1,\ldots,I\}[/math]),第二个有[math]J[/math]个水平([math]j \in \{1,\ldots,J\}[/math])。每个组合[math](i,j)[/math]定义了一个处理,共有[math]I \times J[/math]种处理。我们用[math]n_{ij}[/math]表示处理[math](i,j)[/math]的重复次数,并让[math]k[/math]是此处理中重复的索引([math]k \in \{1,\ldots,n_{ij}\}[/math])

从这些数据中,我们可以构建一个列联表,其中[math]n_{i+} = \sum_{j=1}^J n_{ij}[/math]和[math]n_{+j} = \sum_{i=1}^I n_{ij}[/math],总重复次数等于[math]n = \sum_{i,j} n_{ij} = \sum_i n_{i+} = \sum_j n_{+j}[/math]。

如果每种处理的重复次数相同,即[math]K[/math],则实验设计被认为是平衡的。在这种情况下,设计也被认为是正交的,允许完全区分两个因素的效应。因此,我们可以写[math]\forall i,j \; n_{ij} = K[/math],和[math]\forall i,j \; n_{ij} = \frac{n_{i+} \cdot n_{+j}}{n}[/math]。

模型

通过观察所有[math]n[/math]个数据点之间的变异,例如通过直方图,"概率可用于描述此类变异"。[4] 因此,让我们用[math]Y_{ijk}[/math]表示观测值[math]y_{ijk}[/math]是处理[math](i,j)[/math]的第[math]k[/math]次测量的随机变量双因素ANOVA将所有这些变量建模为围绕平均值[math]\mu_{ij}[/math],具有恒定方差[math]\sigma^2[/math](同方差性)独立地正态地变化:

[math]Y_{ijk} \, | \, \mu_{ij}, \sigma^2 \; \overset{\mathrm{i.i.d.}}{\sim} \; \mathcal{N}(\mu_{ij}, \sigma^2)[/math]。

具体来说,响应变量的平均值被建模为解释变量线性组合

[math]\mu_{ij} = \mu + \alpha_i + \beta_j + \gamma_{ij}[/math],

其中[math]\mu[/math]是总平均值,[math]\alpha_i[/math]是来自第一个因素的水平[math]i [/math]的加性主效应(列联表中的i行),[math]\beta_j[/math]是来自第二个因素的水平[math]j[/math]的加性主效应(列联表中的j列),并且[math]\gamma_{ij}[/math]是处理[math](i,j)[/math]的非加性交互作用效应,用于来自两个因素的样本[math]k=1,...,n_{ij}[/math](列联表中行i和列j的单元)。

描述双因素ANOVA的另一种等效方式是提到,除了因素解释的变异之外,还有一些统计噪声。通过引入每个数据点的一个随机变量[math]\epsilon_{ijk}[/math],称为误差,来处理这部分未解释的变异。这[math]n[/math]个随机变量被视为偏离均值,并且假定它们是独立的且正态分布的:

[math]Y_{ijk} = \mu_{ij} + \epsilon_{ijk} \text{ 与 } \epsilon_{ijk} \overset{\mathrm{i.i.d.}}{\sim} \mathcal{N}(0, \sigma^2)[/math]。

假设

根据GelmanHill的说法,ANOVA以及更一般地,广义线性模型的假设,按重要性递减排序如下:[5] 1. 数据点与正在研究的科学问题相关; 2. 响应变量的平均值受因素的加性(如果没有交互项)和线性影响; 3. 误差是独立的; 4. 误差具有相同的方差; 5. 误差呈正态分布。

参数估计

为了确保参数的可识别性,我们可以添加以下“和为零”的约束:

[math]\sum_i \alpha_i = \sum_j \beta_j = \sum_i \gamma_{ij} =\sum_j \gamma_{ij}= 0[/math]

假设检验

在传统方法中,通过计算平方和来实现检验零假设(即因素无效)的显著性

因为可能存在的自由度数量庞大,测试交互项的显著性可能会很困难。[6]

示例

以下假设性示例展示了15株植物在两种不同环境变量和三种不同肥料条件下的产量。

额外CO2 额外湿度
无肥料 7, 2, 1 7, 6
硝酸盐 11, 6 10, 7, 3
磷酸盐 5, 3, 4 11, 4

计算五个平方和:

因子 计算 [math]\sigma^2[/math]
个体 [math]7^2+2^2+1^2 + 7^2+6^2 + 11^2+6^2 + 10^2+7^2+3^2 + 5^2+3^2+4^2 + 11^2+4^2[/math] 641 15
肥料×环境 [math]\frac{(7+2+1)^2}{3} + \frac{(7+6)^2}{2} + \frac{(11+6)^2}{2} + \frac{(10+7+3)^2}{3} + \frac{(5+3+4)^2}{3} + \frac{(11+4)^2}{2}[/math] 556.1667 6
肥料 [math]\frac{(7+2+1+7+6)^2}{5} + \frac{(11+6+10+7+3)^2}{5} + \frac{(5+3+4+11+4)^2}{5}[/math] 525.4 3
环境 [math]\frac{(7+2+1+11+6+5+3+4)^2}{8} + \frac{(7+6+10+7+3+11+4)^2}{7} [/math] 519.2679 2
综合 [math]\frac{(7+2+1+11+6+5+3+4+7+6+10+7+3+11+4)^2}{15} [/math] 504.6 1

最终,可以计算出analysis of variance所需的平方差和。

因子 [math]\sigma^2[/math] 总计 环境 肥料 肥料×环境 残差
个体 641 15 1 1
肥料×环境 556.1667 6 1 −1
肥料 525.4 3 1 −1
环境 519.2679 2 1 −1
综合 504.6 1 −1 −1 −1 1
平方差 136.4 14.668 20.8 16.099 84.833
自由度 14 1 2 2 9

节点使用的R语言示例代码

Two Way ANOVA

aov_ez(
  id,
  dv,
  data,
  between = NULL,
  within = NULL,
  covariate = NULL,
  observed = NULL,
  type = afex_options("type"),
  factorize = afex_options("factorize"),
  return = afex_options("return_aov")
)

方法参见R package: afex的官方文档

节点使用指南

  • 用于研究两个不同因素对一个连续型因变量的影响,并且可以用来检验两个因素的交互作用

方法选择

  • 无方法选择

参数配置

  • 因变量:选择正态分布连续型数值变量。如果选择多个,每个变量做一次ANOVA
  • 分组自变量1:选择一个分类分组变量,第一个因素
  • 分组自变量2:选择一个分类分组变量,第二个因素
  • 因变量,分组自变量1和分组自变量2要规避复用
  • 此算法兼容空值

注意事项

  • 每组的数据都应接近正态分布
  • 不同组合的方差应该大致相等
  • 数据应该是独立的,即一个观测结果不应该影响另一个

引用

  1. Yates, Frank (March 1934). "不同类别中数量不等的多重分类分析". 美国统计协会杂志. 29 (185): 51–66. doi:10.1080/01621459.1934.10502686. JSTOR 2278459.
  2. Fujikoshi, Yasunori (1993). "数据不平衡下的双向ANOVA模型". 离散数学. 116 (1): 315–334. doi:10.1016/0012-365X(93)90410-U.
  3. Gelman, Andrew (February 2005). "方差分析?为什么它比以往任何时候都更重要". 统计学年鉴. 33 (1): 1–53. arXiv:math/0504499. doi:10.1214/009053604000001048. S2CID 125025956.
  4. Kass, Robert E (1 February 2011). "统计推断:大局观". 统计科学. 26 (1): 1–9. arXiv:1106.2895. doi:10.1214/10-sts337. PMC 3153074. PMID 21841892.
  5. Gelman, Andrew; Hill, Jennifer (18 December 2006). 使用回归和多层次/分层模型的数据分析. 剑桥大学出版社. pp. 45–46. ISBN 978-0521867061.
  6. Yi-An Ko; et al. (September 2013). "Novel Likelihood Ratio Tests for Screening Gene-Gene and Gene-Environment Interactions with Unbalanced Repeated-Measures Data". Genetic Epidemiology. 37 (6): 581–591. doi:10.1002/gepi.21744. PMC 4009698. PMID 23798480.

查找其他类别的节点,请参考以下列表