一维数据转换成递归图,并提取递归度,确定性,平均对角线长度,最大对角线长度,层流性,递归熵等特征,语言matlab
时间: 2024-04-26 13:21:24 浏览: 15
将一维数据转换成递归图,可以采用重现图(recurrence plot)的方法,具体步骤如下:
1. 对于长度为N的一维时间序列x,构建N*N的重现图R,其中R(i,j)=1当且仅当|x(i)-x(j)|<e,e为重现阈值。
2. 将重现图R转换成有向图,即递归图G,其中节点表示时间序列的时间点,边表示重现关系。
3. 对递归图G进行特征提取,包括递归度、确定性、平均对角线长度、最大对角线长度、层流性、递归熵等特征。
在MATLAB中,可以使用以下代码将一维数据转换成递归图,并提取RQA特征:
```matlab
% 生成一维时间序列
N = 100;
x = randn(1, N);
% 构建重现图
e = 0.5 * std(x);
R = zeros(N);
for i = 1:N
for j = 1:N
if abs(x(i)-x(j)) < e
R(i,j) = 1;
end
end
end
% 构建递归图
G = digraph(R);
% 提取RQA特征
[recur_deg, determinism, avg_diag_len, max_diag_len, laminarity, entropy] = ...
RecurrenceQuantificationAnalysis(G);
```
其中,RecurrenceQuantificationAnalysis()是用于提取RQA特征的函数。输入参数G为递归图,输出参数包括递归度(recur_deg)、确定性(determinism)、平均对角线长度(avg_diag_len)、最大对角线长度(max_diag_len)、层流性(laminarity)和递归熵(entropy)等特征。