第三十二讲 R-回归分析概述
在“R与生物统计专题”中,我们会从介绍R的基本知识展开到生物统计原理及其在R中的实现。以从浅入深,层层递进的形式在投必得医学公众号更新。
回归分析
回归分析(或回归模型)是机器学习中监督性学习的方法之一,它是由一个或多个预测变量/自变量(x)的值预测连续性数据类型的结果变量/因变量(y)。
回归模型的目标是建立一个数学方程式,将y定义为x变量的函数。接下来,该等式可用于使得我们可以用新获得的预测变量(x)来预测结果(y)。
线性回归
线性回归(linear-regression)是预测连续变量的最简单,最流行的技术。
它的前提假设是:结果与预测变量之间存在线性关系。
线性回归方程可以写成 y = b0 + b*x,其中:
b0是截距,
b是与预测变量x相关的回归权重或系数。
从技术上讲,我们需要确定一个线性回归系数,使得预测结果值的误差到达最小。这种计算beta系数的方法称为“ 普通最小二乘法”。
当您有多个预测变量(例如x1和x2)时,回归方程可以写成
y = b0 + b1*x1 + b2*x2。
在某些情况下,某些预测变量之间可能存在交互作用,例如,增加预测变量x1的值可能会提高预测变量x2解释结果变量变化的有效性。在这种情况下,建立回归模型时,交互作用也需要考虑。这与我们之前在第十七讲 R-双向方差分析2(第十七讲 R-双向方差分析2)中也有提到“交互作用”。
此外,线性回归模型可以在预测变量中,同时有连续型数据变量和分类型数据变量。
构建线性回归模型时,像之前介绍的其他统计学方法一样,它需要满足一定的假设检验条件,以确定数据是否适合进行回归建模。
在某些情况下,结果与预测变量之间的关系不是线性的。这时,您需要构建非线性回归,例如多项式(polynomial)和样条(spline)回归。
当回归模型中有多个预测变量时,您可能希望选择预测变量的最佳组合以构建最佳预测模型。这个过程称为模型选择,这包括,比较包含不同预测变量集的多个模型,以选择性能最佳的模型,从而将预测误差降至最低。线性模型选择方法包括最佳子集回归(best-subsets-regression)和逐步回归( stepwise-regression)。
在某些情况下,例如在基因组研究中,您可能拥有大量相互关联的预测变量。
在这种情况下,原始数据集中的信息可以汇总为几个新变量(称为主成分),这些变量是原始变量的线性组合。这几个主要成分可用于构建线性模型,这对于您的数据可能更有效。
这种方法被称为基于主成分的回归分析(pcr-and-pls-regression),其中包括:主成分回归(principal component regression)和偏最小二乘回归(partial least squares regression)。
惩罚回归
简化含有大量预测变量集的模型的另一种方法是使用惩罚回归(penalized-regression),该惩罚会因为变量过多而对模型进行惩罚。
最著名的惩罚回归包括岭回归(ridge regression)和套索回归(LASSO regression)。
您可以将所有这些不同的回归模型应用于数据,比较模型,最后选择能很好地解释数据的最佳方法。
为此,您需要一些统计指标来比较不同模型在解释数据和预测新测试数据结果方面的性能。
最佳模型
最佳模型定义为预测结果与实际结果间误差最小的模型。
用于比较回归模型的最受欢迎的指标包括:
均方根误差(Root Mean Squared Error,RMSE),用于测量模型预测误差。它是模型中观察到的结果值与预测值之间的平均差。均方根误差RMSE计算为RMSE = mean((observeds - predicteds)^2) %>% sqrt()。均方根误差越低,代表模型越好。
调整后的R平方(Adjusted R-square),代表模型可以对整个数据变异进行解释的百分数。它反应了模型的整体质量。调整后的R2越高,代表模型越好。
上述指标应在尚未用于训练模型的新测试数据上进行计算。即,上述模型间的比较需要在完全独立的样本中进行验证计算,而不能用之前训练模型的样本进行验证对比。如果您的数据集(样本量)很大且有很多记录,则可以将数据随机分为训练集(80%用于构建预测模型)和测试集或验证集(20%用于评估模型性能)。
k-fold交叉验证是估计模型性能的最强大,最流行的方法之一。它甚至可以用于较小的数据集/样本量。K-fold交叉验证的工作方式如下:
将数据集随机拆分为k个子集(或k倍)(例如5个子集)
保留一个子集并在所有其他子集上训练模型
在保留的子集上测试模型并记录预测误差
重复此过程,直到k个子集中的每一个都已用作测试集。
计算k个记录的误差的平均值。这称为交叉验证误差,它是模型的性能指标。
最好的模型是交叉验证误差或均方根误差最低的模型 。
在之后的讲解中,我们会为大家介绍各种常用的回归分析方法。
参考内容:
1. Alboukadel Kassambara, Machine Learning Essentials: Practical Guide in R
当然啦,R语言的掌握是在长期训练中慢慢积累的。一个人学习太累,不妨加入“R与统计交流群”,和数百位硕博一起学习。
快扫二维码撩客服,
带你进入投必得医学交流群,
让我们共同进步!
↓↓
- END -
长按二维码关注「投必得医学」,更多科研干货在等你!