Python数据分析-风湿关节炎生存分析

news2025/1/18 20:58:34

一、研究背景和意义

类风湿关节炎(RA)是一种慢性炎症性疾病,主要影响关节,但也可能影响身体的其他部分。RA的病因尚不完全清楚,但已知其涉及免疫系统的异常反应。患者的免疫系统错误地攻击自身的关节组织,导致炎症、疼痛和关节损伤。RA的长期影响可能包括关节变形、功能丧失和生活质量的显著下降。此外,RA还与心血管疾病等全身性并发症密切相关。在RA的管理和治疗中,早期诊断和干预至关重要。尽管已有多种治疗方法(如药物治疗和物理治疗)用于缓解症状和延缓疾病进展,
但许多患者仍可能经历疾病的急性发作(failure)和血管闭塞(occlusion)。这些急性事件不仅影响患者的健康和生活质量,还增加了医疗负担和社会成本。

二、研究意义

提高早期诊断和预测能力:通过构建预测模型,本研究能够识别出RA患者在未来可能经历急性发作或血管闭塞的高风险个体,从而实现早期干预和个性化治疗。这不仅有助于提高患者的生活质量,还能有效降低医疗成本。

为临床决策提供支持:本研究的预测模型可作为临床医生的辅助工具,帮助他们在治疗决策过程中考虑更多的变量和因素,从而制定更为科学和有效的治疗方案。

推动RA研究的发展:通过深入分析多种生理和病理指标与RA急性事件之间的关系,本研究为RA的病理机制研究提供了新的视角和数据支持,有助于揭示RA的复杂病理机制,推动相关基础研究的发展。

三、实证分析

读取数据集

数据和代码

import pandas as pd

# 加载数据
file_path = 'interpolation_RA_baseline_anytime_failure.csv'
data = pd.read_csv(file_path)
data.head()

查看数据基本信息 

检查缺失值

可以发现没有缺失值

接下来检查检查重复值

接下来进行描述性统计分析

接下来绘制每个特征的直方图

# 绘制分布图,每行6个图
num_plots = len(numerical_columns)
fig, axes = plt.subplots(num_plots // 6 + 1, 6, figsize=(20, 5 * (num_plots // 6 + 1)))

for i, column in enumerate(numerical_columns):
    row, col = divmod(i, 6)
    sns.histplot(data[column].dropna(), kde=True, ax=axes[row, col])
    axes[row, col].set_title(f'Distribution of {column}')

# 删除多余的子图
for j in range(i + 1, len(axes.flatten())):
    fig.delaxes(axes.flatten()[j])

plt.tight_layout()
plt.show()

 

计算相关矩阵

也可以绘制热力图

plt.figure(figsize=(12, 8))
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm')
plt.title('Correlation Matrix')
plt.show()

 接下来进行回归分析
线性回归和逻辑回归

# 线性回归
X = data[numerical_columns_with_target]
y = data['RAfailureanytime']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

linear_model = LinearRegression()
linear_model.fit(X_train, y_train)
linear_predictions = linear_model.predict(X_test)

# 逻辑回归
logistic_model = LogisticRegression(max_iter=1000)
logistic_model.fit(X_train, y_train)
logistic_predictions = logistic_model.predict(X_test)

 

还可以使用其他模型

from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.svm import SVC

# 决策树
decision_tree = DecisionTreeClassifier()
decision_tree.fit(X_train, y_train)
dt_predictions = decision_tree.predict(X_test)

# 随机森林
random_forest = RandomForestClassifier()
random_forest.fit(X_train, y_train)
rf_predictions = random_forest.predict(X_test)

# 支持向量机
svc_model = SVC(probability=True)
svc_model.fit(X_train, y_train)
svc_predictions = svc_model.predict(X_test)

 

接下来进行生存分析
生存曲线和Cox回归模型

# Cox回归模型
cox_model = CoxPHFitter()
cox_model.fit(data, duration_col='failuretime', event_col='RAfailureanytime')
cox_model.print_summary()

 

四、结论

本研究通过分析一组包含多种临床和生理指标的RA患者数据,构建了线性回归和逻辑回归模型,用于预测RA患者的急性发作和血管闭塞情况。

研究结果显示,模型在分类和预测方面表现出较高的准确性和可靠性。具体来说,逻辑回归模型的整体准确率为88%,在精确度、召回率和F1评分等方面均表现良好。ROC曲线的AUC值表明模型具有较高的分类性能,能够有效区分高风险和低风险患者。通过本研究的成果,临床医生可以更早地识别出高风险患者,从而采取早期干预措施,减少急性事件的发生率。此外,本研究还为进一步的RA病理机制研究提供了数据支持,推动了RA研究的发展。

未来,随着数据量的增加和模型的不断优化,预测模型的准确性和应用范围将进一步提升。我们希望本研究的成果能够在实际临床中得到应用,为RA患者的管理和治疗带来实质性的改善。同时,我们也期待更多的研究者参与到这一领域,共同探索和解决RA这一复杂疾病带来的挑战。

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

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

相关文章

机器学习中的数学底蕴与设计模式

在说机器学习设计模式之前,想多说几句,在进入软件行业最初的10年,那时候耳熟能详的基本就是多线程编程,互斥同步锁,设计模式,OOA,OOP,常规数组,tree,图的数据…

【图论】200. 岛屿问题

200. 岛屿问题 难度:中等 力扣地址:https://leetcode.cn/studyplan/top-100-liked/ 问题描述 给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围&…

你真的会udf提权???数据库权限到系统权限 内网学习 mysql的udf提权操作 ??msf你会用了吗???

我们在已经取得了数据库的账号密码过后,我们要进一步进行提取的操作,我们mysql有4钟提权的操作。 udf提权(最常用的)mof提权启动项提权反弹shell提权操作 怎么获取密码操作: 怎么获取密码,通过sql注入获取这个大家都应该知道了&a…

专题四:Spring源码初始化环境与BeanFactory

上文我们通过new ClassPathXmlApplicationContext("applicationContext.xml");这段代码看了下Spring是如何将Xml里面内容注入到Java对象中,并通过context.getBean("jmUser");方式获得了一个对象实例,而避开使用new 来耦合。今天我们…

Houdini速通VOP强化训练上部

Houdini 速通 VOP 强化训练上部是一门针对 Houdini 中 VOP(Vector Operation Language)的强化训练课程。本课程深入探讨了 Houdini 中 VOP 的核心概念和高级技术,通过实际案例和项目实战,帮助学员快速掌握 VOP 的使用技巧和编程方…

SpringBoot Task 定时任务

springboot中使用Task定时任务非常简单 springboot 中自带的都有注解不需要引入依赖 第一步:在启动类上添加启用定时任务注解 EnableScheduling //开启任务调度 第二步:创建一个springboot组件用于定时任务管理 package cn.lsy.api.Task;import cn.ls…

【Unity实战】在RHEL 9上安装UnityHub

一般来说,Unity编辑器的安装,官方已经给出了安装教程。 但是这个忽略了RHEL 9的一个特性:默认的加解密策略已经不支持SHA1了,你会在执行yum install unityhub那里出现如下报错: [shepherdlocalhost ~]$ sudo yum inst…

[C++][设计模式][备忘录模式]详细讲解

目录 1.动机2.模式定义3.要点总结4.代码感受 1.动机 在软件构建过程中,某些对象的状态转换过程中,可能由于某中需要,要求程序能够回溯到对象之前处于某个点的状态。 如果使用一些公开接口来让其他对象得到对象的状态,便会暴露对象…

66、基于长短期记忆 (LSTM) 网络对序列数据进行分类

1、基于长短期记忆 (LSTM) 网络对序列数据进行分类的原理及流程 基于长短期记忆(LSTM)网络对序列数据进行分类是一种常见的深度学习任务,适用于处理具有时间或序列关系的数据。下面是在Matlab中使用LSTM网络对序列数据进行分类的基本原理和流…

TomCat小型服务器安装

一、安装步骤 Tomcat官方站点: http://tomcat.apache.org 1、进入官方网站后获取安装包: 🤠tar.gz文件是Linux操作系统下的安装版本 🤠zip文件是Windows系统下的压缩版本 2、解压安装 解压到自己的文件夹中 3、安装JDK 设置环…

Go源码--context包

简介 Context 是go语言比较重要的且也是比较复杂的一个结构体,Context主要有两种功能: 取消信号:包括直接取消(涉及的结构体:cancelCtx ; 涉及函数:WithCancel)和携带截止日期的取消(涉及结构…

功能强大的声音模拟合成软件Togu Audio Line TAL-Mod 1.9.7

Togu Audio Line TAL一个虚拟模拟合成器,具有卓越的声音和几乎无限的调制能力。其特殊的振荡器模型能够创建广泛的声音,从经典的单声道到丰富的立体声引线、效果器和焊盘。路由可以使用虚拟跳线电缆来完成。只需连接调制输出以达到调制的目的。之后,您可以调整调制强度。您不…

dB分贝入门

主要参考资料: dB(分贝)定义及其应用: https://blog.csdn.net/u014162133/article/details/110388145 目录 dB的应用一、声音的大小二、信号强度三、增益 dB的应用 一、声音的大小 在日常生活中,住宅小区告知牌上面标示噪音要低…

Excel表格转Tex工具推荐

为了制作符合 SCI 论文要求的表格,直接用 LaTeX 编写通常比较复杂。我们可以先在 Excel 中绘制好所需的表格(最好加上边框)。最近我发现了一个非常好用的 Excel 转 LaTeX 工具,能够让 LaTeX 表格的编写变得非常方便。 工具&#…

数据资产治理的智能化探索:结合云计算、大数据、人工智能等先进技术,探讨数据资产治理的智能化方法,为企业提供可靠、高效的数据资产解决方案,助力企业提升竞争力

一、引言 在信息化时代,数据已成为企业最重要的资产之一。随着云计算、大数据、人工智能等先进技术的飞速发展,数据资产治理面临着前所未有的机遇与挑战。本文旨在探讨如何结合这些先进技术,实现数据资产治理的智能化,为企业提供…

X科网js逆向分析

登录抓包之后发现pwd字眼,直接搜索即可 通过$.md5(pwd)之后得到的加密结果就是我们的pwd参数 他说是md5我们不妨测试一下: 1)测试使用$.md5(1)加密数字1 得到c4ca4,说明就是$.md5(),md5加密 2)测试$.md5…

神经网络在机器学习中的应用:手写数字识别

机器学习是人工智能的一个分支,它使计算机能够从数据中学习并做出决策或预测。神经网络作为机器学习的核心算法之一,因其强大的非线性拟合能力而广泛应用于各种领域,包括图像识别、自然语言处理和游戏等。本文将介绍如何使用神经网络对MNIST数…

独一无二的设计模式——单例模式(Java实现)

1. 引言 亲爱的读者们,欢迎来到我们的设计模式专题,今天的讲解的设计模式,还是单例模式哦!上次讲解的单例模式是基于Python实现(独一无二的设计模式——单例模式(python实现))的&am…

【数据结构】C语言实现二叉树的基本操作——二叉树的层次遍历、求深度、求结点数……

C语言实现二叉树的基本操作 导读一、层次遍历1.1 算法思路1.2 算法实现1.2.1 存储结构的选择1.2.2 函数的三要素1.2.3 函数的实现 1.3 小结 二、求二叉树的深度2.1 层序遍历2.2 分治思想——递归 三、 求二叉树的结点数3.1 求二叉树的结点总数3.1.1 层序遍历3.1.2 分治思想——…

SpringBoot | 使用jwt令牌实现登录认证,使用Md5加密实现注册

对于登录认证中的令牌,其实就是一段字符串,那为什么要那么麻烦去用jwt令牌?其实对于登录这个业务,在平常我们实现这个功能时,可能大部分都是通过比对用户名和密码,只要正确,就登录成功&#xff…