R语言使用surveyCV包对NHANES数据(复杂调查加权数据)进行10折交叉验证

news2024/10/6 6:49:09

美国国家健康与营养调查( NHANES, National Health and Nutrition Examination Survey)是一项基于人群的横断面调查,旨在收集有关美国家庭人口健康和营养的信息。
地址为:https://wwwn.cdc.gov/nchs/nhanes/Default.aspx

在这里插入图片描述
既往咱们通过多篇文章对复杂加权数据的线性模型、逻辑回归模型、生存分析模型进行了分析。我们在建立数据模型后通常希望在外部数据验证模型的检验能力。然而当没有外部数据可以验证的时候,交叉验证也不失为一种方法。交叉验验证(交叉验证,CV)则是一种评估模型泛化能力的方法,广泛应用中于数证据采挖掘和机器学习领域,在交叉验证通常将数据集分为两部分,一部分为训练集,用于建立预测模型;另一部分为测试集,用于测试该模型的泛化能力。
咱们既往文章《基于R语言进行K折交叉验证》介绍了普通数据交叉验证,今天咱们来介绍一下使用surveyCV包进行复杂加权数据交叉验证,
该包通过在创建 CV 折叠以及计算测试集损失估计时考虑分层、聚类、FPC 的调查权重MSE(均方误差),对复杂的调查数据实现交叉验证 (CV)。模型,或逻辑模型的二元交叉熵)。
咱们先导入R包和数据

library(surveyCV)
library(survey)
library(ISLR)
data("api")

在这里插入图片描述
这次使用survey自带的加州学生的数据,包含有学生的成绩和其他数据。这个数据集带有6个数据,咱们使用的是apistrat数据
假设咱们想了解api00和ell线性关系,nfolds代表你想用多少折,其他都是一些调查函数的参数。
咱们先写出它的函数,这是一个默认线性函数

a<-"api00~ell"
cv.svy(apistrat, a,
       nfolds = 10, strataID = "stype", weightsID = "pw", fpcID = "fpc")

在这里插入图片描述
这样结果就出来了,这里的mean相当于MSE的平均值,表示误差的平均值,它可以有助于改善我们的模型,它和单用svymean函数这种算法是完全不一样的
如果咱们想了解多个模型

cv.svy(apistrat, c("api00~ell",
                   "api00~ell+meals",
                   "api00~ell+meals+mobility"),
       nfolds = 10, strataID = "stype", weightsID = "pw", fpcID = "fpc") 

在这里插入图片描述
这样就轻松出结果了,非常方便好用。我们可以看到添加协变量以后,MSE出现明显变化,变小了,表明添加协变量有助于改善MSE。
如果我们想指定集群而不是分层,更改一下clusterID这个变量,也非常方便

cv.svy(apiclus1, c("api00~ell",
                   "api00~ell+meals",
                   "api00~ell+meals+mobility"),
       nfolds = 10, clusterID = "dnum", weightsID = "pw", fpcID = "fpc")

在这里插入图片描述
如果咱们是有调查函数的,咱们需要用到cv.svydesign这个函数,指定一下就可以了

dstrat <- svydesign(id = ~1, strata = ~stype, weights = ~pw, data = apistrat, fpc = ~fpc)
cv.svydesign(formulae = c("api00~ell",
                          "api00~ell+meals",
                          "api00~ell+meals+mobility"),
             design_object = dstrat, nfolds = 10)

在这里插入图片描述
如果是已经生成了svyglm模型的,咱们需要使用cv.svyglm这个函数指定

glmstrat <- svyglm(api00 ~ ell+meals+mobility, design = dstrat)
cv.svyglm(glmstrat, nfolds = 10)

在这里插入图片描述
如果咱们是逻辑回归而不是线性回归,先生成一个调查函数

library(splines)
NSFG.svydes <- svydesign(id = ~SECU, strata = ~strata, nest = TRUE,
                         weights = ~wgt, data = NSFG_data)

生成结果

NSFG.svyglm.logistic <- svyglm(LBW ~ ns(age, df = 3), design = NSFG.svydes,
                               family = quasibinomial())
cv.svyglm(glm_object = NSFG.svyglm.logistic, nfolds = 4)

在这里插入图片描述
在这种情况下,平均列显示二进制交叉熵损失的平均值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1150779.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

世界前沿技术发展报告2023《世界航空技术发展报告》(六)航空动力技术

&#xff08;六&#xff09;航空动力技术 1.军用航空动力技术1.1 美国空军授出下一代自适应推进项目合同1.2 法国完成下一代战斗机发动机原型机地面测试1.3 美国通用电气公司为美国陆军测试首台T901涡轴发动机1.4 美国液体活塞公司研制高功重比重油发动机 2.民用航空动力技术2.…

这样刻《少年强则国强》也行……

孙溟㠭篆刻《少年强则国强 》 这是篆书&#xff0c;隶书&#xff0c;简化字刻法有点意思。 孙溟㠭篆刻《少年强则国强》

信息系统项目管理师教程 第四版【第7章-项目立项管理-思维导图】

信息系统项目管理师教程 第四版【第7章-项目立项管理-思维导图】 课本里章节里所有蓝色字体的思维导图

一文告诉你样机是什么,分享几个常用的样机模板

一个项目的诞生通常需要经历头脑构思、绘制设计和最终着陆。在这个过程中&#xff0c;样机制作往往是在着陆实践之前进行的。俗话说&#xff1a;“样机使用得好&#xff0c;草稿过早”。样机设计是产品或网站最终设计的生动、静态和视觉表现。它为用户提供了一种模拟现实的方式…

大语言模型有什么魅力?和生成式AI是一回事吗?亚马逊云科技可以告诉你

大语言模型和生成式AI有什么关系呢&#xff1f;大语言模型为什么这么火&#xff1f;一提到大语言模型&#xff0c;想必大家第一个想到的就是ChatGPT这样的自然语言处理工具&#xff0c;那么大语言模型是什么&#xff1f;大语言模型和生成式AI是什么关系&#xff1f;就让我以亚马…

HackerOne 已向白帽支付了超 3 亿美元漏洞赏金

知名网络安全公司HackerOne近日宣布&#xff0c;自2012年成立以来&#xff0c;其漏洞赏金计划已向白帽和漏洞研究人员发放了超 3 亿美元的奖励。 HackerOne提供了一个漏洞赏金平台&#xff0c;将企业与白帽的安全专业知识、资产发现、持续评估和流程增强相结合&#xff0c;以发…

OSEK-任务调度机制

如下图所示&#xff0c;在调度表中有很多 Expiry Points&#xff0c;下面是一个20ms的调度表。有每2.5ms触发一次2.5ms的TASK&#xff0c;以及等等其他按照时间的TASK触发&#xff1b;并且根据配置也可以看出&#xff0c;所有的任务都是基于全抢占模式触发的&#xff0c;也就是…

如何完全卸载HbuilderX(全网最详细)

前序 今天本来想发行打包安卓端,结果发现突然就不行了(前天还行)报错 排查 然后我找了各种原因,排查了很久才发现是HbuilderX编辑器的问题,机智如我所以我们需要重新去下载一个HbuilderX,但是问题来了,很多人不知道怎么卸载,我自己网上也百度了很久没有正确简单的方法,直…

c: two-dimensional array

/*** ****************************************************************************** file twoDimensional.h* brief 二维数组 Pointers and 2-D arrays* author geovindu,Geovin Du,涂聚文 (geovindu163.com)* ide: vscode c11,c17 windows 10* date…

2023年N1叉车司机证模拟考试题库及N1叉车司机理论考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年N1叉车司机证模拟考试题库及N1叉车司机理论考试试题是由安全生产模拟考试一点通提供&#xff0c;N1叉车司机证模拟考试题库是根据N1叉车司机最新版教材&#xff0c;N1叉车司机大纲整理而成&#xff08;含2023年…

生产级 React 框架介绍

文章目录 生产级 React 框架生产级 React 框架Next.jsRemixGatsbyExpo 如何选择生产级 React 框架 生产级 React 框架 React 是一个流行的 JavaScript 框架&#xff0c;用于构建用户界面。React 框架可以帮助你快速构建高质量的 React 应用&#xff0c;但并不是所有的 React 框…

Linux下GPIO和看门狗应用编程

文章目录 GPIO应用编程看门狗应用编程 GPIO应用编程 应用层操控硬件可以通过操作这些硬件的设备文件来进行&#xff0c;设备文件是各种硬件设备向应用层提供的一个接口&#xff0c;应用层通过对设备文件的I/O操作来操控硬件设备。设备文件通常在/dev/目录下&#xff0c;该目录…

react:生命周期

一、生命周期阶段 官方文档&#xff1a;https://zh-hans.legacy.reactjs.org/docs/react-component.html React组件生命周期可分为三个阶段&#xff1a;挂载、更新、卸载 挂载&#xff1a;当组件实例被创建并插入 DOM 中时。其生命周期调用顺序如下&#xff1a; constructor()s…

rfsoc FPGA 49DR 16收16发模块

前面简单介绍过RFSOC板卡 https://blog.csdn.net/jingjiankai5228/article/details/114734631 整体来说RFSOC降低了传统AD DA软硬件开发难度&#xff0c;但是同样存在整数点FS/N谐波大的问题 交织采样是通过多个AD拼接完成的&#xff0c;所以校准比较关键&#xff0c;和以前常…

【算法练习Day33】不同路径不同路径 II

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 不同路径不同路径 II总结&a…

腾讯云轻量服务器“镜像类型”以及“镜像”选择方法

腾讯云轻量应用服务器镜像类型分为应用镜像、系统镜像、Docker基础镜像、自定义镜像和共享镜像&#xff0c;腾讯云百科txybk.com来详细说下不同镜像类型说明和详细介绍&#xff1a; 轻量应用服务器镜像类型说明 腾讯云轻量应用服务器 应用镜像&#xff1a;独有的应用镜像除了包…

RHCE---作业4

一.批量创建账户 .编写脚本for1.sh,使用for循环创建20账户&#xff0c;账户名前缀由用户从键盘输入&#xff0c;账户初始密码由用广输入&#xff0c;例如: test1、test2、test3、.....、 test10 read -p "请输入账户前缀名&#xff1a;" user read -p "请输入…

低代码软件在酒店行业的应用:提升效率与创新!

疫情放开后&#xff0c;旅游业开始兴盛发展&#xff0c;酒店行业也恢复了疫情前的繁忙。但是由于管理架构上的不完善导致很多酒店并不能很好地承接巨大的客流量&#xff0c;而消费者在旅游过程对体验要求是最高的&#xff0c;所以酒店拥有一个能够高效运营的管理系统至关重要。…

前端接口请求支持内容缓存和过期时间

前端接口请求支持内容缓存和过期时间 支持用户自定义缓存时间&#xff0c;在规则时间内读取缓存内容&#xff0c;超出时间后重新请求接口 首先封装一下 axios&#xff0c;这一步可做可不做。但是在实际开发场景中都会对 axios 做二次封装&#xff0c;我们在二次封装的 axios …