首页 > 其他分享 >R语言拟合改进的稀疏广义加性模型(RGAM)预测、交叉验证、可视化

R语言拟合改进的稀疏广义加性模型(RGAM)预测、交叉验证、可视化

时间:2023-11-29 23:35:17浏览次数:52  
标签:加性 fit predict lambda 可视化 拟合 RGAM rgam

全文链接:https://tecdat.cn/?p=34409

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

简介

这是一种拟合稀疏广义加性模型(GAM)的新方法。RGAM具有计算可扩展性,并且适用于连续、二进制、计数和生存数据。

让我们生成一些数据:

  R
set.seed(1)
n <- 100; p <- 12

mu = rowSums(x[, 1:3]) + f4 + f5 + f6

我们使用最基本的rgam来拟合模型:

  R
fit <- rgam

下面,我们使用不同的init_nz值拟合模型:

RGAM算法第2步的自由度超参数可以通过df选项进行设置,默认值为4。以下是使用不同超参数拟合RGAM模型的示例:

  R
 gamma = 0.6, df = 8

函数rgam()为一系列lambda值拟合RGAM模型,并返回一个rgam对象。

image.png

nzero_featnzero_linnzero_nonlin键告诉我们每个lambda值包含的特征、线性组件和非线性组件的索引。

预测

可以通过使用predict方法获得此模型的预测结果:每列给出了一个lambda值的预测结果。

   
# 获取前5个观测值在第20个模型的预测结果
predict(fit, x[1:5, ])[, 20]

image.png

getf()函数是一个方便的函数,可以给出由一个输入变量引起的预测组成部分。也就是说,如果RGAM给出预测结果

image.png

例如,下面的代码给出了第20个lambda值时响应由变量5引起的组成部分:

   
f5 <- get

image.png

我们可以使用以下代码制作一个图表,展示变量5对响应的影响:

   
plot

image.png

图表和摘要

让我们再次拟合基本的rgam模型:

   
fit <- rga

image.png

默认情况下,plot()给出了最后一个 fit 中的 lambda键的拟合函数,并仅给出前4个特征的图表:

   
plot(fit

下载.png

用户可以使用 index 和 which 选项指定 lambda 值的索引和要显示的特征图:

   
plot(fit, x, in

image.png

线性函数以绿色呈现,非线性函数以红色呈现,而零函数以蓝色呈现。

有 summary 方法,允许用户查看线性和非线性特征的系数概况。在每个图表上(一个用于线性特征,一个用于非线性特征),x轴是从大到小的 xi​ 值,y轴是特征的系数。

   
summary

image.png

image.png

默认情况下,系数概况将针对所有变量进行绘制。

   
summary(fit

image.png

image.png

交叉验证(CV)

我们可以使用 k 折交叉验证。

  R
cvfit <- cv.rg

我们可以通过设置 nfolds 参数来改变折数:

  R
cvft <- cv.r

我们可以通过指定 foldid 参数来实现,其中 foldid 是一个长度为 n 的向量。

  R

 gamma = 0.6, foldid = foldid, verbose = FALSE)

cv.rgam() 调用会返回一个 cv.rgam 对象。

  R
plot

image.png

可以从拟合的 cv.rgam 对象中进行预测。

   
predict(cvf s = lambda.1se

image.png

   
predict(cvfn")

image.png

其他类型的RGAM模型

在上述例子中,变量y是一个定量变量(即取值沿实数数轴)。因此,使用默认的rgam()family = "gaussian"是合适的。然而,RGAM算法非常灵活,可以在y不是定量变量时使用。

二元数据的逻辑回归

在这种情况下,响应变量y应该是一个只包含0和1的数字向量。在进行预测时,请注意,默认情况下,predict()仅返回线性预测值,即

image.png

要获取预测的概率,用户必须在predict()调用中传递type = "response"

   
# 拟合二元模型
bin_y <-binomial", init_nz = c(), gamma = 0.9, 
              verbose = FALSE)

# 第10个模型的前5个观察值的线性预测值
predict(bi1

# 第10个模型的前5个观察值的预测概率
predict(

image.png

计数数据的泊松回归

对于泊松回归,响应变量y应该是一个计数数据向量。虽然rgam()不要求每个元素都是整数,但如果任何元素为负,则会报错。

与逻辑回归类似,默认情况下,predict()仅返回线性预测值,即

image.png

要获取预测速率,用户必须在predict()调用中传递type = "response"

对于泊松数据,通常允许用户传入偏移,这是一个与观测数相同长度的向量。rgam()也允许用户这样做:

   
# 生成数据
set.seed(5)
offset <- rnoroffset, verbose = FALSE)

请注意,如果将offset提供给rgam(),则在进行预测时必须还提供一个偏移向量给predict()

   
# 第20个lambda值的速率预测
predict(poifit,ponse")[,20]

image.png

标签:加性,fit,predict,lambda,可视化,拟合,RGAM,rgam
From: https://www.cnblogs.com/tecdat/p/17866184.html

相关文章

  • 十、Docker 可视化与监控
    6.1常用工具介绍当Docker部署规模逐步变大后,可视化监控容器环境的性能和健康状态将会变得越来越重要。Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集......
  • Jmeter压测可视化监控平台
    许多小伙伴在使用Jmeter原生测试报告时,有以下四点困扰: 报告不具备实时性。报告文件的大小随着测试时间的增长而增长,而磁盘存在读写瓶颈,随时都可能崩溃。报告中的数据是测试时间段内的平均值。报告较为冗余,可读性较差。在实际测试过程中,我们一般只关心三条曲线的数据......
  • 哪里可了解低代码数据可视化开发平台?
    如果想要提升办公协作效率,可以用什么样的平台助力实现这一目标?其实,随着市场竞争的日益加剧,低代码技术平台的应用价值也逐渐凸显出来,其可视化、易操作、灵活便利等优势特点,是很多中大型企业倾向于使用的数据可视化开发平台。想要了解低代码数据可视化开发平台的相关信息,通过这篇文......
  • r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据
    原文链接:http://tecdat.cn/?p=23825最近我们被客户要求撰写关于有限正态混合模型EM算法的研究报告,包括一些图形和统计输出。简介本文介绍了基于有限正态混合模型在r软件中的实现,用于基于模型的聚类、分类和密度估计。提供了通过EM算法对具有各种协方差结构的正态混合模型进行参......
  • 智慧农田可视化大数据综合管理平台方案,EasyCVR助力农业高质量发展
    一、背景需求我国是农业大国,农业耕地面积达到20亿亩。随着物联网、大数据、人工智能等新一代信息技术与农业农村加速融合,以及国家对农业的重视,智慧农业对于我国农业现代化建设和实施乡村振兴战略具有重大引领与推动作用。在传统农田生产中,由于缺乏有效的智慧农田管理系统,比如数据......
  • 智慧博物馆视频监控设计,可视化AI智能分析技术助力博物馆多维度监管
    一、背景与需求博物馆视频智能监控系统是智慧博物馆建设的重要组成部分,传统的博物馆视频监控系统以模拟系统架构为主,存在监管效率低、各个系统独立运作形成数据孤岛、以“事后补救”为主要监管手段等管理弊病,无法满足互联网高速发展背景下对博物馆的智能化、可视化、数字化、科学化......
  • 【Lidar】基于Python的Open3D库可视化点云数据
    ​1Open3D库介绍1.1介绍        Open3D是一个开源的3D数据处理库,发布于2015年,目前已经更新到0.17.0版本。它基于MIT协议开源许可,使用C++11实现,并经过高度优化,还通过PythonPybinding提供了前端PythonAPI。 Open3D为开发者提供了一组精心选择的数据结构和算法,内部实......
  • Python用偏最小二乘回归Partial Least Squares,PLS分析桃子近红外光谱数据可视化
    全文链接:https://tecdat.cn/?p=34376原文出处:拓端数据部落公众号PLS,即偏最小二乘(PartialLeastSquares),是一种广泛使用的回归技术,用于帮助客户分析近红外光谱数据。如果您对近红外光谱学有所了解,您肯定知道近红外光谱是一种次级方法,需要将近红外数据校准到所要测量的参数的主要......
  • R语言和Python对copula模型Gaussian、t、Clayton 和 Gumbel 族可视化理论概念和文献计
    原文链接:http://tecdat.cn/?p=27240 原文出处:拓端数据部落公众号最近我们被客户要求撰写关于copula的研究报告,包括一些图形和统计输出。本文包含一些直观的示例来说明copula理论的核心概念。以下是脚本及其各自用途的简短列表:首先演示如何使用高斯copula来模拟具有任意......
  • 新版3D边界地图|助力美观、清晰的可视化展示
    3D边界地图是一种在可视化领域中广泛应用的技术。通过使用该技术,可以将复杂的地理边界信息以直观而清晰的方式展现出来。这种地图形态逼真,能够模拟真实世界的各种地形,如山脉、河流和湖泊等,使得使用者能够更好地理解和分析地理环境。这种地图可以应用于多个领域。在城市规划中,3D边界......