第四十八讲 R-逐步回归 之前我们学习了线性回归和逻辑回归等回归模型对连续型变量或分类变量进行预测模型建模。 同时,我们也在之前的讲解中,多次提到,如果预测变量(自变量)与结果变量(因变量)间不相关,即该预测模型的系数与0无统计学差异,我们在最终的预测模型中,需要将该预测变量删除。 那么,假如我们有很多个预测变量,想要一一确定这些预测变量是否真对结果变量起到了预测功能,我们有没有办法让这个“删除”变量的步骤可以自动实现呢? 于是我们引入了逐步回归。 1. 逐步回归 逐步回归的基本思想是将变量逐个引入模型,每引入一个预测变量(解释变量)后都要进行F检验(投必得论文编译:第十九讲 R语言–F检验:两样本方差比较),并对已经选入的预测变量逐个进行t检验(投必得论文编译:第十讲 R-两独立样本t检验),当原来引入的预测变量由于后面预测变量的引入变得不再显著时,则将其删除。以确保每次引入新的变量之前回归方程中只包含显著性变量。这是一个反复的过程,直到既没有显著的预测变量选入回归方程,也没有不显著的预测变量从回归方程中剔除为止。以保证最后所得到的预测变量集是最优的。 依据上述思想,可利用逐步回归筛选并剔除引起多重共线性的变量(投必得论文编译:第三十七讲 R语言-多线性回归中的多重共线性和方差膨胀因子),其具体步骤如下:先用结果变量对每一个所考虑的预测变量做简单回归,然后以对结果变量贡献最大的预测变量所对应的回归方程为基础,再逐步引入其余预测变量。经过逐步回归,使得最后保留在模型中的解释变量既是重要的,又没有严重多重共线性。 逐步回归有三种实现策略,我们一般指的逐步回归为第三种:正向(Forward)选择,从模型中没有预测因素开始,反复添加最有帮助的预测因素,直到没有显著的预测变量选入回归方程 。向后(Backward)选择(也称向后消除)从完整模型(即包含所有可能预测变量的模型)中的所有预测变量开始,以迭代方式删除贡献最小的预测变量,直到没有不显著的预测变量从回归方程删除。逐步(stepwise)选择(也称顺序替换),这是向前和向后选择的组合。您从没有预测变量开始,然后顺序添加最有贡献的预测变量(例如正向选择)。添加每个新变量后,删除所有不再改善模型拟合的变量(例如向后选择),直到既没有显著的预测变量选入回归方程,也没有不显著的预测变量从回归方程中剔除为止。 注意! 正向选择和逐步选择可以应用在高维数据情况下,即样本数量n小于预测变量p的数量,例如在基因组领域,全基因组数量远大于测试人群。向后选择要求样本数n大于变量p数,以便可以拟合整个模型。 2. 逐步回归R实现 2.1 加载所需的R包及数据集tidyverse 便于数据操作和可视化caret 简化工作流程leaps,用于计算逐步回归 我们将使用R的内置数据集swiss。 研究问题:根据社会经济相关的多个指标(Agriculture,Examination,Education,Catholic,Infant.Mortality)预测生育力得分(Fertility)。 2.2 计算逐步回归 有许多函数和R包可用于计算逐步回归。 2.2.1 stepAIC()函数stepAIC()[MASS包],它根据AIC值选择最佳模型。它具有一个选项direction,该选项可以选择以下值:“both”(用于逐步回归 )“backward”(用于后向选择)“forward”(用于前向选择) 它会返回最佳的最终模型。 备注: AIC:(Akaike information criterion,简称AIC)是评估统计模型的复杂度和衡量统计模型“拟合”优度的指标之一。 2.2.2 train()函数 train()函数[caret包]提供了一个简单的工作流程,可以使用leaps包和MASS包进行逐步选择。它有一个名为的选项method,可以选择以下值:”leapBackward”,以使线性回归与向后选择相适应”leapForward”,以使线性回归与正向选择相适应”leapSeq”,以逐步选择拟合线性回归 您还需要指定调整参数nvmax,该参数对应于要纳入模型的最大预测变量数。 例如,您可以nvmax在1到5之间变化。在这种情况下,该函数从搜索大小不同的最佳模型开始,一直到最佳有5个预测变量数的变量模型。也就是说,它搜索最佳的1变量模型,最佳2变量模型,…,最佳5变量模型。 以下示例method = “leapBackward”使用swiss数据集执行后向选择,根据社会经济指标确定预测生育力的最佳模型。 由于数据集仅包含5个预测变量,因此我们将nvmax在1到5 个变量之间变化,以识别出具有不同大小的5种最佳模型:最佳1变量模型,最佳2变量模型,…,最佳5变量模型。 我们将使用10倍交叉验证来估计5个模型中每个模型的平均预测误差(RMSE)(投必得论文编译:第四十二讲 R-回归预测模型的交叉验证)。RMSE统计量用于比较5个模型并自动选择最佳模型,其中最佳定义为RMSE最小的模型。 上面的输出显示了不同的指标及其标准误,用于比较5种最佳模型的准确性。各列内容是:nvmax:模型中的变量数。例如nvmax = 2,指定最佳2变量模型RMSE和MAE是两个不同的检测模型质量的指标。RMSE和MAE越低,模型越好。详情请参考第四十二讲。(投必得论文编译:第四十二讲 R-回归预测模型的交叉验证)Rsquared表示观察到的结果与模型预测的值之间的相关性。R平方越高,模型越好。详情请参考第四十二讲。(投必得论文编译:第四十二讲 R-回归预测模型的交叉验证) 在我们的示例中,可以看到具有4个变量(nvmax = 4)的模型是具有最低RMSE的模型。您可以显示由train()函数自动选择的最佳调整值(nvmax),如下所示: 这表明最好的模型是nvmax = 4个变量的模型。该函数summary()报告每种模型大小的最佳变量集,直到最佳的4变量模型。 星号指定给定变量是否包含在相应的模型中。例如,可以看出最好的4变量模型包含Agriculture,Education,Catholic,和Infant.Mortality。Fertility ~ Agriculture + Education + Catholic + Infant.Mortality。 最终模型的回归系数(id = 4)可以按以下方式访问: 或者,仅使用选定的预测变量来计算线性模型: 参考内容: 1. Alboukadel Kassambara, Machine Learning Essentials: Practical Guide in R 2. 百度百科:逐步回归 投必得SCI写作神器大集合! 参加培训写SCI,7000值得吗?有哪些好的科研习惯?撰写 SCI 论文时,有什么好用的软件或者技巧吗?我有一篇论文写好了,去哪可以找到合适的期刊呢?sci-hub所有的网址都已经挂掉了,不能用!像我这种每天都要看文献,公司又没有买数据库的该怎么办!?怎样有效率地进行外文文献检索?该如何学习 R 语言? 如果您觉得我说的还有点意思,请点赞让我感到您的支持,您的支持是我写作最大的动力~ ijournal:高颜值的期刊检索网站,助您快速找到理想目标期刊(weixin小程序也上线了哦) 投必得:全专业中英文论文润色编辑助力您的论文快速发表,了解业务详情
专栏传送门: 投必得科研软件安装使用手册;投必得:SCI期刊介绍与选择;投必得,教你写论文;投必得统计分析大讲堂;投必得科研生活解忧杂货店
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/73561.html