【问题标题】:How to use convolution NN to model time series data如何使用卷积神经网络对时间序列数据进行建模
【发布时间】:2017-12-14 11:58:19
【问题描述】:

我有一个二维矩阵,其中行代表不同的价格水平,列代表最后 N 个柱。 例如,二维矩阵如下所示:

Price   Bar0   Bar1   Bar2   Bar3   Bar4   Bar5  ...
0         0     0      1      1       0     0
1         1     0      1      1       0     1
2         1     1      1      1       1     1
3         1     1      0      1       1     0
4         0     0      0      0       1     0
...

这个矩阵将表示,价格数据:

       High    Low
Bar0    3       1
Bar1    3       2
Bar2    2       0
Bar3    3       0
Bar4    4       2
Bar5    2       1

我想在传递给 LSTM 进行监督学习之前使用卷积 NN 进行特征提取。应该有其他指标,比如移动平均线,也应该传递给 LSTM 进行学习。

# LSTM and CNN for sequence classification in the IMDB dataset

import numpy
from keras.datasets import imdb
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM

from keras.layers.convolutional import Conv1D

from keras.layers.convolutional import MaxPooling1D

from keras.layers.embeddings import Embedding
from keras.preprocessing import sequence
# fix random seed for reproducibility
numpy.random.seed(7)
# load the dataset but only keep the top n words, zero the rest
top_words = 5000
(X_train, y_train), (X_test, y_test) = imdb.load_data(num_words=top_words)
# truncate and pad input sequences
max_review_length = 500
X_train = sequence.pad_sequences(X_train, maxlen=max_review_length)
X_test = sequence.pad_sequences(X_test, maxlen=max_review_length)
# create the model
embedding_vecor_length = 32
model = Sequential()
model.add(Embedding(top_words, embedding_vecor_length,    input_length=max_review_length))
model.add(Conv1D(filters=32, kernel_size=3, padding='same', activation='relu'))
model.add(MaxPooling1D(pool_size=2))
model.add(LSTM(100))
model.add(Dense(1, activation='sigmoid'))

model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

我已经阅读了上述序列分类代码的某处,我正在尝试适应时间序列。请帮忙。

【问题讨论】:

    标签: python neural-network time-series lstm


    【解决方案1】:

    我发现了一个很棒的包,可以为时间序列建模寻找最佳架构: GitHub.com/NLeSC/mcfly

    它提供了适合我目的的 DeepConvLSTM 模型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-30
      • 2017-01-01
      • 1970-01-01
      • 2020-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多