查看原文
其他

R包ade4的模糊主成分分析(FPCA)及模糊对应分析(FCA)

生信小白鱼 鲤小白 小白鱼的生统笔记 2022-05-08
R包ade4的模糊主成分分析(FPCA)及模糊对应分析(FCA)
经典的主成分分析(Principal Component AnalysisPCA)对极端值及缺失值比较敏感,具有极端值或缺失值的数据使用常规的主成分分析时会产生明显的偏差。通常我们对于极端值的解决方法,除了删掉部分影响较大数据外,还常使用数据转化(如标准化、中心化)的方式缩小差异;对于缺失值,有时使用0值等代替,或者通过特殊的方法插补缺失值。
相较于此,模糊主成分分析(Fuzzy Principal Components AnalysisFPCA)能够在数据存在较大极端值或缺失值的情况下明显地提升结果的准确性和可信度。同样地,对于对应分析(Correspondence analysisCA),同样存在模糊对应分析(Fuzzy Correspondence AnalysisFCA)可供选择。

Rade4中提供了FPCAFCA的方法。
ade4包中,执行PCA的函数为dudi.pca(),执行CA的函数为dudi.coa();与此对应,FPCA通过dudi.fpca()执行,FCA通过dudi.fca()执行。

library(ade4)
 
#查看帮助文档
?dudi.fpca
#或者
?dudi.fca
 
#二者弹出的是同一篇文档,作者将两个命令放在一起介绍了

 

R文档中间部分的参数信息,可自行浏览。

查看最下方的示例,简介分析方法。使用ade4自带的数据集“bsetal97”展示。

data(bsetal97)
w <- prep.fuzzy.var(bsetal97$biol, bsetal97$biol.blo)
 
#注:FPCA 或 FCA 前,缺失值需要首先全部转为 0
#FPCA
fpca <- dudi.fpca(w, scann = FALSE, nf = 3)
#FCA
fca <- dudi.fca(w, scann = FALSE, nf = 3)
 
#概要,以 FPCA 为例
fpca
summary(fpca)

参数nf = 3,在排序结果中显示3个排序轴的坐标(实际计算还是将得到全部的排序轴,该参数仅为在全部结果中提取前n轴的坐标作为展示而已),若想展示更多的排序轴(如第四轴等),可更改此参数,此处示例只展示前3个轴。

dudi.fpca()或dudi.fca()返回一个类列表,记录了排序空间维度、排序坐标(对象,li;变量因子,co)、特征值(Eigenvalues)、解释量(Projected inertia)、累计解释量(Cumulative projected inertia)等信息。


##提取主要内容,以 FPCA 为例
#查看特征值(显示前 4 轴)
fpca$eig[1:4]
#查看排序轴解释量(%,显示前 4 轴)
round(fpca$eig / sum(fpca$eig) * 100, 2)[1:4]

#对象和变量坐标
#上述 dudi.fpca() 中,参数 nf = 3,故默认显示了前三个排序轴
head(fpca$li)
head(fpca$co)

#断棍模型评估各轴特征值
fpca_eig <- fpca$eig
n <- length(fpca_eig)
bsm <- data.frame(j=seq(1:n), p = 0)
bsm$p[1] <- 1/n
for (i in 2:n) bsm$p[i] <- bsm$p[i-1] + (1/(n + 1 - i))
bsm$p <- 100*bsm$p/n

barplot(t(cbind(100 * fpca_eig/sum(fpca_eig), bsm$p[n:1])), beside = TRUE, main = '% 变差', col = c('orange', 'bisque'), las = 2)
abline(h = mean(100 * fpca_eig/sum(fpca_eig)), col = 'red')
legend('topright', c('% 特征根', '断棍模型', '平均特征根'), pch = c(15, 15, NA), col = c('orange', 'bisque', 'red'), lwd = c(NA, NA, 1), bty = 'n')

 

ade4自带了一些可视化函数,如:

#scatter() 可视化
scatter(fpca, csub = 3, clab.moda = 1.5)
scatter(fca, csub = 3, clab.moda = 1.5)






链接

R包vegan的群落去趋势对应分析(DCA)

R包vegan的群落对应分析(CA)

对应分析(CA)和去趋势对应分析(DCA)在群落分析中的应用

R包vegan的群落PCA及tb-PCA分析

主成分分析(PCA)及其在生态数据分析中的应用

群落分析中常见的数据转化方法

常见的群落相似性或距离测度的计算

群落Beta多样性分析与群落相似性简介

R语言绘制群落物种累积曲线

R语言绘制物种稀释曲线及其它多种Alpha多样性曲线

R语言计算群落多样性分析中常见Alpha多样性指数

群落多样性分析中常见Alpha多样性指数简介



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存