信号之间具有相关性的综合多元时间序列数据

时间:2019-01-17 20:54:11

标签: python r time-series classification recurrent-neural-network

为了测试某些分类器,我想生成包含3个信号的合成时间序列数据,以及一个标签,该标签应取决于这三个信号中的所有数据点,这些是我希望信号遵循的规则:

  1. 三个信号之间应该有一定的关联性
  2. 标签应取决于所有三个信号上的所有点
  3. 它不应该是线性可分离的,对于分类器来说应该是一个很难解决的问题。 (具体地说,我不希望简单的双向LSTM模型达到80%以上的精度)

我尝试了许多方法,包括其中的一种方法,以使我对自己的工作有所了解:

随时间生成具有随机频率(在我的示例中,我使用的频率为7 8 9 10之间的值)和随机相位的基准窦信号,问题是要找到此频率,因此标签(y)取决于频率(如果大于8 y的频率为1,否则y为0),则生成3个随机滤波器,并将该基本信号卷积3次以生成3个信号,并在每一步中添加噪声。

freq = np.random.choice([7, 8, 9, 10])
phase = np.random.rand() * 10
base = []
for i in range(data_size):
   base.append(np.random.rand() + math.sin(phase + float(i/freq)))
for f in filters:
   signal = np.convolve(base, f)
   signal += np.random.rand(len(signal)) * 6
   all_features.append(signal)
if freq > 8:
   y = 0
else:
   y = 1

此数据的问题在于,一个简单的BiLSTM模型可以在其上达到大约100%的精度。 所以我的问题是有什么办法可以做到这一点?您知道我可以用来生成此库的任何库吗?

例如,如果您可以使用任何编程语言提供示例,那么我会在R中找到simstudy包,我认为可以在此处使用它,但是,我不知道如何在其中实现。

谢谢您的帮助。

0 个答案:

没有答案