R语言广义线性模型(GLM)、全子集回归模型选择、检验分析全国风向气候数据|附代码数据

发布时间 2024-01-04 22:13:42作者: 拓端tecdat

全文链接:http://tecdat.cn/?p=30914

最近我们被客户要求撰写关于广义线性模型(GLM)的研究报告,包括一些图形和统计输出。

我们正和一位朋友讨论如何在R软件中用GLM模型处理全国的气候数据。本文获取了全国的2021年全国的气候数据

采样时间:2021年1月1号~2021年12月31号 

采样地点:全国各地。

本次调查搜集了2021年全国不同地区的风向、降雨量、风速、风速变化、最大风速、最大降雨量、闪电概率等数据。并对不同变量之间的相关性进行了调查,对国家数据预测的错误率进行了GLM模型拟合。

读取数据

图片

图片

 
 
library(car)
library(MuMIn)
head(data)

图片

读取因变量

 
 
numberFaults=data$numblts

head(data1)

图片

图片

相关分析

调查的出的各指标数据用R软件进行处理并且用箱图进行对比显示。

部分指标的箱线图

图片

图片

图片

图片

图片

图片

查看各变量之间的相关系数

图片

有显著的相关关系。从变量相关关系图和矩阵,可以看到temperatureMin和temperatureMax,windChillMin,windChillMax,以及gustSpeed和windSpeed之间,rainfall和changeInRainfall,以及lightningRisk和lightningCategory之间都有教明显的线性相关关系。yearDay和windChill之间也有一定的相关关系。

glm 线性回归模型

 
 
summary(glm.po)

图片

图片


点击标题查阅往期内容

图片

数据分享|R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

检验是否存在多重共线性问题

 
 
kappa(cor(data[,c(1:15,17:20)]), exact=T)
 
 
## [1] 3.020456e+18

判断多重共线性变量

图片

进一步模型优化

 
 
step(glm.po2)

图片

 
 
summary(glm.step)

图片

 
 
vif

图片

从模型中变量的VIF值来看,大多数变量之间不存在较强的多重共线性关系。从残差拟合图来看,大部分样本拟合值分布在0周围,说明拟合结果较理想。981,2331和524号样本可能为异常点。从正态分布qq图来看,大部分点分布在图中直线附近。说明样本点服从正态分布。同样,拟合值的标准残差也分布在红线周围,说明拟合效果较好。同样,大部分样本的cook’ distance距离在正常范围内,392,624,622号样本的cook’ distance较大,可能会对模型产生较大的影响。

全子集回归来选出最优的模型

全子集回归,即基于全模型获得可能的模型子集,并根据AIC值等对子集排序以从中获取最优子集。

图片

重新拟合模型

图片

图片

优化模型

 
 
avg(ms1, subset = delta < 10,fit=T,rank = "AIC")

残差图

 
 
plot(pre-numberFaults)

图片

计算R-squre值,查看模型拟合情况

 
 
Rsquare=ssr/sst

图片

从逻辑回归结果来看,模型中部分自变量对因变量的影响较为明显,达到了0.01的显著性水平,具有一定的理论意义。然而从AIC的值来看,达到了4024.881,数值较大,说明模型的拟合度较差,有进一步改进的空间。一般认为计算条件数kappa(X),k<100,说明共线性程度小,如果1001000,存在严重的多重共线性。从结果来看,kappa值远远大于1000,因此判断该模型存在严重的共线性问题,即线性回归模型中的解释变量之间由于存在精确相关关系或高度相关关系而使模型估计失真或难以估计准确。changintemp,changinrainfall,windspeedmin,lightningcategory ,rainfallMax之间存在较高的相关关系会对模型的拟合失真并且难以用以估计和预测,因此,删掉这些变量后重新对模型进行拟合。删除部分共线性程度高的变量后可以看到模型的AIC降低了,因此,模型的拟合程度提高了。大部分样本的cook’ distance距离在正常范围内,392,624,622号样本的cook’ distance较大,可能会对模型产生较大的影响。

图片

图片

点击文末 “阅读原文”

获取全文完整代码数据资料。

本文选自《R语言广义线性模型(GLM)、全子集回归模型选择、检验分析全国风向气候数据》。

点击标题查阅往期内容

R语言用Rshiny探索lme4广义线性混合模型(GLMM)和线性混合模型(LMM)
R语言用潜类别混合效应模型(Latent Class Mixed Model ,LCMM)分析老年痴呆年龄数据
R语言贝叶斯广义线性混合(多层次/水平/嵌套)模型GLMM、逻辑回归分析教育留级影响因素数据R语言估计多元标记的潜过程混合效应模型(lcmm)分析心理测试的认知过程
R语言因子实验设计nlme拟合非线性混合模型分析有机农业施氮水平
R语言非线性混合效应 NLME模型(固定效应&随机效应)对抗哮喘药物茶碱动力学研究
R语言用线性混合效应(多水平/层次/嵌套)模型分析声调高低与礼貌态度的关系
R语言LME4混合效应模型研究教师的受欢迎程度R语言nlme、nlmer、lme4用(非)线性混合模型non-linear mixed model分析藻类数据实例
R语言混合线性模型、多层次模型、回归模型分析学生平均成绩GPA和可视化
R语言线性混合效应模型(固定效应&随机效应)和交互可视化3案例
R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据R语言 线性混合效应模型实战案例
R语言混合效应逻辑回归(mixed effects logistic)模型分析肺癌数据
R语言如何用潜类别混合效应模型(LCMM)分析抑郁症状
R语言基于copula的贝叶斯分层混合模型的诊断准确性研究
R语言建立和可视化混合效应模型mixed effect model
R语言LME4混合效应模型研究教师的受欢迎程度
R语言 线性混合效应模型实战案例
R语言用Rshiny探索lme4广义线性混合模型(GLMM)和线性混合模型(LMM)
R语言基于copula的贝叶斯分层混合模型的诊断准确性研究
R语言如何解决线性混合模型中畸形拟合(Singular fit)的问题
基于R语言的lmer混合线性回归模型
R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型
R语言分层线性模型案例
R语言用WinBUGS 软件对学术能力测验(SAT)建立分层模型
使用SAS,Stata,HLM,R,SPSS和Mplus的分层线性模型HLM
R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型
SPSS中的多层(等级)线性模型Multilevel linear models研究整容手术数据
用SPSS估计HLM多层(层次)线性模型模型