R语言用逻辑回归预测BRFSS中风数据、方差分析anova、ROC曲线AUC、可视化探索

news2024/10/7 11:23:58

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

行为风险因素监测系统(BRFSS)是一项年度电话调查。BRFSS旨在确定成年人口中的风险因素并报告新兴趋势点击文末“阅读原文”获取完整代码数据)。

相关视频

例如,调查对象被询问他们的饮食和每周体育活动、HIV/AIDS状况、可能的吸烟情况、免疫接种、健康状况、健康日数-与健康相关的生活质量、医疗保健获取、睡眠不足、高血压认知、胆固醇认知、慢性健康问题、酒精消费、水果和蔬菜消费、关节炎负担以及安全带使用情况等。

加载数据

load("brfs.RData")

第一部分:关于数据

数据收集:

对于固定电话样本采用了不成比例分层抽样(DSS),移动电话受访者则是随机选择的,每个受访者被选中的概率相等。我们正在处理的数据集共有330个变量,总共有491,775个观测值(2013年)。缺失值用“NA”表示。

泛化能力:

样本数据应该能够推广到感兴趣的总体。这是对18岁及以上的491,775名成年人进行的调查。它基于一个大规模分层随机样本。可能存在的偏差与非响应、不完整的访谈、缺失值和便利性偏差相关(一些潜在的受访者可能因为没有固定电话和手机而未被纳入在内)。

因果关系:

由于BRFSS是一项观察研究,只能建立变量之间的相关性/关联,并不能确定因果关系。

第二部分:研究问题

研究问题1:

在过去30天内,男女性别在身体和心理健康不好的天数分布上是否存在差异?

研究问题2:

受访者接受采访的月份与其自我报告的健康感知之间是否存在关联?

研究问题3:

收入和医疗保险之间是否存在关联?

研究问题4:

吸烟、饮酒、胆固醇水平、血压、体重与中风的关系是什么?最终,我想看到是否可以通过上述变量对中风进行预测。

第三部分:探索性数据分析

研究问题1:

ggplt(aes(x=phhth, fill=sx), data = bfss3[!is.na(brfs13$sex), ])

44d4ffe151af140e58cf85df69eed8ae.png

ggplot+
  geom_hitoam(bns=3, psition= psiion_dg

18e326ba0993be1036ed610ede6e0761.png

gplot(aes(x=prth, filsex), data=br203[!is.nbrfs03$ex), ]) +
  gem_istrm(ns=30, postn = poiioge())

c5e9a9a0c6a51f802c2ff68a67445a88.png

sumary(brss3$ex)

d07d0911c23f59520668f064e8490f24.png

以上三个图显示了男性和女性对过去30天内身体、心理和两者都不好的天数的数据分布。我们可以看到女性受访者远多于男性受访者。

研究问题2:

R
by_mnt <- bs201 %>% fier(iyr=='2013') %>% gop_by(imnth, ghlh) %>% sumaie(n=n())
ggpt(aes(x=ionh, y=n, fill = gehh), data = b_mh[!is.na(by_mt$gehlh), ]) + go_bar(stat = 'idnty', ostin = posion_doe())

e41ca78ddbed3280521bb76ed3edc584.png


点击标题查阅往期内容

fff16b253b523fc8d1f6cfc5a13af752.jpeg

R语言数据可视化分析案例:探索BRFSS数据

outside_default.png

左右滑动查看更多

outside_default.png

01

46918179c400b82b832b88a3ed863e53.png

02

4c0fdec30d8a55992d059a72d75615d5.png

03

3270c91b340e1b11ab97de5a3c455518.png

04

6367a7815d892d9df4d06ae80f8cad7e.png

R
by_mnh1 <- brs13 %>% ftr(iyar=='2013') %>% grup_y(imnh) %>% surse(n=n())
gglot(aes(x=imnh, y=n), daa=bymth1) + gem_ar(stat = 'dentty')

63a118f508c1b8311f8259cf8bbe2375.png

我试图找出人们在不同月份对健康状况的回答是否有所差异。例如,在春季或夏季,人们是否更有可能说自己身体健康?然而,看起来并没有明显的模式可见。

研究问题3:

R
plot(brs203$iome2, brfs13$ltpn1

c0132256f5b0cf21e10893d6645fa862.png

总体来说,高收入的受访者比低收入的受访者更有可能享有医疗保险。

研究问题4:

为了回答这个问题,我将使用以下变量:

  • bphigh4: 是否曾经被告知有高血压

  • toldhi2: 是否曾经被告知有高血胆固醇

  • weight2: 报告的体重(以磅为单位)

  • cvdstrk3: 是否曾被诊断为中风

  • smoke100:至少吸过100支香烟

  • avedrnk2:过去30天内每天平均

首先,将上述变量转换为数值,并查看这些数值变量之间的相关性。

R
slectedfss - brfs2013[vars]
selced_rf$tolhi2 <- iflse(seeted_fss$todh2=="Yes", 1, 0)
corrmarix <- cor(selced_bfss)
corplot(corr.atri

c64a86ade7a8fbb4143344ec8b20ec76.png

没有任何两个数值变量之间似乎存在强相关性。

用逻辑回归预测中风

将答案"Yes, but female told only during pregnancy"和"Told borderline or pre-hypertensive"替换为"Yes"。

R
vr1 <- names(brs013) %in% c('smoke0', 'aedrk2', 'bphg4', 'tldhi2', 'wht', 'cdsrk3')
sroe <- brfs203[vars1]

将'NA'值替换为'No'。

R
4 <- repce(strebh, whch(is.na(stroke$bpig4)), "No")whih(is.na(stroke$soke10)), 'No')

将'NA'值替换为平均值。

R
mean(strke$avedrnk2,.rm = T)

2d7e3983c0e7b5d0816ba0d48756badf.png

R
stoke$vdrk2 <- replce(stoe$aednk2, whch(is.nastroe$avednk2)), 2)

查看将用于建模的数据。

R
hed(sroe)
sumary(sroe)

86b93040027f46da26c3bd9a984cb4f8.png

8bfef24ccb0ffa45f2b8acee0922c162.png

将结果转换为二元结果。

R
strke$vdrk3 <- ifelestrok$cvdsk3=="Ys", 1, 0)

在整理和清理数据之后,现在可以拟合模型。

拟合逻辑回归模型

R
test <- stre[390001:491775,]
odel <- glm(cvdtrk3 ~.,famly=biomil(link = 'logit'),at=trin)
summary(mdel)

8d971aef035ddf5bd0991884fc6ae4fc.png

解释逻辑回归模型的结果:所有变量在统计上都是显著的。

  • 在其他变量相等的情况下,被告知血压高的可能性更容易出现中风。

  • 预测变量toldhi2No的负系数表明,在其他变量相等的情况下,没有被告知血胆固醇高的可能性更不容易中风。

  • 每增加一单位的体重,中风(而不是无中风)的对数几率下降0.00096。

  • 不吸烟至少100支香烟的可能性更小。

  • 过去30天平均每天饮用的酒精饮料每增加一单位,中风的对数几率下降0.027。

R
anva(modl, tet="Chiq")

23c277b6b84064bf1452aac7c1d77a55.png

通过分析偏差表,我们可以看到在逐个添加每个变量时的偏差下降情况。添加bphigh4、toldhi2和smoke100明显降低了残差偏差。其他变量weight2和avedrnk2似乎改善了模型,尽管它们都具有较低的p值。

评估模型的预测能力

R
fite.result <- ifelse(fited.ults > 0.5,1,0)

misCasifEror <- mean(ftted.reuts != testvdtk3)
prnt(pase('Accuracy',1misClasiicEror))

969d374b8751720ffaf0cbbe86d8f7ce.png

测试集上的准确率为0.96非常好。

绘制ROC曲线并计算AUC(曲线下面积)

R
p <- predicodel, newdat=est, te="response")
pr <- prdition(p, tet$cdstrk3)
auc <- uc@y.vaus[[1]]

4958b198d1152961d29f1f9394ae5117.png

0f41203067f5b97209b1cde5af8eaa24.png

最后说明一下,当我们分析健康调查数据时,我们必须意识到自我报告的患病率可能存在偏差,因为受访者可能不了解自己的风险状况。因此,为了获得更精确的估计值,研究人员正在使用实验室测试以及自我报告的数据。


8f1405f9caed7b9305757aa3ccafa467.jpeg

点击文末“阅读原文”

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

本文选自《R语言用逻辑回归预测BRFSS中风数据、方差分析anova、ROC曲线AUC、可视化探索》。

911fe544f3c61a6191c307dd6fd5d977.jpeg

05b75c5cf876effbebff1dfd62a75cd3.png

点击标题查阅往期内容

数据分享|R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病

R语言逻辑回归logistic模型分析泰坦尼克titanic数据集预测生还情况

R语言是否对二分连续变量执行逻辑回归

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

R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析

R语言基于Bagging分类的逻辑回归(Logistic Regression)、决策树、森林分析心脏病患者

R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险

R语言用局部加权回归(Lowess)对logistic逻辑回归诊断和残差分析

R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化

R语言用线性模型进行臭氧预测:加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值

R语言Bootstrap的岭回归和自适应LASSO回归可视化

R语言中回归和分类模型选择的性能指标

R语言多元时间序列滚动预测:ARIMA、回归、ARIMAX模型分析

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

R语言计量经济学:虚拟变量(哑变量)在线性回归模型中的应用

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多层(层次)线性模型模型

R语言空气污染数据的地理空间可视化和分析:颗粒物2.5(PM2.5)和空气质量指数(AQI)

R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析

R语言计算资本资产定价模型(CAPM)中的Beta值和可视化

R语言主成分分析(PCA)葡萄酒可视化:主成分得分散点图和载荷图

R语言时变向量自回归(TV-VAR)模型分析时间序列和可视化

R语言样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化

R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化

R语言对布丰投针(蒲丰投针)实验进行模拟和动态可视化生成GIF动画

R语言信用风险回归模型中交互作用的分析及可视化

R语言生存分析可视化分析

R语言线性回归和时间序列分析北京房价影响因素可视化案例

R语言用温度对城市层次聚类、kmean聚类、主成分分析和Voronoi图可视化

R语言动态可视化:绘制历史全球平均温度的累积动态折线图动画gif视频图

R语言动态图可视化:如何、创建具有精美动画的图

R语言中生存分析模型的时间依赖性ROC曲线可视化

d82b79dcdda11a9b3651d6d64fed897d.png

c691360973ae018535a821534f65c9ad.jpeg

a301f5dac7b3d17778f83734372044e6.png

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

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

相关文章

用户生命周期价值-LTV、PEST分析、集团战略规划方案、麦肯锡的市场研究方法、数据规划架构设计··· | 本周精华...

▲点击上方卡片关注我&#xff0c;回复“8”&#xff0c;加入数据分析领地&#xff0c;一起学习数据分析&#xff0c;持续更新数据分析学习路径相关资料~&#xff08;精彩数据观点、学习资料、数据课程分享、读书会、分享会等你一起来乘风破浪~&#xff09;回复“小飞象”&…

C【分支语句和循环语句】

1.if语句 //多分支 if(表达式1)语句1; else if(表达式2)语句2; else语句3;如果表达式的结果为真&#xff0c;则语句执行。 在C语言中如何表示真假&#xff1f; 0表示假&#xff0c;非0表示真。 #include <stdio.h> int main() {if(表达式){语句列表1&#xff1b;}el…

美团多场景建模的探索与实践

总第574篇 2023年 第026篇 本文介绍了美团到家/站外投放团队在多场景建模技术方向上的探索与实践。基于外部投放的业务背景&#xff0c;本文提出了一种自适应的场景知识迁移和场景聚合技术&#xff0c;解决了在投放中面临外部海量流量带来的场景数量丰富、场景间差异大的问题&a…

JAVA - File类、字节流、字符流、特殊操作流

1.File类的构造方法 File类的创建文件功能 File类的判断和获取功能 File类的删除功能 2.IO流 - 字节流、字符流 字节流 处理字节数据&#xff1a;字节流以字节为单位处理数据&#xff0c;适用于处理二进制文件&#xff08;如图像、音频、视频文件&#xff09;或以字节为基本单…

Unity工具——LightTransition(光照过渡)

需求描述 在游戏中&#xff0c;开发者为了让玩家更直接地看到待拾取的物品从而为其添加一种闪烁效果&#xff0c;或者模拟现实中闪烁的灯光效果&#xff0c;我能够想到的一种方案则是通过控制光照强度来实现&#xff0c;那么本篇文章我们就尝试通过这个方案来实现一下&#xff…

【面试题精讲】你了解String.intern方法吗

有的时候博客内容会有变动&#xff0c;首发博客是最新的&#xff0c;其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 系列文章地址 String.intern 方法是 Java 中的一个方法&#xff0c;「它用于将字符串对象添加到字符串常量池中&#xff0c;并返回常量…

浅谈C++|STL之算法函数篇

一.遍历常用算法 1.1for_each 在 C 中&#xff0c;for_each 是一个算法函数&#xff0c;位于 <algorithm> 头文件中。它接受一个范围&#xff08;容器或迭代器对&#xff09;以及一个函数对象&#xff08;函数指针、函数、lambda 表达式等&#xff09;&#xff0c;用于…

C#,《小白学程序》第二十四课:大数的阶乘(BigInteger Factorial)算法与源程序

1 文本格式 /// <summary> /// 《小白学程序》第二十四课&#xff1a;大数&#xff08;BigInteger&#xff09;的阶乘 /// 用于大数的阶乘算法&#xff08;原始算法&#xff09; /// </summary> /// <param name"a"></param> /// <retur…

【算法挨揍日记】day05——209. 长度最小的子数组、3. 无重复字符的最长子串

209. 长度最小的子数组 209. 长度最小的子数组 题目描述&#xff1a; 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度。如果不存在…

2023-9-14 最长上升子序列

题目链接&#xff1a;最长上升子序列 #include <iostream> #include <algorithm>using namespace std;const int N 1010;int n; int a[N]; int f[N];int main() {cin >> n;for(int i 1; i < n; i ) cin >> a[i];for(int i 1; i < n; i ){f[i]…

【物联网】简要介绍最小二乘法—C语言实现

最小二乘法是一种常用的数学方法&#xff0c;用于拟合数据和寻找最佳拟合曲线。它的目标是找到一个函数&#xff0c;使其在数据点上的误差平方和最小化。 文章目录 基本原理最小二乘法的求解应用举例使用C语言实现最小二乘法总结 基本原理 假设我们有一组数据点 ( x 1 , y 1 …

使用Jconsole监控JMX

使用Jconsole监控 Jconsole启动 直接本地启动jdk工具 本地连接 本地启动java应用直接点击就可以连接 本地远程连接 idea启动服务连接 配置运行配置 配置远程参数 -Djava.rmi.server.hostname127.0.0.1 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxrem…

【无公网IP内网穿透】 搭建Emby媒体库服务器并远程访问「家庭私人影院」

目录 1.前言 2. Emby网站搭建 2.1. Emby下载和安装 2.2 Emby网页测试 3. 本地网页发布 3.1 注册并安装cpolar内网穿透 3.2 Cpolar云端设置 3.3 Cpolar内网穿透本地设置 4.公网访问测试 5.结语 1.前言 在现代五花八门的网络应用场景中&#xff0c;观看视频绝对是主力…

多元函数微分学

目录 多元函数的极限 多元函数的连续性 连续的概念 连续函数的性质 多元函数微分学是微分学中的重要组成部分&#xff0c;也是解决许多实际问题的关键工具之一。它可以研究多个自变量和因变量之间的关系&#xff0c;以及这些关系的数学性质。 多元函数微分学的研究对象是多…

Vulkan入门——编译Shaderc

编译 Vulkan-Samples时&#xff0c;遇到了如下shaderc编译报错。 ninja: error: /Users/xiaxl/Library/Android/sdk/ndk/21.1.6352462/sources/third_party/shaderc/libs/c_static/armeabi-v7a/libshaderc.a, needed by ../../../../build/intermediates/cmake/debug/obj/arme…

酷开系统壁纸模式,用一幅名画打开艺术之门

中国文化博大精深&#xff0c;在源远流长的数千年里&#xff0c;沉淀下了太多的经典之作。特别是中国名画&#xff0c;历史悠久&#xff0c;源远流长。哪怕一个朝代&#xff0c;一历年间&#xff0c;一个画家&#xff0c;甚至一幅画&#xff0c;就能道出万万千千的姿态。它们记…

CRM系统如何帮助外贸企业发展

外贸企业竞争激烈&#xff0c;提高自身竞争力&#xff0c;扩大海外业务市场&#xff0c;是每个外贸企业的目标。为了实现这一目标&#xff0c;不少外贸企业借助CRM系统&#xff0c;优化业务流程&#xff0c;管理维护客户&#xff0c;从而实现可持续发展。那么&#xff0c;外贸企…

Stability AI推出Stable Audio;ChatGPT:推荐系统的颠覆者

&#x1f989; AI新闻 &#x1f680; Stability AI推出Stable Audio&#xff0c;用户可以生成个性化音乐片段 摘要&#xff1a;Stability AI公司发布了一款名为Stable Audio的工具&#xff0c;用户可以根据自己的文本内容自动生成音乐或音频。免费版可生成最长20秒音乐片段&a…

2023年8月知识复习

物联网总括 物联网即通过网络将客观事物进行智能化互联的网络系统。互联网主要是人与人、人与计算机之间的通信&#xff0c;而物联网主要是物联网设备之间的通信。 注意&#xff1a;数据上传到云端不是物联网的必要条件。物联网可以仅在本地网络和局域网中进行通信和数据处理…

27、Flink 的SQL之SELECT (SQL Hints 和 Joins)介绍及详细示例(2-1)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…