DFA简介
DFA(Detrend Fluctuation Analysis)与scale-free
scale-free的本质特征是self-affine or self-similar。具体的,体现在几何上,那么图形中总能找到一个小的部分,它的形态与总的图形一致或相似,体现在统计上,则某一小段序列的标准差不依赖于尺度的选择,它能够通过rescale得到和总体标准差一样的值,或者说其标准差和尺度的关系满足幂律指数关系,这意味着在双对数坐标系下,二者的图线是一条直线。
scale-free的一种通用数学定义是
\]
L是长度系数,H被称为Hurst参数,它反映了scale-free对象的性质。
DFA的计算方法
将信号关于平均值作归一化后,求出profile,或称累积和。
窗长是DFA图像的自变量,选取幂律步长增长的窗长序列。最长的窗长为整个待分析序列的长度(但介于序列长度与长度一半的窗长会由于计算时丢弃太多数据而引入误差,应该尽量避免,这一点可以从DFA图中看出),最短的窗长,对于HRV来说,以一个呼吸周期为佳,大概为4-8s,(“以一个呼吸周期为佳”为个人未经实验证明的观点)。按照某一个窗长,将信号分割为non-overlapping的许多片段。
对每个计算窗内,作基于线性拟合的detrend。
除了线性拟合,还可以作二次、三次拟合,称为DFA2,DFA3。比如Penzel等人[1]在2003年使用DFA2来分析睡眠ECG。他们的一个实验现象是REM和wake时,\(\alpha\)更大。
对每个detrend后的序列求均方根值(RMS),得到F(n)。
对log[F(n)]和log(n)作线性拟合,拟合所得斜率为整个信号波动水平的衡量。比如清醒时的斜率就会大于睡眠时的斜率。当斜率为0时,信号退化为平稳信号。
思考:log[F(n)]和log(n)线性拟合的斜率总是大于等于0,从实验的角度证明了这样一个命题:对一个总体来说,其抽样的标准差的期望小于等于总体的标准差,当且仅当每个抽样的平均值与总体相等时,取等号。
WDFA
WDFA(Window DFA)的提出是为了克服DFA无时间信息的问题。Adnane等人于2012年[2]指出这一问题给DFA在应用上带来两个短板,一是无法对短于DFA点数要求的信号段进行分析,二是当一个信号段里既有清醒和睡眠时,必然会导致一部分的阶段被错判,因而进一步提出WDFA,并在文章中给出了WDFA的计算方法:
WDFA的前三步骤与DFA相同,稍有不同的是选择的窗宽只有n=30和n=90(序列已经降采样到1Hz)。
WDFA的实质为一个移动窗内信号的能量(不包含直流分量)。
\[\mu(t, \delta)=\frac{1}{2 \delta} \int_{t-\delta}^{t+\delta}(z(\tau)-\bar{z}(t))^{2} d \tau
\]应用中的表达式为:
\[\mu(t, \delta)=\frac{1}{2 \delta}\left(\mu_{2}(t+\delta)-\mu_{2}(t-\delta)\right)-\frac{1}{(2 \delta)^{2}}\left(\mu_{1}(t+\delta)-\mu_{1}(t-\delta)\right)^{2}
\]式中t表示时刻,\(\delta\)表示窗宽,z(t)为步骤1得到的detrend信号,\(\mu_1\)和\(\mu_2\)的定义如下:
\[\mu_{1}(t)=\int_{-\infty}^{t} z(\tau) d \tau
\]\[\mu_{2}(t)=\int_{-\infty}^{t} z(\tau)^{2} d \tau
\]文章中,\(\delta\)有两个取值,分别为30和90。
ECG与DFA
对于被公认为是非稳态信号ECG来讲,DFA尽可能小的受到噪声和非稳态信号的干扰实现相关的计算。
Penzel T , Kantelhardt J W , Grote L , et al. Comparison of detrended fluctuation analysis and spectral analysis for heart rate variability in sleep and sleep apnea[J]. IEEE Transactions on Biomedical Engineering, 2003, 50(10):1143-1151. ︎
Adnane, Mourad, Zhongwei Jiang, and Zhonghong Yan. "Sleep–wake stages classification and sleep efficiency estimation using single-lead electrocardiogram." Expert Systems with Applications 39.1 (2012): 1401-1413. ︎
DFA简介的更多相关文章
- 敏感词过滤的算法原理之DFA算法
参考文档 http://blog.csdn.net/chenssy/article/details/26961957 敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有 ...
- Java实现敏感词过滤
敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢.我把它程序拿过来 ...
- Java实现敏感词过滤(转)
敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢.我把它程序拿过来 ...
- Jsp敏感词过滤
Jsp敏感词过滤 大部分论坛.网站等,为了方便管理,都进行了关于敏感词的设定. 在多数网站,敏感词一般是指带有敏感政治倾向(或反执政党倾向).暴力倾向.不健康色彩的词或不文明语,也有一些网站根据自身实 ...
- 高效Java敏感词、关键词过滤工具包_过滤非法词句
敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢.我把它程序拿过来 ...
- java过滤关键词
敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢.我把它程序拿过来 ...
- 转:Java实现敏感词过滤
敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢.我把它程序拿过来 ...
- 基于DFA敏感词查询的算法简析
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要对敏感词做一个过滤,首先有几个方案可以选择: a.直 ...
- DFA算法的简单说明!
1.DFA算法简介 DFA全称为:Deterministic Finite Automaton,即确定有穷自动机.其特征为:有一个有限状态集合和一些从一个状态通向另一个状态的边,每条边上标记有一个符号 ...
随机推荐
- Python练习题 035:Project Euler 007:第10001个素数
本题来自 Project Euler 第7题:https://projecteuler.net/problem=7 # Project Euler: Problem 7: 10001st prime ...
- 手把手撸套框架-Victory框架1.0 详解
目录 其实Victory框架1.0 在8月份就完成了,整个9月份都没有更新博客,主要还是因为松懈了. 所以,趁着国庆节的放假的时间把博客给更新一下,1.0总的来说算不得一个成熟的产品,但是拿来开发我们 ...
- spring-boot-route(六)整合JApiDocs生成接口文档
上一篇文章中介绍了使用Swagger生成接口文档,非常方便,功能也十分强大.如果非要说Swaager有什么缺点,想必就是注解写起来比较麻烦.如果我说有一款不用写注解,就可以生成文档的工具,你心动了吗? ...
- AngularJS应用访问Android手机画廊
下载angularjs.zip - 4.5 KB 介绍 本文演示了如何使用AngularJS调用Android应用程序公开的REST api来查看图库. 背景 Android和iOS都有相当多的远程访 ...
- GUI版本的emacs
概要 emacs 配置 X11 配置 输入法配置 spacemacs 中的配置 fcitx 汉字显示方块的问题 总结 优势 劣势 概要 之前一直使用 terminal 版本的 emacs, 性能和显示 ...
- 实验三 平面广告制作工具Photoshop基础--制作LOGO
实验三 平面广告制作工具Photoshop基础--制作LOGO [实验目的] ⑴.熟悉Photoshop的界面 ⑵.能利用photoshop处理简单的图像 [实验条件] ⑴.个人计算机一台 ⑵.个人 ...
- 测试-python相关
python基础 一行代码实现1~100累加,不使用for循环 方式一: sum(range(1,101)) 方式二: 1 from functools import reduce 2 reduce( ...
- Lock、Synchronized锁区别解析
上篇博文在讲解 ConcurrentHashMap 时说到 1.7 中 put 方法实现同步的方式是使用继承了 ReentrantLock 类的 segment 内部类调用 lock 方法实现的,而在 ...
- monolog封装
做一下基本关于Monolog的基本介绍: Monolog是基于PHP的日志类库. 介绍就到这,言归正传 安装 安装最新版本:(composer 还没安装的~:https://www.phpcompos ...
- C# 向服务器发送信息
#region 向服务器发送信息 /// <summary> /// 向服务器发送信息 /// </summary> /// <param name="post ...