R语言中的偏最小二乘回归PLS-DA

主成分回归(PCR)的方法 本质上是使用第一个方法的普通最小二乘(OLS)拟合ķ来自预测变量的主成分(PC)。

由Kaizong Ye,Weilong Zhang撰写

这带来许多优点:

  1. 预测变量的数量实际上没有限制。  
  2. 相关的预测变量不会破坏回归拟合。 

但是,在许多情况下,执行类似于PCA的分解要明智得多。

今天,我们将 在Arcene数据集上执行PLS-DA,  其中包含100个观察值和10,000个解释变量。

×

  偏最小二乘法是集主成分分析、典型相关分析和多元线性回归分析3种分析方法的优点于一身。它与主成分分析法都试图提取出反映数据变异的最大信息,但主成分分析法只考虑一个自变量矩阵,而偏最小二乘法还有一个“响应”矩阵,因此具有预测功能。


  偏最小二乘回归是对多元线性回归模型的一种扩展,在其最简单的形式中,只用一个线性模型来描述独立变量Y与预测变量组X之间的关系:

  Y = b0 + b1X1 + b2X2 + … + bpXp

  在方程中,b0是截距,bi的值是数据点1到p的回归系数。

  例如,我们可以认为人的体重是他的身高、性别的函数,并且从各自的样本点中估计出回归系数,之后,我们从测得的身高及性别中可以预测出某人的大致体重。对许多的数据分析方法来说,最大的问题莫过于准确的描述观测数据并且对新的观测数据作出合理的预测。

  多元线性回归模型为了处理更复杂的数据分析问题,扩展了一些其他算法,象判别式分析,主成分回归,相关性分析等等,都是以多元线性回归模型为基础的多元统计方法。这些多元统计方法有两点重要特点,即对数据的约束性:

  变量X和变量Y的因子都必须分别从X’X和Y’Y矩阵中提取,这些因子就无法同时表示变量X和Y的相关性。

  预测方程的数量永远不能多于变量Y跟变量X的数量。

  偏最小二乘回归从多元线性回归扩展而来时却不需要这些对数据的约束。在偏最小二乘回归中,预测方程将由从矩阵Y’XX’Y中提取出来的因子来描述;为了更具有代表性,提取出来的预测方程的数量可能大于变量X与Y的最大数。

  简而言之,偏最小二乘回归可能是所有多元校正方法里对变量约束最少的方法,这种灵活性让它适用于传统的多元校正方法所不适用的许多场合,例如一些观测数据少于预测变量数时。并且,偏最小二乘回归可以作为一种探索性的分析工具,在使用传统的线性回归模型之前,先对所需的合适的变量数进行预测并去除噪音干扰。

  因此,偏最小二乘回归被广泛用于许多领域来进行建模,象化学,经济学,医药,心理学和制药科学等等,尤其是它可以根据需要而任意设置变量这个优点更加突出。在化学计量学上,偏最小二乘回归已作为一种标准的多元建模工具。

让我们开始使用R

癌症/无癌标签(编码为-1 / 1)存储在不同的文件中,因此我们可以将其直接附加到完整的数据集,然后使用公式语法来训练模型。

# 安装加载
 
library(caret)
arcene <- read.table("train.data", sep = " ",
 colClasses = c(rep("numeric", 10000), "NULL"))
 
# 将标签添加为附加列
 
 
arcene$class <- factor(scan("train.labels", sep = "\t"))


视频

主成分分析PCA降维方法和R语言分析葡萄酒可视化实例

探索见解

去bilibili观看

探索更多视频

现在的主要问题是:

  • 我们如何根据其血清的MS谱准确预测患者是否生病?
  • 哪种蛋白质/ MS峰最能区分患者和健康患者?

 关于预处理,我们将使用preProc参数以精确的顺​​序删除零方差预测变量,并对所有剩余的变量进行标准化。考虑样本的大小(n= 100),我将选择10次重复的5折交叉验证(CV)–大量重复弥补了因减少的验证次数而产生的高方差–总共进行了50次准确性估算。

# 编译交叉验证设置
 
 
set.seed(100)
myfolds <- createMultiFolds(arcene$class, k = 5, times = 10)
control <- trainControl("repeatedcv", index = myfolds, selectionFunction = "oneSE")
 

绘图

此图描绘了CV曲线,在这里我们可以学习从使用不同数量的LV(x轴)训练的模型中获得的平均准确度(y轴,%)。 

现在,我们 进行线性判别分析(LDA)进行比较。 我们还可以尝试一些更复杂的模型,例如随机森林(RF)。 

最后,我们可以比较PLS-DA,PCA-DA和RF的准确性。 

我们将使用resamples编译这三个模型,并借用ggplot2的绘图功能来比较三种情况下最佳交叉验证模型的50个准确性估计值。

绘图

显然,长时间的RF运行并没有转化为出色的性能,恰恰相反。尽管三个模型的平均性能相似,但RF的精度差异要大得多,如果我们要寻找一个鲁棒的模型,这当然是一个问题。在这种情况下,PLS-DA和PCA-DA表现出最好的性能(准确度为63-95%),并且这两种模型在诊断新血清样品中的癌症方面都表现出色。


R语言如何找到患者数据中具有差异的指标?(PLS—DA分析)

阅读文章


总而言之,我们将使用PLS-DA和PCA-DA中预测的变量重要性(ViP)确定十种最能诊断癌症的蛋白质。 


随时关注您喜欢的主题


Rplot01

Rplot02

上面的PLS-DA ViP图清楚地将V1184与所有其他蛋白质区分开。

这可能是一个有趣的癌症生物标志物。当然,必须进行许多其他测试和模型来提供可靠的诊断工具。 


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds