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

2024-03-28 23:46:54 发布

您现在位置:Python中文网/ 问答频道 /正文

为了测试一些分类器,我想生成一个包含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%的精度。 所以我的问题是,有什么办法可以做到这一点吗?你知道我可以用来生成这个的库吗?你知道吗

如果你能提供一个任何编程语言的例子,它会做,例如,我发现simstudy包在R中,我认为可以在这里使用,但是,我不知道如何在那里实现这一点。你知道吗

谢谢你的帮助。你知道吗


Tags: 数据方法模型basesignal信号分类器np