前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言广义线性模型(GLM)、全子集回归模型选择、检验分析全国风向气候数据

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

原创
作者头像
拓端
发布2022-12-17 21:48:59
8470
发布2022-12-17 21:48:59
举报
文章被收录于专栏:拓端tecdat拓端tecdat

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

原文出处:拓端数据部落公众号

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

采样时间:2021年1月1号~2021年12月31号 采样地点:全国各地。

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

读取数据

image.png
image.png
image.png
image.png
代码语言:javascript
复制
library(car)
library(MuMIn)
head(data)
image.png
image.png

读取因变量

代码语言:javascript
复制
numberFaults=data$numblts

head(data1)     
image.png
image.png
image.png
image.png

相关分析

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

部分指标的箱线图

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

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

image.png
image.png

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

glm 线性回归模型

代码语言:javascript
复制
summary(glm.po)
image.png
image.png
2 (1).png
2 (1).png

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

代码语言:javascript
复制
kappa(cor(data[,c(1:15,17:20)]), exact=T)
代码语言:javascript
复制
## [1] 3.020456e+18

判断多重共线性变量

image.png
image.png

进一步模型优化

代码语言:javascript
复制
step(glm.po2)
image.png
image.png
代码语言:javascript
复制
summary(glm.step)
image.png
image.png
代码语言:javascript
复制
vif
image.png
image.png

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

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

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

image.png
image.png

重新拟合模型

image.png
image.png
image.png
image.png

优化模型

代码语言:javascript
复制
avg(ms1, subset = delta < 10,fit=T,rank = "AIC")

残差图

代码语言:javascript
复制
plot(pre-numberFaults)
image.png
image.png

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

代码语言:javascript
复制
Rsquare=ssr/sst
image.png
image.png

从逻辑回归结果来看,模型中部分自变量对因变量的影响较为明显,达到了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较大,可能会对模型产生较大的影响。


QQ截图20220517150756.png
QQ截图20220517150756.png

最受欢迎的见解

1.R语言多元Logistic逻辑回归 应用案例

2.面板平滑转移回归(PSTR)分析案例实现

3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R语言泊松Poisson回归模型分析案例

5.R语言回归中的Hosmer-Lemeshow拟合优度检验

6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

7.在R语言中实现Logistic逻辑回归

8.python用线性回归预测股票价格

9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 全文链接:http://tecdat.cn/?p=30914
  • 原文出处:拓端数据部落公众号
  • 读取数据
  • 读取因变量
  • 相关分析
  • 部分指标的箱线图
  • 查看各变量之间的相关系数
  • glm 线性回归模型
  • 检验是否存在多重共线性问题
  • 判断多重共线性变量
  • 进一步模型优化
  • 全子集回归来选出最优的模型
  • 重新拟合模型
  • 优化模型
  • 残差图
  • 计算R-squre值,查看模型拟合情况
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档