Input KERA的输入组合:时间序列和功能
我有几个时间序列特征(ECG、HRV和呼吸)和从这些时间序列中提取的单独特征(例如SDNN、RMSSD等) 我跟随弗朗索瓦·乔利特的名字。对于3D时间序列输入张量,它们使用[样本、时间步、特征] 时间序列每个时间步[[15000x1],[15000x1],…]有15000个值(样本),而单独的功能每个时间步有1个值(样本)。这些长度为[1]的额外功能对于每个时间步都是不同的。[[0.3],[0.35],[0.34],...].Input KERA的输入组合:时间序列和功能,input,keras,time-series,Input,Keras,Time Series,我有几个时间序列特征(ECG、HRV和呼吸)和从这些时间序列中提取的单独特征(例如SDNN、RMSSD等) 我跟随弗朗索瓦·乔利特的名字。对于3D时间序列输入张量,它们使用[样本、时间步、特征] 时间序列每个时间步[[15000x1],[15000x1],…]有15000个值(样本),而单独的功能每个时间步有1个值(样本)。这些长度为[1]的额外功能对于每个时间步都是不同的。[[0.3],[0.35],[0.34],...]. ECG, HR
ECG, HRV, F1, F2, ...
-------------------------------------------------------------
Sequence 1 |
Step 1 | [[15000x1],[1000x1],[1x1],[1x1],...]
Step 2 | [[15000x1],[1000x1],[1x1],[1x1],...]
Step 3 | [[15000x1],[1000x1],[1x1],[1x1],...]
Sequence 2 |
Step 1 | [[15000x1],[1000x1],[1x1],[1x1],...]
Step 2 | [[15000x1],[1000x1],[1x1],[1x1],...]
Step 3 | [[15000x1],[1000x1],[1x1],[1x1],...]
您如何使用Keras学习所有这些输入的最佳方法
- 我正在呼叫ECG、HRV等。每一步都不同的功能
- 频率最高的功能有15000个步骤,而其他功能的步骤较少
- 您有一个独立的功能,它不是连续的,也没有步骤。(在这个答案中,我将其称为独立功能)
(序列号\u可能是患者、15000步、功能\u ECG\u HRV\u等)
- 序列1:长度100(包括所有特征、心电图、心率变异性等)
- 序列2:长度200(包括所有特征、ECG、HRV等)
独立功能
?
有许多可能的方法。最简单的方法之一,可能也是非常有效的方法,就是将所有15000个步骤都设置为一个恒定的序列。这种方法不需要考虑特征与其余数据的关系,而是将任务留给模型
假设第一个序列的单独特征值为2,第二个序列的单独特征值为4,则生成此数据数组:
ECG, HRV, separate
--------------------------------------------------------
| [
sequence 1: | [
step 1 | [ecg1, hrv1, 2],
step 2 | [ecg2, hrv2, 2],
step 3 | [ecg3, hrv3, 2]
| ]
|
sequence 2: | [
step 1 | [ecg4, hrv4, 4],
step 2 | [ecg5, hrv5, 4],
step 3 | [ecg6, hrv6, 4]
| ]
| ]
您还可以输入is作为模型中的附加输入:
regularSequences = Input((15000,features))
separateFeature = Input((1,)) #assuming 1 value per sequence
然后决定是否要在某处求和,在某处相乘,等等。如果您了解此功能的含义以及它与其余数据的关系,以选择最佳操作和位置,则此方法可能比其他方法更有效
假设2
从更新的答案中获取以下描述:
ECG, HRV, F1, F2, ...
-------------------------------------------------------------
Sequence 1 |
Step 1 | [[15000x1],[1000x1],[1x1],[1x1],...]
Step 2 | [[15000x1],[1000x1],[1x1],[1x1],...]
Step 3 | [[15000x1],[1000x1],[1x1],[1x1],...]
Sequence 2 |
Step 1 | [[15000x1],[1000x1],[1x1],[1x1],...]
Step 2 | [[15000x1],[1000x1],[1x1],[1x1],...]
Step 3 | [[15000x1],[1000x1],[1x1],[1x1],...]
然后:
- ECG中的单个时间步长具有15000个功能。(您确定这不是15000个步骤的序列吗?)
- 在HRV中,一个时间步长有1000个功能。(您确定这不是1000个步骤的序列吗?)
- 每个时间步有几个其他单独的功能
(序列、步骤、16002)
假设1
由于模棱两可,我假设这一点(如果不是,请评论,我会更改)
- 我正在呼叫ECG、HRV等。每一步都不同的功能
- 频率最高的功能有15000个步骤,而其他功能的步骤较少
- 您有一个独立的功能,它不是连续的,也没有步骤。(在这个答案中,我将其称为独立功能)
(序列号\u可能是患者、15000步、功能\u ECG\u HRV\u等)
- 序列1:长度100(包括所有特征、心电图、心率变异性等)
- 序列2:长度200(包括所有特征、ECG、HRV等)
独立功能
?
有许多可能的方法。最简单的方法之一,可能也是非常有效的方法,就是将所有15000个步骤都设置为一个恒定的序列。这种方法不需要
ECG, HRV, F1, F2, ...
-------------------------------------------------------------
[
Sequence 1 | [
Step 1 | [ecg1,ecg2,...,ecg15000,hrv1,hrv2,...hrv1000,F1,F2,...]
Step 2 | [ecg1,ecg2,...,ecg15000,hrv1,hrv2,...hrv1000,F1,F2,...]
Step 3 | [ecg1,ecg2,...,ecg15000,hrv1,hrv2,...hrv1000,F1,F2,...]
]
Sequence 2 | [
Step 1 | [ecg1,ecg2,...,ecg15000,hrv1,hrv2,...hrv1000,F1,F2,...]
Step 2 | [ecg1,ecg2,...,ecg15000,hrv1,hrv2,...hrv1000,F1,F2,...]
Step 3 | [ecg1,ecg2,...,ecg15000,hrv1,hrv2,...hrv1000,F1,F2,...]
]