python使用Poincare Plot进行HRV非线性分析
介绍:
Poincare Plot是HRV非线性分析的一种方法。对于一段连续的心跳间隔,将第i个心跳间隔作为横坐标,第(i+1)个心跳间隔作为纵坐标,在二维平面可以画出如下图形。这些点的分布可以近似为椭圆,椭圆的中心位于(x轴心跳间隔平均值,y轴心跳间隔平均值)确定的坐标点,椭圆的半长轴和半短轴分别为SD1和SD2。
算法推导:
从上图可以看到,SD1和SD2分别由数据点沿着y=x和y=−x+2∗RRI两条直线的离散程度决定,即在这两个方向上数据的方差决定。这样,对原始坐标轴做逆时针45°旋转,旋转后的坐标系中X′方向和Y′方向的数据标准差就是SD1与SD2。
根据线性代数,旋转坐标系相当于对原坐标系下任意一点P(x,y),右乘一个如下的矩阵,
记新坐标系下P的坐标为(x′,y′),
python代码实现:
import numpy as np
import wfdb
import QRSdetectModule
import matplotlib.pyplot as pltrecord = wfdb.rdrecord('./test/' + '46', sampfrom=0, smooth_frames=True, ignore_skew=False)
data = record.p_signal[3220114:3295114, 0]NN1 = []
_, xpeak1, _ = QRSdetectModule.qrs_detector(data, 250)
for i in range(len(xpeak1) - 1):NN1.append(xpeak1[i + 1] - xpeak1[i])SD1 = []
SD2 = []
for i1 in range(len(NN1)-1):SD1.append(NN1[i1+1]-NN1[i1])SD2.append(NN1[i1+1]+NN1[i1])for i2 in range(len(NN1)-2):plt.plot(NN1[i2], NN1[i2+1], color='b', markerfacecolor='red', marker='o')
plt.legend()
plt.show()ST1 = np.std(SD1)/np.sqrt(2)
ST2 = np.std(SD2)/np.sqrt(2)print('-----------------------------')record1 = wfdb.rdrecord('./test/' + '19830', sampfrom=0, smooth_frames=True, ignore_skew=False)
data1 = record1.p_signal[10000:85000, 0]NN2 = []
_, xpeak2, _ = QRSdetectModule.qrs_detector(data1, 128)
for j in range(len(xpeak2) - 1):NN2.append(xpeak2[j + 1] - xpeak2[j])SSD1 = []
SSD2 = []
for j1 in range(len(NN2)-2):SSD1.append(NN2[j1+1]-NN2[j1])SSD2.append(NN2[j1+1]+NN2[j1])for j2 in range(len(NN2)-2):plt.plot(NN2[j2], NN2[j2+1], color='r', markerfacecolor='blue', marker='o')
plt.legend()
plt.show()SST1 = np.std(SSD1)/np.sqrt(2)
SST2 = np.std(SSD2)/np.sqrt(2)
运行结果如下:
不规律异常心跳:
正常心跳:
python使用Poincare Plot进行HRV非线性分析相关推荐
- HRV非线性分析PoincarePlot:SD1,SD2计算算法
主旨 分析给出HRV非线性分析Poincare Plot中SD1和SD2的算法 背景描述 Poincare Plot是HRV非线性分析的一种方法.对于一段连续的心跳间隔,将第i个心跳间隔作为横坐标,第 ...
- 非线性有限元:基本理论与算法及基于Python、Fortran程序实现与案例分析实践技术
有限单元法在岩土工程问题中应用非常广泛,很多商业软件如Plaxis/Abaqus/Comsol等都采用有限单元解法.尽管各类商业软件使用方便,但其使用对用户来说往往是一个"黑箱子" ...
- 非线性有限元:基本理论与算法及基于Python、Fortran程序实现与案例分析
非线性有限元:基本理论与算法及基于Python.Fortran程序实现与案例分析 (qq.com) 有限单元法在岩土工程问题中应用非常广泛,很多商业软件如Plaxis/Abaqus/Comsol等都采 ...
- 岩土工程--非线性有限元:基本理论与算法及基于Python、Fortran程序实现与案例分析
非线性有限元:基本理论与算法及基于Python.Fortran程序实现与案例分析实践技术 有限单元法在岩土工程问题中应用非常广泛,很多商业软件如Plaxis/Abaqus/Comsol等都采用有限单元 ...
- python画直方图代码-Python绘制直方图及子图的方法分析(代码示例)
本篇文章给大家带来的内容是关于Python绘制直方图及子图的方法分析(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.直方图的绘制也需要用到matplotlib下的py ...
- Python爬取天气数据及可视化分析!
来源丨Python之王 Python爬取天气数据及可视化分析 说在前面 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向.相对湿度.空气质量等成为关注的焦点.本 ...
- 用python分析小说_用Python对哈利波特系列小说进行情感分析
原标题:用Python对哈利波特系列小说进行情感分析 准备数据 现有的数据是一部小说放在一个txt里,我们想按照章节(列表中第一个就是章节1的内容,列表中第二个是章节2的内容)进行分析,这就需要用到正 ...
- 管理经济学-使用Python和Z3求解本量利分析
使用Python和Z3库求解本量利分析 此代码几乎可以完全解决本量利分析的各项参数,也可以适用于其他各种类似的分析题,只要满足z3的求解条件即可.python版本为python3,使用的z3库为4.8 ...
- Python爬取天气数据及可视化分析
Python爬取天气数据及可视化分析 文章目录 Python爬取天气数据及可视化分析 说在前面 1.数据获取 请求网站链接 提取有用信息 保存csv文件 2.可视化分析 当天温度变化曲线图 当天相对湿 ...
最新文章
- OKR实施过程中的一些误区
- Joomla!网站扫描工具joomscan
- 【风险管理】风控一二三
- 如何让U盘支持大于4G的文件
- 详解JavaScript之神奇的Object.defineProperty
- 【算法】N Queens Problem
- Gartner Magic Quadrant for Enterprise Network Firewall (2018,2017,2016,2015,2014,2013,2011,2010)
- 小程序 - 学习笔记
- 书评:精通Lambda:多核世界中的Java编程
- 持续集成与自动化部署 - jenkins sonar代码质量管理平台 部署和基础使用(五)...
- thymeleaf模板引擎基础使用(转)
- OpenSSL在Windows下使用vs2010的编译安装
- 一个日志框架的开源,有些不错的创意。
- processing一个作品_当你触摸到一束光| 交互灯光装置课程学员作品回顾
- 部分beamforming知识汇总
- 计算机英语中文参考书,推荐几本计算机英语书?
- 黑马程序员JS学习第一天
- 公司电子企业邮箱注册哪个好,电子企业邮箱怎么写?
- 详解抖音壁纸号的具体玩法,变现方法容易吗?
- Python:百分制转五分制