介绍:

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非线性分析相关推荐

  1. HRV非线性分析PoincarePlot:SD1,SD2计算算法

    主旨 分析给出HRV非线性分析Poincare Plot中SD1和SD2的算法 背景描述 Poincare Plot是HRV非线性分析的一种方法.对于一段连续的心跳间隔,将第i个心跳间隔作为横坐标,第 ...

  2. 非线性有限元:基本理论与算法及基于Python、Fortran程序实现与案例分析实践技术

    有限单元法在岩土工程问题中应用非常广泛,很多商业软件如Plaxis/Abaqus/Comsol等都采用有限单元解法.尽管各类商业软件使用方便,但其使用对用户来说往往是一个"黑箱子" ...

  3. 非线性有限元:基本理论与算法及基于Python、Fortran程序实现与案例分析

    非线性有限元:基本理论与算法及基于Python.Fortran程序实现与案例分析 (qq.com) 有限单元法在岩土工程问题中应用非常广泛,很多商业软件如Plaxis/Abaqus/Comsol等都采 ...

  4. 岩土工程--非线性有限元:基本理论与算法及基于Python、Fortran程序实现与案例分析

    非线性有限元:基本理论与算法及基于Python.Fortran程序实现与案例分析实践技术 有限单元法在岩土工程问题中应用非常广泛,很多商业软件如Plaxis/Abaqus/Comsol等都采用有限单元 ...

  5. python画直方图代码-Python绘制直方图及子图的方法分析(代码示例)

    本篇文章给大家带来的内容是关于Python绘制直方图及子图的方法分析(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.直方图的绘制也需要用到matplotlib下的py ...

  6. Python爬取天气数据及可视化分析!

    来源丨Python之王 Python爬取天气数据及可视化分析 说在前面 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向.相对湿度.空气质量等成为关注的焦点.本 ...

  7. 用python分析小说_用Python对哈利波特系列小说进行情感分析

    原标题:用Python对哈利波特系列小说进行情感分析 准备数据 现有的数据是一部小说放在一个txt里,我们想按照章节(列表中第一个就是章节1的内容,列表中第二个是章节2的内容)进行分析,这就需要用到正 ...

  8. 管理经济学-使用Python和Z3求解本量利分析

    使用Python和Z3库求解本量利分析 此代码几乎可以完全解决本量利分析的各项参数,也可以适用于其他各种类似的分析题,只要满足z3的求解条件即可.python版本为python3,使用的z3库为4.8 ...

  9. Python爬取天气数据及可视化分析

    Python爬取天气数据及可视化分析 文章目录 Python爬取天气数据及可视化分析 说在前面 1.数据获取 请求网站链接 提取有用信息 保存csv文件 2.可视化分析 当天温度变化曲线图 当天相对湿 ...

最新文章

  1. OKR实施过程中的一些误区
  2. Joomla!网站扫描工具joomscan
  3. 【风险管理】风控一二三
  4. 如何让U盘支持大于4G的文件
  5. 详解JavaScript之神奇的Object.defineProperty
  6. 【算法】N Queens Problem
  7. Gartner Magic Quadrant for Enterprise Network Firewall (2018,2017,2016,2015,2014,2013,2011,2010)
  8. 小程序 - 学习笔记
  9. 书评:精通Lambda:多核世界中的Java编程
  10. 持续集成与自动化部署 - jenkins sonar代码质量管理平台 部署和基础使用(五)...
  11. thymeleaf模板引擎基础使用(转)
  12. OpenSSL在Windows下使用vs2010的编译安装
  13. 一个日志框架的开源,有些不错的创意。
  14. processing一个作品_当你触摸到一束光| 交互灯光装置课程学员作品回顾
  15. 部分beamforming知识汇总
  16. 计算机英语中文参考书,推荐几本计算机英语书?
  17. 黑马程序员JS学习第一天
  18. 公司电子企业邮箱注册哪个好,电子企业邮箱怎么写?
  19. 详解抖音壁纸号的具体玩法,变现方法容易吗?
  20. Python:百分制转五分制

热门文章

  1. 删除WINDOWS10中讨厌的微软拼音
  2. 男篮亚锦赛的失利应该由谁负责
  3. python后端框架有哪些_后端框架有哪些?五款优秀的web开源后端框架推荐
  4. 关于Unity3D动态生成连续性网格几何体总结【第三部分】(贴图篇)
  5. 设计模式学习笔记:备忘录模式(Memento)
  6. mysql extendedstatus_mysqladmin的extended-status指令查看 mysql各状态
  7. http 协议 查看ie http的版本
  8. 服务器|负载CPU接近满载、mysql自动关闭的解决经验分享
  9. 基于Java的食品团购系统
  10. pymysql安装不成功问题