DFA(Detrend Fluctuation Analysis)与scale-free

scale-free的本质特征是self-affine or self-similar。具体的,体现在几何上,那么图形中总能找到一个小的部分,它的形态与总的图形一致或相似,体现在统计上,则某一小段序列的标准差不依赖于尺度的选择,它能够通过rescale得到和总体标准差一样的值,或者说其标准差和尺度的关系满足幂律指数关系,这意味着在双对数坐标系下,二者的图线是一条直线。

scale-free的一种通用数学定义是

\[Y(Lt)= L^HY(t)
\]

L是长度系数,H被称为Hurst参数,它反映了scale-free对象的性质。

DFA的计算方法

  1. 将信号关于平均值作归一化后,求出profile,或称累积和

  2. 窗长是DFA图像的自变量,选取幂律步长增长的窗长序列。最长的窗长为整个待分析序列的长度(但介于序列长度与长度一半的窗长会由于计算时丢弃太多数据而引入误差,应该尽量避免,这一点可以从DFA图中看出),最短的窗长,对于HRV来说,以一个呼吸周期为佳,大概为4-8s,(“以一个呼吸周期为佳”为个人未经实验证明的观点)。按照某一个窗长,将信号分割为non-overlapping的许多片段。

  3. 对每个计算窗内,作基于线性拟合的detrend

    除了线性拟合,还可以作二次、三次拟合,称为DFA2,DFA3。比如Penzel等人[1]在2003年使用DFA2来分析睡眠ECG。他们的一个实验现象是REM和wake时,\(\alpha\)更大。

  4. 对每个detrend后的序列求均方根值(RMS),得到F(n)。

  5. 对log[F(n)]和log(n)作线性拟合,拟合所得斜率为整个信号波动水平的衡量。比如清醒时的斜率就会大于睡眠时的斜率。当斜率为0时,信号退化为平稳信号。

    思考:log[F(n)]和log(n)线性拟合的斜率总是大于等于0,从实验的角度证明了这样一个命题:对一个总体来说,其抽样的标准差的期望小于等于总体的标准差,当且仅当每个抽样的平均值与总体相等时,取等号。

WDFA

WDFA(Window DFA)的提出是为了克服DFA无时间信息的问题。Adnane等人于2012年[2]指出这一问题给DFA在应用上带来两个短板,一是无法对短于DFA点数要求的信号段进行分析,二是当一个信号段里既有清醒和睡眠时,必然会导致一部分的阶段被错判,因而进一步提出WDFA,并在文章中给出了WDFA的计算方法:

  1. WDFA的前三步骤与DFA相同,稍有不同的是选择的窗宽只有n=30和n=90(序列已经降采样到1Hz)。

  2. 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尽可能小的受到噪声和非稳态信号的干扰实现相关的计算。


  1. 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.

  2. 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简介的更多相关文章

  1. 敏感词过滤的算法原理之DFA算法

    参考文档 http://blog.csdn.net/chenssy/article/details/26961957 敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有 ...

  2. Java实现敏感词过滤

    敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢.我把它程序拿过来 ...

  3. Java实现敏感词过滤(转)

    敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢.我把它程序拿过来 ...

  4. Jsp敏感词过滤

    Jsp敏感词过滤 大部分论坛.网站等,为了方便管理,都进行了关于敏感词的设定. 在多数网站,敏感词一般是指带有敏感政治倾向(或反执政党倾向).暴力倾向.不健康色彩的词或不文明语,也有一些网站根据自身实 ...

  5. 高效Java敏感词、关键词过滤工具包_过滤非法词句

    敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢.我把它程序拿过来 ...

  6. java过滤关键词

    敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢.我把它程序拿过来 ...

  7. 转:Java实现敏感词过滤

    敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢.我把它程序拿过来 ...

  8. 基于DFA敏感词查询的算法简析

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要对敏感词做一个过滤,首先有几个方案可以选择: a.直 ...

  9. DFA算法的简单说明!

    1.DFA算法简介 DFA全称为:Deterministic Finite Automaton,即确定有穷自动机.其特征为:有一个有限状态集合和一些从一个状态通向另一个状态的边,每条边上标记有一个符号 ...

随机推荐

  1. 朴素贝叶斯分类器Naive Bayes

    优点Naive Bayes classifiers tend to perform especially well in one of the following situations: When t ...

  2. 面试官:开发过Maven插件吗?我:开发过啊。。。

    写在前面 转眼间,今天已经是假期的第4天了.今天要给大家分享点啥呢?想了半天,想起了之前去某宝面试的情景.记得面试前自己基于Maven开发过一些简单实用的插件,而且在自己的本地环境中一直在使用,极大的 ...

  3. 记录一下第一次写 50行 SQL代码

    这 是一个电商项目,做的是报表的展示,我还以为要请求几次,结果,用一个SQL全部查完了 下面是目标效果图 这是我的SQL代码 SELECT product.NAME, product.price, p ...

  4. DM8数据库备份还原的原理及应用

    (本文部分内容摘自DM产品技术支持培训文档,如需要更详细的文档,请查询官方操作手册,谢谢) 一.原理 1.DM8备份还原简介 1.1.基本概念 (1)表空间与数据文件 ▷ DM8表空间类型: ▷ SY ...

  5. 为Facebook messenger平台开发聊天机器人

    介绍 在电子商务网上商店发明之前,我们总是有机会与销售代表或分销商在选择商品或服务时交谈.在进入数字世界后,这个领域变得沉默.这样对顾客方便吗?我认为不是.向销售代表或经销商询问他们想要的产品或服务是 ...

  6. 【MySQL Errors】Table 'xxx' is marked as crashed and should be repaired 的解决方案

    现象描述 访问 Zabbix Web,出现如下错误提示: • Error in query [SELECT * FROM history_uint h WHERE h.itemid='25067' O ...

  7. Docker 启动容器时,报错 WARNING:IPv4 forwarding is disabled. Networking will not work. 的解决办法

    Centos 7 Docker 启动了一个web服务 但是启动时 报 WARNING: IPv4 forwarding is disabled. Networking will not work. 解 ...

  8. git add 添加错文件如何撤销

    git add 添加 多余文件 这样的错误是由于, 有的时候 可能 git add . (空格+ 点) 表示当前目录所有文件,不小心就会提交其他文件 git add 如果添加了错误的文件的话 以下是撤 ...

  9. hasura的golang反向代理

    概述 反向代理代码 对请求的处理 对返回值的处理 遇到的问题 概述 一直在寻找一个好用的 graphql 服务, 之前使用比较多的是 prisma, 但是 prisma1 很久不再维护了, 而 pri ...

  10. MeteoInfoLab脚本示例:计算不同区域平均值

    这里用美国做例子,有一个美国区域的格点温度场数据(usgrid.data),需要计算出每个州(state)的平均温度.当然需要有一个包含各州行政区域的shape文件了(相关文件可以在此帖中下载:htt ...