我对这种神经网络和LSTM很陌生。我希望我能得到你的指导,我会感谢你。
我有两年的比特币历史数据集和比特币情感数据集,每隔一小时一次。我的目标是预测未来60小时的未来图表使用LSTM。
我看过一些关于多变量时间序列预测的文章。但在所有这些预测中,他们只采用了一个特征。他们只预测了未来一天的价格。因此,为了预测未来两个月的数据,我必须预测所有的特征。这样我就可以把预测的数据作为下一个预测的输入,等等,来预测下一个60天。有人能帮我弄清楚我该怎么做这种预测吗?
编辑:数据集如下所示:
timestamp,close,sentiment
2020-05-01_00,8842.85,0.21
2020-05-01_01,8824.43,0.2
2020-05-01_02,8745.91,0.2
2020-05-01_03,8639.12,0.19
2020-05-01_04,8625.69,0.2
我想用tenserflow作为后端。到目前为止,我还没有编写用于构建模型的代码,因为在开始编写代码之前,我必须知道该做什么。
其思想是将100或150行数据作为模型的输入,然后通过将模型的预测作为下一次预测的输入来预测接下来的60小时。
发布于 2022-06-01 00:00:10
如果您共享了一些代码,用于如何构造模型,以及数据的外观,这将有所帮助。你的情感数据是如何被编码的,你使用的是什么框架(tensorflow,Py手电筒等等)?我对Tensorflow很熟悉,所以我会给你指明方向。
批处理,时间戳,特性。
您可能需要考虑使用功能API的非顺序模型体系结构。如果你走了这条路,你可以有两个独立的输入。一个是价格时间序列,另一个是情感时间序列,每个传递到一个LSTM,然后你可以连接/组合它们,并将它们传递到密集层,甚至是卷积层。
最后,您还可以查看ConvLSTM2D,它接受一个5D张量:
样本,时间,通道,行,cols
#
查看笔记本这里
#===========Design Model Architecture:
#==== Create Input Layers:
Price_Input = tf.keras.layers.Input(shape=(60,),name='Price_Input') #Price as Input
Sent_Input = tf.keras.layers.Input(shape=(60,),name='Sentiment_Input') #Sentiment as Input
#=== Handle Reshaping as part of the Model Architecture:
P_Input_rshp = tf.keras.layers.Reshape(target_shape=(60,1),
input_shape=(60,),
name='Price_Reshape')(Price_Input) #Pass price to reshape layer
S_Input_rshp = tf.keras.layers.Reshape(target_shape=(60,1),
input_shape=(60,),
name='Sentiment_Reshape')(Sent_Input) #Pass sentiment to rehape layer
#=== Use LSTM layers for timeseries:
P_x = tf.keras.layers.LSTM(units=1,activation='tanh',name='Price_LSTM')(P_Input_rshp) #Price Focused LSTM
S_x = tf.keras.layers.LSTM(units=1,activation='tanh',name='Sentiment_LSTM')(S_Input_rshp) #Sentiment Focused LSTM
C_x = tf.keras.layers.Concatenate(name='Concat')([P_x,S_x]) #Concatinate(join) inputs from each branch
Output = tf.keras.layers.Dense(units=1,name='Dense')(C_x) #Dense layer as model output to synthesize results
#============== Greate Model Graph:
model = tf.keras.Model(inputs=[Price_Input,Sent_Input],
outputs=Output,
name='Double_LSTM_Model')
https://stackoverflow.com/questions/72456522
复制相似问题