# knitr::opts_chunk$set(warning = FALSE, message = FALSE, cache = T)
knitr::opts_chunk$set(warning = FALSE, message = FALSE, eval=F)
library(tidyverse)
library(formattable)
新增
- LDA和PCA的优劣
LDA
- Linear Discriminant Analysis
- 线性判别分析
LDA介绍
类似于PCA,投影到一个降维的平面上或者直线上。 使得 投影后类内方差最小,类间方差最大 (宏基因组 2018)。
如图(刘建平 2016),
- 分类变量\(y\)用颜色表示
- 特征变量分别是横纵轴,图中点的坐标,反映特征向量决定样本在空间相对位置。
每幅图都出现了一条直线,这条直线的被决定的,
- 它将每个样本投影在这条直线上,
- 使得同颜色的样本彼此靠近
- 不同颜色的样本彼此远离
- 完成以上两个最优化问题后,直线位置决定
- 整个过程就是LDA形成的过程
LDA可视化
# Installation
devtools::install_github('fawda123/ggord')
# 按物种分组LDA排序
ord <- MASS::lda(Species ~ ., iris, prior = rep(1, 3)/3)
# 展示LDA分析
library(ggord)
ggord(ord, iris$Species)
Beck (2018) 可以可视化LDA的结果。
LDA与PCA比较
如图(刘建平 2016), 实现方式不一样,
- PCA 寻找最大方差方向
- LDA 寻找投影后类内方差最小,类间方差最大
因此分类和降维的时候,会发现两者的产生平面和直线会差异到垂直。
刘建平 (2016) 认为,
- LDA要求投影后类内方差最小,类间方差最大,因此如果样本分类信息依赖均值,那么LDA的效果好。
- PCA是comp 1 是选择方差最大的地方,因此如果样本分类信息依赖方差,那么PCA的效果好。
Beck, Marcus W. 2018. Ggord: Ordination Plots with Ggplot2.
刘建平. 2016. “线性判别分析LDA原理总结.” 2016. https://www.cnblogs.com/pinard/p/6244265.html.
宏基因组. 2018. “比PCA更好用的监督排序—Lda分析、作图及添加置信-Ggord.” 2018. https://mp.weixin.qq.com/s/F9c_ISpOpjHyiCNahoYTqQ.