R语言统计分析——多元方差分析

参考资料:R语言实战【第2版】

当因变量(结果变量)不止一个时,可以使用多元方差分析(MANOVA)进行分析。本例使用MASS包中的UScereal数据集,其中,卡路里、脂肪和糖含量时因变量,货架是三水平(1、2、3)的自变量。分析如下:

R 复制代码
# 加载MASS包
library(MASS)
# 使用UScereal包
attach(UScereal)
# 将货架变量转换为因子变量
shelf<-as.factor(shelf)
# 设置因变量
y<-cbind(calories,fat,sugars)
# 查看不同货架对应的因变量的平均水平
aggregate(y~shelf,FUN=mean)
# 查看因变量间的协方差矩阵
cov(y)
# 多元方差分析
fit<-manova(y~shelf)
# 查看结果
summary(fit)
summary.aov(fit)

操作步骤分析:①将shelf变量转换为因子变量,从而使它在后续分析中能作为分组变量。②cbind()函数将三个因变量(卡路里、脂肪和糖)合并成一个矩阵。③aggregate()函数可获取货架的各个均值,cov()函数则输出因变量间的方差和协方差。

manova()函数能对组间差异进行多元检验。检验结果显示,三个货架组的营养成分(卡路里、脂肪、糖分)的测量值存在明显差异。由于多元检验是显著的,则可以使用summary.aov()函数对每个变量做单因素方差分析,结果显示,三种货架组中的每种营养成分的测量值也是显著不同的。另外我们还可以用均值比较来判断对于每个因变量,哪种货架与其他货架都是不同的。

1、评估假设检验

单因素多元方差分析有两个前提假设:一个是多元正态性,一个方差-协方差矩阵同质性。第一个假设即指因变量组合成的向量服从一个多元正态分布。可以使用Q-Q图来检验该假设条件。

【若有一个p×l的多元正态随机向量x,均值为μ,协方差矩阵为Σ,那么x与μ的马氏距离的平方服从自由度为p的卡方分布。Q-Q图展示卡方分布的分位数,横纵坐标分别是样本量与马氏距离平方值。如果点全部落在斜率为1,截距为0的直线上,则表明数据服从多元正态分布】

R 复制代码
# 对因变量取均值
center<-colMeans(y)
# 行数
n<-nrow(y)
# 列数
p<-ncol(y)
# 协方差矩阵
cov<-cov(y)
# 马氏距离
d<-mahalanobis(y,center,cov)
# 绘制Q-Q图
coord<-qqplot(qchisq(ppoints(n),df=p),
              d,
              main="Q-Q Plot Asssessing Multivariate Normality",
              ylab="Mahalanobis D2")
abline(a=0,b=1)

如上图所示,若数据服从多元正态分布,那么数据点将落在直线上,结果可以看到有两个点明显远离直线,可以删除这两个点再重新分析。

方差-协方差矩阵同质性是指各组的协方差矩阵相同,通常可用Box's M检验来评估该假设。但R语言目前没有此函数。另外,该检验对正态性假设很敏感,会导致在大部分案例中直接拒绝同质性假设。也就是说,对于这个重要的假设的检验,我们目前还没有一个很好的方法。

最后,我们还可以用mvoutlier包中的ap.plot()函数来检验多元离群点。如下:

R 复制代码
library(mvoutlier)
outliers<-aq.plot(y)
outliers

2、稳健多元方差分析

如果多元正态性或方差-协方差均值假设都不满足,或者我们担心多元离群点,那么可以考虑用稳健或非参数版本的MANOVA检验。稳健单因素MANOVA可通过rrcov包中的Wilk.test()函数实现。vegan包中的adonis()函数则提供了非参数MANOVA的等同形式。Wilk.test()函数的应用如下:

R 复制代码
library(rrcov)
Wilks.test(y,shelf,method="mcd")

从结果来看,稳健MANOVA检验对离群点和违反MANOVA假设的情况不敏感,也再次验证了存储在货架顶部、中部、底部的谷物养分含量不同。

相关推荐
天桥下的卖艺者5 小时前
R语言绘制复杂加权数据(nhanes数据)多模型生存分析决策曲线
开发语言·r语言
Tiger Z7 小时前
《R for Data Science (2e)》免费中文翻译 (第15章) --- Regular expression(1)
数据分析·r语言·数据科学·免费书籍
Dekesas969519 小时前
【深度学习】基于Faster R-CNN的黄瓜幼苗智能识别与定位系统,农业AI新突破
人工智能·深度学习·r语言
青啊青斯1 天前
二、PaddlePaddle seal_recognition印章内容提取
人工智能·r语言·paddlepaddle
Piar1231sdafa1 天前
木结构建筑元素识别与分类:基于Faster R-CNN的高精度检测方法
分类·r语言·cnn
Piar1231sdafa1 天前
智能拖拉机目标检测:改进Faster R-CNN的实践与优化
目标检测·r语言·cnn
青春不败 177-3266-05202 天前
HMSC联合物种分布模型在群落生态学中的贝叶斯统计分析应用
随机森林·r语言·生态学·生物多样性·生态环境·生物群落·物种分布
高-老师2 天前
基于R语言BIOMOD2 及机器学习方法的物种分布模拟与案例分析
机器学习·r语言·biomod2
AAD555888993 天前
基于Mask R-CNN的道路路面损伤自动检测与分类研究
分类·r语言·cnn
Faker66363aaa4 天前
基于Faster R-CNN的桃黄病病害检测与分类系统实现_1
分类·r语言·cnn