《统计学基于R》:第八章 方差分析

8.1 方差分析的原理

8.1.1 方差分析

1、方差分析:分析类别自变量对数值因变量影响的一种统计方法。

2、基本功能:对多组平均数差异的显著性进行检验。

3、单因素实验:只有一个自变量的实验。

4、多因素实验:有两个或两个以上自变量的实验。

5、单因素方差分析:检验某一个因素对因变量的作用.

6、多因素方差分析:检验某几个因素对自变量的作用。

7、无重复双因子方差分析:如果两个因子对实验结果的影响是相互独立的,分别判断因子A和因子B对实验数据的单独影响。

8、可重复双因子方差分析:如果除了因子A和因子B对实验数据的单独影响外,两个因子的搭配还会对结果产生一种新的影响。

8.1.2 误差分解

1、方差分析基本原理:不同处理组的间的差别基本来源有以下两个

  • 实验条件:即不同的处理造成的差异,称为组间差异。

    各组的均值与总均值之偏差平方和的总和,记作SSA,组间自由度dfA。

  • 随机误差:如测量误差造成的差异或个体间的差异,称为组内差异。

    各组的均值与该组内变量值之偏差平方和的总和, 记作SSE,组内自由度dfE。

  • 总偏差平方和 SST= SSA + SSE。

2、方差分析的逻辑:通过对组间差异与组内差异比值的分析,推断几个相应平均数差异的显著性。组间差异对组内差异的比值越大,各组平均数的差异就越明显。

  • 做F检验:F=MSA/MSE
  • 用F值与其临界值比较,可以检验组间与组内方差是否相等。若组间与组内方差相等,即F比值等于或接近1,表明各组平均数无显著差异;若F值很大,超过临界值,表明各组平均数有显著性差异。

3、方差分析的基本步骤如下:

(1)建立检验假设;
​ H0:多个样本总体均值相等;(自变量对因变量的影响不显著)
​ H1:多个样本总体均值不全相等;(自变量对因变量的影响显著)
(2)计算检验统计量F值;

(3)确定P值,根据给定的显著性水平作出推断结果。

在这里插入图片描述

8.2 单因素方差分析

8.2.1 单因素方差分析

example8_1<-read.csv("./data/example/chap08/example8_1.csv")
# 将短格式数据转为长格式数据
library(reshape2)
example8_2<-melt(example8_1,variable.name="品种",value.name="产量")
# 单因素方差分析模型
model<-aov(产量~品种,data=example8_2)
summary(model)
# 方差分析模型的参数估计
model$coefficients
  • 单因子方差分析表
误差来源平方和SS自由度df方差MS检验统计量F
处理效应SSA=各组均值与总均值的偏差平方和组数-1MSA=SSA/dfAMSA/MSE
误差SSE=各组均值与组内值的偏差平方和总容量-组数MSE=SSE/dfE
总效应SST=各组内值与总均值的偏差平方和总容量-1

8.2.2 效应量分析

1、效应量:如果方差分析拒绝原假设,则表明自变量对因变量的影响显著,影响的大小则用效应量来度量。记为η²
2、在单因子方差分析中,η²=SSA/SST

  • 效应量越大,说明自变量与因变量之间的关系就越强。
# 单因子的效应量分析
library(DescTools)
EtaSq(model,anova=T)

8.2.3 多重比较

1、意义:若方差检验的结果是变量(因子)对因变量(观测结果)有显著影响,但是这一检验并未告诉我们究竟哪些品种之间的产量差异显著。为了分析这种差异到底出现在哪些品种之间,需要对均值进行配对检验,即多重比较。

2、多重比较的方法:

(1)LSD方法

研究者在事先就计划好要对某几对均值进行比较,无论是否作方差分析都进行比较。

# 输出基本结果
library(agricolae)
LSD<-LSD.test(model,"品种")
LSD
# 输出更多信息
library(DescTools)
PostHocTest(model,method="lsd")

(2)HSD方法

研究者事先并未计划进行多重比较,只是在方差分析决绝原假设后,才需要对任意两个处理的均值进行比较。

# 输出基本信息
library(agricolae)
HSD<-HSD.test(model,"品种")
HSD
# 输出更多信息
TukeyHSD(model)

8.3 双因素方差分析

8.3.1 双因素方差分析

example8_4<-read.csv("./data/example/chap08/example8_4.csv")
# 短格式数据转换为长格式数据
library(reshpe2)
example8_5<-melt(example8_4,variable.name="品种",value.name="产量")
# 主效应方差分析模型
model<-aov(产量~品种+施肥方式,data=example8_5)
summary(model)
model$coefficients
# 交互效应方差分析模型
model<-aov(产量~品种+施肥方式+品种:施肥方式,data=example8_5)
summary(model)
model$coefficients
  • 双因子方差分析表
误差来源平方和SS自由度df均方MS检验统计量F
因子A的处理效应SSAI-1MSA=SSA/(I-1)FA=MSA/MSE
因子B的处理效应SSBJ-1MSB=SSB/(J-1)FB=MSB/MSE
AB的交互效应SSAB(I-1)(J-1)MSAB=SSAB/(I-1)(J-1)FAB=MSAB/MSE
误差SSEIJK-I-J-1MSE=SSE/(IJK-I-J-1)
总效应SSTIJK-1

8.3.2 效应量分析

1、偏效应量:某个因子的偏效应量是排除另一个因子的主效应后,该因子对因变量的效应。

2、偏η²=SSA/SSA+SSE;偏η²=SSB/SSB+SSE

library(DescTools)
EtaSq(model,anova=T)

8.4 方差分析的假定及其检验

假定含义
正态性每个处理所对应的总体都应服从正态分布,即对于因子的每一个水平,其观测值是来自正态分布总体的简单随机样本。
方差齐性每个因子的每一水平的总体的方差必须相同
独立性每个样本数据是来自因子各水平的独立样本(该假定不满足对结果影响较大)

8.4.1 正态性检验

假设要求每个因子所对应的水平的总体都服从正态分布。通常有两种检验方法:图示法和假设检验方法。

1、图示法

  • 当每个处理的样本量足够大时,可以对每个样本绘制正态概率图来检查每个处理对应的总体是否服从正态分布。

  • 当每个处理的样本量比较小时,正态概率图中的点很少,提供的正态性信息很有限。这时,可以将每个处理的样本数据合并绘制一个正态概率图来检验正态性。

example8_1<-read.csv(".\\data\\example\\chap08\\example8_1.csv")
# 绘制每个品种产量的正态Q-Q图
windows()
par(mfrow=c(1,3),cex=0.6,mai=c(0.5,0.5,0.2,0.1))
qqnorm(example8_1$品种1,xlab="期望正态值",ylab="观察值",datax=TRUE,main="品种1的Q-Q图")
qqline(example8_1$品种1,datax=TRUE)
qqnorm(example8_1$品种2,xlab="期望正态值",ylab="观察值",datax=TRUE,main="品种2的Q-Q图")
qqline(example8_1$品种2,datax=TRUE)
qqnorm(example8_1$品种3,xlab="期望正态值",ylab="观察值",datax=TRUE,main="品种3的Q-Q图")
qqline(example8_1$品种3,datax=TRUE)

2、假设检验法

样本量较小时,正态概率图的应用就会受到很大限制,这时可以使用标准的统计检验。如Shapiro—Wilk检验、Kolmogorov-Smirnov检验等,均可以做正态性检验。

example8_2<-read.csv(".\\data\\example\\chap08\\example8_2.csv")
# Shapiro—Wilk检验
shapiro.test(example8_2$产量)
# KS检验
ks.test(example8_2$产量,"norm",mean(example8_2$产量),sd(example8_2$产量))

8.4.2 方差齐性检验

假设要求各处理的总体方差必须相等。通常有两种方法:图的方法和假设检验法。

(1)图示法

检验方差齐性的图形:箱线图和残差图

# 箱线图
example8_2<-read.csv(".\\data\\example\\chap08\\example8_2.csv")
boxplot(产量~品种,data=example8_2,xlab="品种",ylab="产量")

# 残差图
example8_2<-read.csv(".\\data\\example\\chap08\\example8_2.csv")
model_1w<-aov(产量~品种,data=example8_2)
windows()
par(mfrow=c(1,2),mai=c(0.5,0.5,0.2,0.1),cex=0.6,cex.main=0.7)
plot(model_1w,which=c(1,2))
example8_5<-read.csv("C:/example/ch8/example8_5.csv")
model_2wi<-aov(产量~品种+施肥方式+品种:施肥方式,data=example8_5)
windows()
par(mfrow=c(1,2),mai=c(0.5,0.5,0.2,0.1),cex=0.6,cex.main=0.7)
plot(model_2wi,which=1:2)

(2)假设检验法

当各处理的样本量较小时,无法用图示法进行方差齐性检验,可以采用假设检验方法。通常有Barlett方差齐性检验和Levene方差齐性检验。

# Barlett方差齐性检验
example8_5<-read.csv("C:/example/ch8/example8_5.csv")
# 不同品种产量的Barlett检验
bartlett.test(产量~品种,data=example8_5)
# 不同施肥方式产量的Barlett检验
bartlett.test(产量~施肥方式,data=example8_5)

# Levene方差齐性检验
library(car)
# 不同品种产量的Levene检验
leveneTest(产量~品种,data=example8_5)
# 不同施肥方式产量的Levene检验
leveneTest(产量~施肥方式,data=example8_5)
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
R语言实战笔记第九章介绍了方差分析的内容。方差分析是一种用于比较两个或多个组之间差异的统计方法。在R语言中,可以使用lm函数进行方差分析的回归拟合。lm函数的基本用法是: myfit <- lm(I(Y^(a))~x I(x^2) I(log(x)) var ... [-1],data=dataframe 其中,Y代表因变量,x代表自变量,a代表指数,var代表其他可能对模型有影响的变量。lm函数可以拟合回归模型并提供相关分析结果。 在方差分析中,还需要进行数据诊断,以确保模型的可靠性。其中几个重要的诊断包括异常观测值、离群点和高杠杆值点。异常观测值对于回归分析来说非常重要,可以通过Q-Q图和outlierTest函数来检测。离群点在Q-Q图中表示落在置信区间之外的点,需要删除后重新拟合并再次进行显著性检验。高杠杆值点是指在自变量因子空间中的离群点,可以通过帽子统计量来识别。一般来说,帽子统计量高于均值的2到3倍即可标记为高杠杆值点。 此外,方差分析还需要关注正态性。可以使用car包的qqplot函数绘制Q-Q图,并通过线的位置来判断数据是否服从正态分布。落在置信区间内为优,落在置信区间之外为异常点,需要进行处理。还可以通过绘制学生化残差的直方图和密度图来评估正态性。 综上所述,R语言实战第九章介绍了方差分析及其相关的数据诊断方法,包括异常观测值、离群点、高杠杆值点和正态性检验。这些方法可以用于分析数据的可靠性和模型的适应性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [R语言实战笔记--第八章 OLS回归分析](https://blog.csdn.net/gdyflxw/article/details/53870535)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力不秃头的小仙主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值