AI在医学领域:通过声纹特征来预测血糖水平

news2024/11/25 2:47:57

       糖尿病代谢紊乱(DM)是一种以血糖水平异常为特征的代谢性疾病,其表现为高血糖(≥230 mg/dL)或低血糖(<65 mg/dL)。该病导致胰岛素产生或作用受损,胰岛素作为调节葡萄糖稳态的关键激素。长期糖尿病与多种慢性并发症相关,包括心血管疾病、肾病、中风、视力丧失及神经损害。全球糖尿病患病率持续上升,预计到2045年,18至99岁的人群中将有近7亿患者。中国是全球糖尿病患者人数最多的国家中国的糖尿病患者人数约为1.5亿。糖尿病对患者、医疗服务提供者及雇主造成了巨大的经济负担,包括直接治疗费用和生产力损失、工资减少相关的间接成本。

      有效的糖尿病管理需要频繁监测血糖水平,自我监测血糖(SMBG)是目前最准确的血糖测量方法,采用指尖采血技术。然而,这种方法可能令人不适、不便且存在感染风险,因此具有侵入性。

      为了克服这些挑战,过去十年中已经开发了几种连续且非侵入性的血糖监测方法。连续血糖监测(CGM)技术已成为改善糖尿病护理的尖端解决方案。与SMBG提供单一读数不同,CGM提供半连续的血糖水平信息,通过专用算法从组织间液葡萄糖水平推断血糖浓度。尽管CGM具有优势,但仍存在局限性,如成本、准确性、半侵入性质及定期校准需求。

     本文提出了一个创新的方法,即利用语音分析来预测血糖水平。血糖水平的波动会影响声带和喉部软组织的弹性,进而影响声音的物理特性。通过分析语音信号的变化,可以建立与血糖水平之间的相关性。

1 材料及方法

1.1 数据收集及分类

  • 参与者招募: 共招募了 49 名志愿者,包括 6 名 1 型糖尿病患者。参与者年龄在 18-99 岁之间,其中 30 名男性,19 名女性。
  • 排除标准: 排除患有影响文本可读性的疾病(如呼吸系统疾病、恶性肿瘤、发热、吸烟习惯或最近接种疫苗)、声音质量受影响的疾病以及无法提供知情同意或发音障碍的个体。
  • 数据收集方法:每位参与者提供至少一次,最多两次数据,分别对应高血糖和低血糖水平。血糖水平低于 100 mg/dL 的参与者将接受葡萄糖耐量测试,以将血糖水平提升至 100 mg/dL 以上。使用血糖仪测量参与者血糖水平,并记录语音样本。
  • 将收集到的70个语音样本数据集划分为训练集和测试集,比例为7:3。
  • 训练集用于训练模型,测试集用于评估模型性能。

1.2 CAPE-V 协议和语音录音

    本研究采用 CAPE-V 协议收集语音样本。CAPE-V 协议是一种用于听觉感知声音评估的临床工具,旨在识别与声音问题相关的听觉感知特征。使用手机进行录音,手机距离参与者嘴巴 20-30 厘米,并在安静的环境中录制,以减少背景噪音干扰。 参与者按照 CAPE-V 协议进行语音样本录制,包括:

  • 阅读六句不同语音环境的句子。
  • 发出持续 5 秒的元音 “a”。
  • 发出持续 5 秒的元音 “i”。
  • 进行至少两分钟的对话,回答至少两个日常问题。

1.3 数据预处理

1.3.1 特征提取

使用 Python 中的 Disvoice 库从语音样本中提取声学特征,包括:

声门特征

发声特征

韵律特征

GCI (声门关闭实例之间的时间变化)

F0 (声音信号中音调变化的速率)

GCI (声门关闭实例之间的时间变化)

F0 (基频,声音信号的音高)

F0' (音调变化速率的速率)

F0 (音高,声音信号的基频)

Tilt of linear estimation of F0 (每个有声段F0线性估计的倾斜度)

Average of OQ (OQ的平均值,连续声门周期的开口商)

Mean opening quotient (OQ的平均值,表示开口阶段持续时间与总周期持续时间的比率)

Average of HRF (HRF的平均值,谐波丰富度因子)

Energy on the first segment (第一个段落的能量,声音部分发声部分的初始强度或响度)

F0-contour (F0轮廓,捕捉随时间变化的音调波动)

Variability of OQ (OQ的变化,连续声门周期开口商的变化)

Jitter (抖动,声音中连续音调周期之间的时间不规则性)

Tilt of linear estimation of F0 (每个有声段F0线性估计的倾斜度)

GCI (声门关闭实例之间的时间变化)

Shimmer (闪烁,声音信号中连续音调周期幅度的变化)

Average of NAQ (NAQ的平均值,连续声门周期的归一化幅度商)

F'0 (声音信号中音调变化的速率)

Energy on last segment (最后一个段落的能量,有声语音段落结束时的响度水平)

Voiced rate (有声率,每秒有声段的频率)

  • 声门特征: 从持续元音中提取,包括平均谐波丰富度因子 (HRF) 等 9 个描述符。
  • 发声特征: 从所有语音片段中提取,包括抖动、 shimmer 等七个描述符。
  • 韵律特征: 从对话语音片段中提取,包括 F0 轮廓参数等 103 个描述符。

1.3.2 特征选择

  • 计算每个声学特征的平均值、标准差、最大值、最小值、偏度和峰度。
  • 通过相关系数筛选与目标变量相关性较高的特征,最终保留 124 个特征。
  • 使用主成分分析 (PCA) 将特征维度从 124 降至 8 个主成分,以减少过拟合风险并提高模型解释性。

2 模型开发和训练

2.1 模型选择

选择逻辑回归 (LR) 模型进行血糖水平分类,因为它是二分类问题的常用模型使用 L1 正则化 (Lasso) 和 L2 正则化 (Ridge) 防止模型过拟合。

 LR 是一种基于概率的统计学习方法,适用于二分类问题,例如糖尿病诊断或患者风险预测。

  • LR 模型首先将输入特征进行线性组合,并引入一个截距项,得到一个称为 “z” 的数值。
  • 然后,LR 模型使用逻辑函数(也称为 sigmoid 函数)将 “z” 值转换为概率值,表示样本属于正类(血糖水平 > 100 mg/dL)的概率。
  • 最后,LR 模型根据预设的阈值(通常为 0.5)将概率值转换为类别标签,即高血糖或低血糖。

2.2 模型训练

  • 使用网格搜索 (GridSearchCV) 确定 LR 模型的最佳超参数,包括正则化强度、正则化类型和优化算法。
  • 选择的最佳超参数为:C=0.9, penalty=“L1”, solver=“liblinear”。

2.3 模型评估

使用准确率、精确率、召回率和 F1 分数评估模型性能,并绘制混淆矩阵。

3 结果

3.1 模型表现

  • 准确率: 无论是训练集还是测试集,模型的准确率都保持在 85% 以上,甚至在交叉验证中略有提升,达到 86.5%。这表明模型具有较高的预测能力,能够有效区分高血糖和低血糖。
  • 混淆矩阵: 从混淆矩阵中可以看出,模型在识别高血糖方面表现较好,准确率达到 95%,而低血糖的识别准确率为 71%。这意味着模型更擅长识别高血糖,但也需要进一步优化以提高对低血糖的识别能力。
  • F1 分数: F1 分数综合考虑了准确率和召回率,可以更全面地评估模型性能。模型的 F1 分数在训练集和测试集中都保持在 90% 左右,这表明模型具有较高的整体性能。

3.2 语音特征与血糖水平的相关性

  • 声学预测指标: 本文提出了一种名为“声学预测指标”的无量纲指标,它由 8 个主成分组成,能够有效区分高血糖和低血糖。这与相关研究一致,表明语音特征与血糖水平之间存在显著的相关性。
  • 颤动: 研究发现,颤动与血糖水平的相关性最强。颤动是指声音基频(音高)的周期性变化,它是衡量声带振动稳定性的指标。血糖水平的波动会影响声带的弹性,从而导致颤动增加。因此,颤动可以作为预测血糖水平的有效指标。

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

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

相关文章

20 动态内存管理

目录 一、为什么要有动态内存管理 二、malloc 和 free &#xff08;一&#xff09;malloc &#xff08;二&#xff09;free 三、calloc 和 realloc &#xff08;一&#xff09;calloc &#xff08;二&#xff09;realloc 四、常见的动态内存错误 &#xff08;一&#…

【初阶数据结构】顺序表与链表的比较(附题)

目录 一、顺序表和链表的区别&#xff08;其他链表存在缺陷&#xff0c;比较意义不大&#xff0c;这里用带头双向循环链表与顺序表进行比较&#xff09; 1.1插入、扩容与随机访问 二、缓存利用率的比较 2.1前置知识 详解及补充知识&#xff08;本文仅为比较顺序表及链表&am…

照片怎么转jpg格式?这些照片格式转换方法简单又高效

图片已成为我们日常生活与工作中不可或缺的一部分。然而&#xff0c;面对多种多样的图片格式&#xff0c;如何高效地将它们转换为最常用的JPG格式&#xff0c;成为了许多人面临的难题。下面给大家分享常用的几种照片格式转换方法&#xff0c;一起来了解下吧。 方法一&#xff1…

数据结构之树体系:二叉树、平衡二叉树、红黑树、AVL树、B树、B+树、最小生成树、哈夫曼树、决策树、LSM树、后缀树、R树

概述 数据结构与算法 二叉树 其中每个结点都不能有多于两个子结点&#xff1a; 满二叉树&#xff1a;若设二叉树的高度为 h h h&#xff0c;除第 h h h层外&#xff0c;其它各层(1&#xff5e;h-1) 的结点数都达到最大个数&#xff0c;最后一层都是叶子结点&#xff0c;且叶…

CICD持续集成持续交付部署

一、CICD概念 1、什么是CI/CD&#xff1f; 通俗来说就是启动一个服务&#xff0c;能够监听代码变化&#xff0c;然后自动执行构建、测试、打包、发布等流程&#xff1b; 2、CI 持续集成 指在开发人员频繁地提交新代码&#xff0c;都会自动执行构建、测试。根据测试结果&…

WPS回应“崩了”:提供15天会员补偿,另有新羊毛,你还不来薅?

近期&#xff0c;“WPS崩了”这一话题在时隔两个月后&#xff0c;再次因多名用户反馈软件使用问题而登上微博热搜。 WPS官方微博随后发布消息称&#xff0c;经过工程师的紧急修复&#xff0c;WPS服务已经恢复正常。 为了补偿用户&#xff0c;在8月22日0点至24点期间&#xff…

视频插帧—— RIFE 和 IFNet 的机制和应用

介绍 最近&#xff0c;数字和模拟技术开始加速融合。我们生活在一个人工智能技术能够显著提高质量的时代&#xff0c;只要模拟材料能够数字化。 例如&#xff0c;讨论中涉及到的纸艺软件&#xff0c;纸龙的移动模型被时间锁定&#xff0c;以大约 3 fps&#xff08;每秒帧数&a…

vm 虚拟机无法调用摄像头(亲测有效)

-- 前言1 报错说明1.1 opencv调用摄像头失败&#xff0c;画面窗口无法显示1.2 选择连接摄像头出现失败&#xff1a;桌面右下角出现【USB 设备“Acer Integrated RGB Camera"的连接失败】连接摄像头方法 2 解决方法步骤一步骤二步骤三 补充 前言 网上找的很多方法都是无效…

2024年游泳耳机哪个牌子好?四大热门游泳耳机多维测评盘点!

游泳不仅是夏日里最受欢迎的消暑方式&#xff0c;也是全年无休的一项全身性运动。在水中畅游时&#xff0c;若能伴随着喜爱的音乐&#xff0c;无疑能让体验更上一层楼。近年来&#xff0c;随着骨传导技术和防水材料的进步&#xff0c;游泳耳机已经成为许多游泳爱好者的必备装备…

网络编程,网络协议,UDP编程

网络&#xff1a; 1.协议&#xff1a;通信双方约定的一套标准 2.国际网络通信协议标准&#xff1a; 1.OSI协议&#xff1a; 应用层 发送的数据内容 表示层 数据是否加密 会话层 是否建立会话连接 传输层 …

electron仿微信,新建贴合窗口

说明 在写electron项目时&#xff0c;只有一个主窗口不足以满足需求&#xff0c;我们通常还会打开很多个窗口。 怎么打开一个子窗口像微信的聊天界面一样&#xff0c;全贴合在一起&#xff0c;看起来像一个整体呢&#xff1a; 分析 这个窗口有点像element ui中的抽屉(drawe…

回归预测|基于北方苍鹰优化NGO-Transformer-BiLSTM组合模型的数据预测Matlab程序多特征输入单输出

回归预测|基于北方苍鹰优化NGO-Transformer-BiLSTM组合模型的数据预测Matlab程序多特征输入单输出 文章目录 前言回归预测|基于北方苍鹰优化NGO-Transformer-BiLSTM组合模型的数据预测Matlab程序多特征输入单输出 一、NGO-Transformer-BiLSTM模型回归预测&#xff1a;NGO-Trans…

VUE学习笔记 2

条件渲染 v-if : 若不频繁切换&#xff0c;会删除DOM节点&#xff0c;再重复添加&#xff1b; template只能配合v-if v-show: 适用于频繁切换&#xff0c;动态变换但不删除DOM节点 列表渲染 方式&#xff1a; v-for"p in person" :key"yyy" 遍历数组…

详讲C#中如何存储当前项目的设置-超级简单省事

我们在编写软件的时候总有一些配置数据需要保存&#xff0c;比如用户选择的偏好设置&#xff0c;又如软件所用到的数据库文件等。我们有很多中方式都可以保存&#xff0c;比如直接保存在某个文本文件&#xff0c;或者ini文件中&#xff0c;其实最简单的办法是保存在项目的资源文…

File的常见成员方法(创建,删除)

一.File的常见成员方法&#xff08;创建&#xff0c;删除&#xff09;&#xff1a; 二.方法的代码实现&#xff1a; 1.createNewFile方法->创建一个新的空的文件&#xff1a; 如上图直接调用createNewFile方法会报错&#xff0c;处理方案如下&#xff1a; 本例选择第一个&a…

Kotlin OpenCV 图像图像51图片轮廓获取

Kotlin OpenCV 图像图像51图片轮廓获取 在OpenCV库中&#xff0c;Imgproc.adaptiveThreshold、Imgproc.findContours 和 Imgproc.boundingRect 这三个方法在图像处理和分析中非常有用。以下是它们的详细作用&#xff1a; Imgproc.adaptiveThreshold解释作用该方法用于将灰度图…

工业排污检测算法的算法样本及工业排污检测的源码展示

工业排污检测算法是一种结合了先进人工智能、图像识别、声音识别、数据分析等技术的解决方案&#xff0c;专门用于实时监测和评估工业排放的污染物。这种算法在环境保护、合规管理、数据支持等方面具有显著的优势&#xff0c;并且可以广泛应用于各种工业场景。 主要作用 1、实…

宝塔面板本地搭建Typecho博客结合内网穿透实现远程访问本地站点

文章目录 前言1. 安装环境2. 下载Typecho3. 创建站点4. 访问Typecho5. 安装cpolar6. 远程访问Typecho7. 固定远程访问地址8. 配置typecho 前言 本文主要介绍如何通过Linux centOS8宝塔面板工具&#xff0c;本地搭建一个Typecho个人博客网站。并结合cpolar内网穿透工具配置公网…

关于Arrays.asList返回List无法新增和删除?

这个是在写项目的时候发现的&#xff0c;然后就分析了一下源码&#xff0c;得其内部原理 复现代码示例&#xff1a; public class ArraysAsList {public static void main(String[] args) {Integer[] array {1, 2, 3, 4, 5};List<Integer> list Arrays.asList(array);…

html+css+js网页制作 电商小米商城7个页面

htmlcssjs网页制作 电商小米商城7个页面 ui还原度百分之99 网页作品代码简单&#xff0c;可使用任意HTML编辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 …