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.

最新文章

  1. Java总结篇系列:Java String
  2. 基于IHttpAsyncHandler的UDP收发器
  3. memcached与spring
  4. 完美解决 .txt文件在Mac上不能打开的问题
  5. js 实现精确加减乘除
  6. Android的事件处理
  7. python处理时间--- datetime模块
  8. js中时间的处理
  9. ProtoBuf 与 gRPC
  10. Pyhon之Django中的Form组件
  11. jenkins 解决构建成功后进程消失的问题
  12. 【原创】大叔经验分享(27)linux服务器升级glibc故障恢复
  13. JavaScript之Ajax Util
  14. hibernate框架学习之持久化对象OID
  15. Pay attention to "Changing"
  16. try里Response.end()问题
  17. C# winform 窗体怎么隐藏标题栏,不显示标题栏
  18. Java编程从头开始---老妪能解
  19. java 注释annotation学习---两篇不错的blog
  20. tomcat错误信息解决方案【严重:StandardServer.await: create[8005]】

热门文章

  1. 1.变量:var,let,const
  2. 实验 3:Mininet 实验——测量路径的损耗率
  3. C++ 异常处理 catch(...)介绍
  4. Zookeeper基础理论
  5. RESTfull是什么
  6. 2. 在TCGA中找到并下载意向数据
  7. Fabric1.4.4 基础环境搭建
  8. 持续集成工具之Jenkins pipline简单示例
  9. pytest文档55-plugins插件开发
  10. 50种编程语言,一句 “Hello, World”!展现编程语言七十年发展!