R统计绘图-多元线性回归(平均加权模型/最优子集筛选,MuMIn)
创始人
2025-05-31 19:54:36
0

此文介绍如何使用MuMIn包使用最优子集法进行多重线性回归的模型筛选以及模型平均。多重线性回归需要进行的数据检验过程都写在R统计绘图-多重线性回归(最优子集法特征筛选,leaps)中了。大家可以自行查看。

一、数据准备

# 设置工作路径
#knitr::opts_knit$set(root.dir="D:\\EnvStat\\EcoEvoPhylo\\MLR")# 使用Rmarkdown进行程序运行
Sys.setlocale('LC_ALL','C') # Rmarkdown全局设置
#options(stringsAsFactors=F)# R中环境变量设置,防止字符型变量转换为因子# 1.1 导入数据
library(tidyverse)
da <- read.csv("data.csv",row.names = 1)
da %>%head()da.scale <- da %>%mutate(across(.cols = !contains(c("condition","depth","grazing")),.fns = scale), # 对数值数据进行标准化grazing = factor(grazing, levels = c("CK","LG","MG","HG")) # 将因子变量设置为实验设计顺序。#若要将分类变量用作线性回归分析,一定要进行此设置,将对照组排在第一位,分析时其会作为哑变量,即,它在回归方程中的回归系数会为0。) %>% #summarise_if(is.numeric,scale) %>% # 对数值数据进行标准化,且不保留分类变量data.frame()
da.scale %>%head()

图1|环境因子及分组信息表,data.csv。行为样品名称,列为环境因子名称和分组信息,共有11个环境变量,3个分组信息。

二、 模型构建

最优子集回归:算法使用所有可能的特征组合来拟合模型。分析者需要应用自己的判断和统计分析来选择最优模型。当特征数多于观测数时,这个方法的效果就不会好。此处介绍如何使用MuMIn包进行最优子集回归,筛选特征,根据模型筛选准则筛选模型以及构建平均加权模型。

2.1 最优子集特征选择-MuMIn包

library(MuMIn)
# 2.1.1 全模型构建
fm1 <- lm(# 可在此处选择自变量pH ~ grazing + depth + TN + TP + TK + Nitrate + Ammonia + AHN + AP + AK + OM + OC,# 不能在此处筛选变量,否则后续构建模型子集会报错。# 即,不能使用da.scale[-1]等data = da.scale,# 不能设置为“na.omit",会报错。na.action = "na.fail" )# 2.1.2 生成模型选择表
## 生成具有全局模型中固定效应项的组合(子集)的模型的模型选择表,具有可选的模型包含规则。
dd <- MuMIn::dredge(# 全模型fm1,# 模型子集的排序基准。rank = "BIC", # 回归系数标准化方法。beta = "partial.sd",# 设置输出的模型筛选指数。extra = alist(AICc,AIC, BIC, ICOMP, Cp,"R^2","adjR^2"),# 设置某变量包含在所有模型中。#fixed = "AP",# 设置模型筛选方式,只输出包含AP的模型子集。#subset = expression(AP))
dd %>%summary()# 2.1.3 模型筛选方法一:提取最佳拟合模型
fm_best <- get.models(dd, 1)[[1]]
fm_best %>%summary()

图2|基于BIC筛选的最优模型。输出结果中Estimate, Std. Error, t value, Pr(>|t|):依次表示对应自变量的回归系数及其标准误,回归系数检验的t检验统计量及其p值。F-statistic: 40.4 on 7 and 28 DF, p-value:5.502e-13 则是是对整个模型的显著性检验。分类因子作为自变量时,因子中的每个分类水平都会有一个回归系数,第一个分类水平作为哑变量,其回归系数为0。此模型中grazingCK和depth0-10cm的回归系数为0。

2.2 平均加权模型-MuMIn包

利用MuMIn包dredge()生成所有自变量可能组合出的模型,并根据BIC排序。然后使用MuMIn::model.avg()利用模型平均的方法获得所有满足筛选条件的模型加权后的最优模型参数估计。

# 2.2.1 生成所有模型统计量表-包含模型F检验结果
d2 <- MuMIn::dredge(fm1,# 设置模型包含的terms(回归系数)数目(截距除外)# (1,NA)表示模型中至少要有一个回归系数。m.lim = c(1, NA), rank = "BIC",extra = list("BIC","AIC","adjR^2","*" = function(x) {s <- summary(x)c(Rsq = s$r.squared, adjRsq = s$adj.r.squared,F = s$fstatistic[[1]])})
)
d2 %>%summary()# 2.2.2 模型筛选方法二:模型平均加权获得最优模型
##根据delta AICc筛选模型:ΔAICc<2的模型被认为具有相同的优良性。
## 提取delta AICc<2的所有模型
fm_d2 <- get.models(d2, delta < 2)
fm_d2 # 输出结果是一个模型列表数据。## 根据信息准则模型平均
##运行dredge(),未设置rank时,最好先使用get.models()提取模型,再传递给model.avg(),否则predict()等函数可能会对平均后模型不起作用。
##平均模型涉及因子变量时,需要注意,模型子集可能包含因子的不同分类,目前对此进行平均会产生毫无意义的结果。
fm_avg1 <- model.avg(fm_d2,beta = "partial.sd")fm_avg1 %>%summary()

图3|输出满足筛选条件的模型子集,fm_d2。

图4|输出满足筛选条件的模型子集,fm_avg1。平均加权模型中包含的模型子集以及"full"和““subset””平均模型的回归系数检验结果。

## 直接使用model.avg()进行模型筛选和平均,结果是一样的。
##dredge()未设置rank时,运行此函数设置fit=TRUE,否则平均加权后模型使用不了predict()等函数。
fm_avg2 <- model.avg(d2, subset = delta < 2,beta = "partial.sd",# 评估模型fit = TRUE)fm_avg2 %>%summary()## 其他筛选条件:根据95% confidence筛选
model.avg(dd, subset = cumsum(weight) <= .95) # get averaged coefficients# 2.2.3 将所有优良模型加权后的最优模型参数估计
## 平均加权模型汇总统计
fm_avg <- fm_avg2 %>%summary()fm_avg %>%str() # 查看模型中包含的信息## 自变量数据表
fm_avg$x## 每个变量被多少个模型包括及其权重
fm_avg$sw## 模型子集中包含的回归方程式,自由度和模型筛选信息准则。
fm_avg$msTable## 平均模型系数:包含“full"和”subset”两种形式。
##"full"平均表示计算平均回归系数时,假设变量在所有子模型中都存在,只是在部分模型(回归公式中不存在该变量的模型)中系数为0。
##"full"平均"与“subset”平均不同的是,它没有偏离零的倾向。“full”平均是一种收缩估计器,对于与响应变量关系较弱的子变量,它比“subset”平均得到的值更小。
##‘subset’ (‘conditional’) 平均表示只平均该变量回归系数存在的模型。
fm_avg$coefficients## "full"平均加权模型的变量回归系数、标准误,z检验值和p值。
fm_avg$coefmat.full## "subset"平均加权模型的变量回归系数、标准误,z检验值和p值。
fm_avg$coefmat.subset## 每个变量被多少个模型包括
fm_avg$coef.nmod## 运行公式
fm_avg$call## 反应式
fm_avg$formula ## 模型残差
fm_avg$residuals## 三维数组:包含每个模型参数的统计量,自由度和标准误差。
fm_avg$coefArray## “full"平均模型预测
predict(fm_avg2,full = TRUE)## 计算“full"平均模型置信区间
confint(fm_avg2,full = TRUE)## 提取“full"平均模型回归系数
predict(fm_avg2,full = TRUE)## 计算“full"平均模型的方差-协方差矩阵
vcov(fm_avg2,full = TRUE)

数据及代码可以QQ交流群文件夹中下载,或微信公众号后台发送“MLR2”获取。

原文链接:R统计绘图-多重线性回归(平均加权模型/最优子集筛选,MuMIn)


R绘图-物种、环境因子相关性网络图(简单图、提取子图、修改图布局参数、物种-环境因子分别成环径向网络图)

R统计绘图-分子生态相关性网络分析(拓扑属性计算,ggraph绘图)

R统计绘图-变量分组相关性网络图(igraph)

机器学习-分类随机森林分析(randomForest模型构建、参数调优、特征变量筛选、模型评估和基础理论等)

R统计绘图-多重线性回归(最优子集法特征筛选,leaps)

R统计绘图 | 物种组成堆叠柱形图(绝对/相对丰度)

R统计绘图 | 物种组成冲积图(绝对/相对丰度,ggalluvial)

R统计绘图 | 物种组成桑基图(不同分类单元微生物丰度及其从属关系,ggalluvial) -免费送书

R统计绘图 | 物种组成堆叠面积图(绝对/相对丰度,ggalluvial)

R统计绘图 | 物种组成气泡图和聚类热图(ggplot2/ComplexHeatmap)

R统计绘图-随机森林分类分析及物种丰度差异检验组合图

机器学习-多元分类/回归决策树模型(tree包)

R统计绘图-环境因子相关性+mantel检验组合图(linkET包介绍1)

R统计绘图-NMDS、环境因子拟合(线性和非线性)、多元统计(adonis2和ANOSIM)及绘图(双因素自定义图例)

R统计绘图-RDA分析、Mantel检验及绘图

R绘图-RDA排序分析R统计绘图-VPA(方差分解分析)

R统计绘图-PCA详解1(princomp/principal/rcomp/rda等)

R统计-PCA/PCoA/db-RDA/NMDS/CA/CCA/DCA等排序分析教程

R统计绘图-PCA分析绘图及结果解读(误差线,多边形,双Y轴图、球形检验、KMO和变量筛选等)

R统计-微生物群落结构差异分析及结果解读

R统计绘图-PCA分析及绘制双坐标轴双序图

R统计绘图-分子生态相关性网络分析

R中进行单因素方差分析并绘图

R统计-多变量单因素参数、非参数检验及多重比较

R绘图-相关性分析及绘图

R绘图-相关性系数图

R统计绘图-环境因子相关性热图

R统计绘图-corrplot绘制热图及颜色、字体等细节修改

R统计绘图-corrplot热图绘制细节调整2(更改变量可视化顺序、非相关性热图绘制、添加矩形框等)

R数据可视化之美-节点链接图

R统计绘图-rgbif包下载GBIF数据及绘制分布图

R统计-单因素ANOVA/Kruskal-Wallis置换检验

R统计-正态性分布检验[Translation]

R统计-数据正态分布转换[Translation]

R统计-方差齐性检验[Translation]

R统计-Mauchly球形检验[Translation]

R统计绘图-单、双、三因素重复测量方差分析[Translation]

R统计绘图-混合方差分析[Translation]

R统计绘图-协方差分析[Translation]

R统计绘图-One-Way MANOVA

文献管理 | Endnote使用小技巧(修改引文格式、合并文献库、删除重复文献和更新文献信息等)

Alignment--本地blast使用详解1-数据库序列检索下载及比对

相关内容

热门资讯

最赚钱的健康行业,关于健康养生...   现在很多行业都存在这样的问题。无论是健康店还是餐厅,如何增加客流量是最头疼的问题。在这个竞争激烈...
就业工作下一步打算 就业工作下...   大专生的出路在哪里,他们有没有前途?过来人总结在大家都有本科文凭的情况下,大学生的学历是不够的。...
创业金一万元怎么申请,创业金怎...   深圳户口创业补贴可行吗?深户初始创业补贴根据深圳市人力资源和社会保障局发布的《深圳市创业扶持补贴...
怎么讲解创业ppt,创业的心态...   这是集中和隔离的好时机。14天了,我要是什么都不做肯定要疯了。我只是想整理一下这些年的经历和思考...
瑞立科密主板IPO注册生效 转自:北京商报北京商报讯(记者 马换换 王蔓蕾)深交所官网显示,广州瑞立科密汽车电子股份有限公司(以...
坚持立德树人 今年高考命题有何... 转自:北京日报客户端6月7日,2025年全国高考语文、数学考试举行。今年是新课标在全国高考中全面落地...
刚创业小公司怎样吸引人才,创业...   如上所述,团队里有三种人,训练方式不同。如果不知道,可以导航一下,谈谈管理-人才培养方式是否可以...
新农民新技术创业创新博览会,农...         本报讯(通讯员张远)近日,在第五届湖南省农村创业创新大赛暨第八届湖南省青年创业创新大...
我要创业做什么,重新开始创业要...   125名粉丝      00,最大的才22岁。这个年龄是人生最美好的一天,可以无忧无虑的学习知识...
独家 | 老狼巡演到上海,后台... 2025年6月6日,老狼剧场版巡回演唱会《纯真年代》上海站落幕。在音乐人和亲友团的余兴派对(afte...
想开装修公司要懂哪些,创业装修...   00-1010怎样才能当好一个安装公司的老板?      相信很多家装业主还没想通。      ...
河北“4·23”桥梁支架垮塌事... 交通运输部对河北省邯港高速公路工程南运河特大桥“4·23”桥梁支架垮塌事故挂牌督办近日,交通运输部根...
小白开淘宝店的流程 小白开淘宝...   很多电子商务公司,小白,在开淘宝店的时候总是会遇到各种各样的问题。所以今天边肖就和大家分享一下,...
安徽一市政协办公室、市委政法委... 转自:四川在线《安徽日报》6月8日消息,6月1日,中央层面学习教育工作专班、中央纪委办公厅公开通报2...
祝福的话,祝福创业成功 祝福的...   日前,有网友展示了一段伊能静之子哈利新品发布会的视频,称在现场感受到满满的亲情,祝哈利加油。从她...
男子持续“打嗝”一个多月,竟是... 来源:南国早报 50多岁的吴先生频繁“打嗝”一个多月,症状严重到失眠。他到医院就诊,被诊断为呃逆,一...
颠覆性生物冶金技术在包头落地!... 转自:草原云6月7日,北方稀土产业技术研发中心、稀土新材料技术创新中心产业技术研发中心和生物冶金联合...
世昌股份北交所IPO提交注册 转自:北京商报北京商报讯(记者 马换换 王蔓蕾)北交所官网显示,6月6日,河北世昌汽车部件股份有限公...
走进企业看信心|“绿色心脏”赋...   以低碳技术打造“绿色心脏”,是当前全球航运业转型和船舶动力系统发展的重要方向。在山东青岛,船舶动...
十二年了,苹果怎么想起来改UI...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 作者 | 王飞邮箱 ...