导航:首页 > 数据行情 > lstm股票预测数据

lstm股票预测数据

发布时间:2022-08-16 08:39:09

‘壹’ 什么算法可以改进lstm

基于模糊聚类算法改进lstm的预测方法。
发明的目的在于解决股票市场中的价格预测问题,提供一种基于模糊聚类算法改进lstm的预测方法,该预测方法引入模糊聚类算法,对已序列化的数据进行模糊聚类得到隶属度矩阵,并利用隶属度矩阵对经过融合的lstm网络输出进行加权求和,最终得到股票价格预测值,可以有效的模拟股票趋势中的波动特点及场景,使得预测结果更加准确且符合实际。

‘贰’ lstm只能预测下一天吗

是的。
预测一天的数据,将该数据带入已知数据中,根据已得模型向前滑动预测下一天的数据。

‘叁’ 请教用人工神经网络进行股票预测在weka

预测股票可不是有以往股票数据就能的,要考虑因果性,现实事件与股票波动有因果性,也就是时序性。在这情况下有LSTM单元组成循环神经网络可以做到,但训练集的强度跟体积可是很大的,这需要注意。

‘肆’ 深度神经网络目前有哪些成功的应用

深度学习最成功的应用是在音视频的识别上,几乎所有的商用语音识别都是深度学习来完成的。其次深度学习应用最成功的领域就是图像识别,目前识别准确率已经超越人类。深度学习成了图像识别的标配,以至于目前做图像不懂深度学习都不好意思跟人打招呼。(这种状态个人觉得是不好的)其中图像识别中,应用最广的是人脸识别。自然语言理解方面,深度学习也非常活跃,主要是使用一种叫做LSTM的深度学习方法。深度学习已经深入各个领域无人车,智能回答,智能翻译,天气预报,股票预测,人脸比对,声纹比对,等其他许多有趣的应用,比如智能插画,自动作诗,自动写作文,等都可以通过深度学习来完成深度神经网络目前有哪些成功的应用

‘伍’ 如何在Python中用LSTM网络进行时间序列预测

时间序列模型

时间序列预测分析就是利用过去一段时间内某事件时间的特征来预测未来一段时间内该事件的特征。这是一类相对比较复杂的预测建模问题,和回归分析模型的预测不同,时间序列模型是依赖于事件发生的先后顺序的,同样大小的值改变顺序后输入模型产生的结果是不同的。
举个栗子:根据过去两年某股票的每天的股价数据推测之后一周的股价变化;根据过去2年某店铺每周想消费人数预测下周来店消费的人数等等

RNN 和 LSTM 模型

时间序列模型最常用最强大的的工具就是递归神经网络(recurrent neural network, RNN)。相比与普通神经网络的各计算结果之间相互独立的特点,RNN的每一次隐含层的计算结果都与当前输入以及上一次的隐含层结果相关。通过这种方法,RNN的计算结果便具备了记忆之前几次结果的特点。

典型的RNN网路结构如下:

4. 模型训练和结果预测
将上述数据集按4:1的比例随机拆分为训练集和验证集,这是为了防止过度拟合。训练模型。然后将数据的X列作为参数导入模型便可得到预测值,与实际的Y值相比便可得到该模型的优劣。

实现代码

  • 时间间隔序列格式化成所需的训练集格式

  • import pandas as pdimport numpy as npdef create_interval_dataset(dataset, look_back):

  • """ :param dataset: input array of time intervals :param look_back: each training set feature length :return: convert an array of values into a dataset matrix. """

  • dataX, dataY = [], [] for i in range(len(dataset) - look_back):

  • dataX.append(dataset[i:i+look_back])

  • dataY.append(dataset[i+look_back]) return np.asarray(dataX), np.asarray(dataY)


  • df = pd.read_csv("path-to-your-time-interval-file")

  • dataset_init = np.asarray(df) # if only 1 columndataX, dataY = create_interval_dataset(dataset, lookback=3) # look back if the training set sequence length

  • 这里的输入数据来源是csv文件,如果输入数据是来自数据库的话可以参考这里

  • LSTM网络结构搭建

  • import pandas as pdimport numpy as npimport randomfrom keras.models import Sequential, model_from_jsonfrom keras.layers import Dense, LSTM, Dropoutclass NeuralNetwork():

  • def __init__(self, **kwargs):

  • """ :param **kwargs: output_dim=4: output dimension of LSTM layer; activation_lstm='tanh': activation function for LSTM layers; activation_dense='relu': activation function for Dense layer; activation_last='sigmoid': activation function for last layer; drop_out=0.2: fraction of input units to drop; np_epoch=10, the number of epoches to train the model. epoch is one forward pass and one backward pass of all the training examples; batch_size=32: number of samples per gradient update. The higher the batch size, the more memory space you'll need; loss='mean_square_error': loss function; optimizer='rmsprop' """

  • self.output_dim = kwargs.get('output_dim', 8) self.activation_lstm = kwargs.get('activation_lstm', 'relu') self.activation_dense = kwargs.get('activation_dense', 'relu') self.activation_last = kwargs.get('activation_last', 'softmax') # softmax for multiple output

  • self.dense_layer = kwargs.get('dense_layer', 2) # at least 2 layers

  • self.lstm_layer = kwargs.get('lstm_layer', 2) self.drop_out = kwargs.get('drop_out', 0.2) self.nb_epoch = kwargs.get('nb_epoch', 10) self.batch_size = kwargs.get('batch_size', 100) self.loss = kwargs.get('loss', 'categorical_crossentropy') self.optimizer = kwargs.get('optimizer', 'rmsprop') def NN_model(self, trainX, trainY, testX, testY):

  • """ :param trainX: training data set :param trainY: expect value of training data :param testX: test data set :param testY: epect value of test data :return: model after training """

  • print "Training model is LSTM network!"

  • input_dim = trainX[1].shape[1]

  • output_dim = trainY.shape[1] # one-hot label

  • # print predefined parameters of current model:

  • model = Sequential() # applying a LSTM layer with x dim output and y dim input. Use dropout parameter to avoid overfitting

  • model.add(LSTM(output_dim=self.output_dim,

  • input_dim=input_dim,

  • activation=self.activation_lstm,

  • dropout_U=self.drop_out,

  • return_sequences=True)) for i in range(self.lstm_layer-2):

  • model.add(LSTM(output_dim=self.output_dim,

  • input_dim=self.output_dim,

  • activation=self.activation_lstm,

  • dropout_U=self.drop_out,

  • return_sequences=True)) # argument return_sequences should be false in last lstm layer to avoid input dimension incompatibility with dense layer

  • model.add(LSTM(output_dim=self.output_dim,

  • input_dim=self.output_dim,

  • activation=self.activation_lstm,

  • dropout_U=self.drop_out)) for i in range(self.dense_layer-1):

  • model.add(Dense(output_dim=self.output_dim,

  • activation=self.activation_last))

  • model.add(Dense(output_dim=output_dim,

  • input_dim=self.output_dim,

  • activation=self.activation_last)) # configure the learning process

  • model.compile(loss=self.loss, optimizer=self.optimizer, metrics=['accuracy']) # train the model with fixed number of epoches

  • model.fit(x=trainX, y=trainY, nb_epoch=self.nb_epoch, batch_size=self.batch_size, validation_data=(testX, testY)) # store model to json file

  • model_json = model.to_json() with open(model_path, "w") as json_file:

  • json_file.write(model_json) # store model weights to hdf5 file

  • if model_weight_path: if os.path.exists(model_weight_path):

  • os.remove(model_weight_path)

  • model.save_weights(model_weight_path) # eg: model_weight.h5

  • return model

  • 这里写的只涉及LSTM网络的结构搭建,至于如何把数据处理规范化成网络所需的结构以及把模型预测结果与实际值比较统计的可视化,就需要根据实际情况做调整了。

    ‘陆’ lstm预测有结果吗

    她惶恐失措的退了回去。”她敲了敲对面的门,没有人应声;她又敲了敲隔壁的门,还是没有人应声。
    风轻云淡的说了一句他又不放心地问了一句,“你能找到地方吧?那地方可不大好找。”带着他一贯的强势,肆意的索取。劲瞅瞅两个大纸箱,为难地说道:“你能帮我去找下他吗?”

    阅读全文

    与lstm股票预测数据相关的资料

    热点内容
    股票每股公积金和净资产的差别 浏览:724
    股票能量指标怎么调出来 浏览:425
    股票用现金买吗 浏览:597
    好股票网生命线指标 浏览:117
    手机上怎么看股票业绩 浏览:193
    中国最大树脂厂股票号 浏览:154
    推荐微信的股票软件 浏览:644
    露振科技股票行情 浏览:745
    小窗口的股票软件 浏览:896
    重新开一个股票账户 浏览:125
    国家队持仓股票信息 浏览:109
    股票回购方式中不需要支付大量现金的是 浏览:633
    恒康医药股票走势 浏览:1006
    中国国债股票 浏览:445
    股票很久没涨停 浏览:110
    股票看盘软件教学视频直播 浏览:117
    中国银联股票有吗 浏览:51
    etf和普通股票一样买卖吗 浏览:26
    搜于特股票今天走势 浏览:896
    煤炭价格上涨对煤股票的影响 浏览:905