Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 具有信号间相关性的合成多元时间序列数据_Python_R_Time Series_Classification_Recurrent Neural Network - Fatal编程技术网

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

Python 具有信号间相关性的合成多元时间序列数据,python,r,time-series,classification,recurrent-neural-network,Python,R,Time Series,Classification,Recurrent Neural Network,为了测试一些分类器,我想生成一个包含3个信号的合成时间序列数据,以及一个单独的标签,该标签应取决于所有三个信号中的所有数据点,以下是我希望我的信号遵循的规则: 这三个信号之间应该有一定的相关性 标签应取决于所有三个信号上的所有点 它不应该是线性可分的,它应该是分类器处理的一个困难问题。(具体而言,我不希望简单的双向LSTM模型达到80%以上的精度) 我尝试了很多方法,包括其中一种,让大家了解我正在尝试做什么: 随着时间的推移,以随机频率(在我的示例中,我使用了7 8 9 10之间的值作为频率)和

为了测试一些分类器,我想生成一个包含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包,我认为可以在这里使用,但是,我不知道如何在那里实现这一点

    谢谢您的帮助。

    这可能会更好地用于。。。