繁簡切換您正在訪問的是FX168財經網,本網站所提供的內容及信息均遵守中華人民共和國香港特別行政區當地法律法規。

FX168财经网>人物频道>帖子

学习笔记【财务选股】在LSTM神经网络Keras实践中一些报错的处理分享

作者/adjsadj 2019-05-10 02:45 0 来源: FX168财经网人物频道

最近用LSTM神经网络做了一下财务选股,自己是刚自学的小白,因为处理的是三维数据,也即面板数据,在网上有的报错没有直接的处理办法,对中间出现的报错,有一些自己的理解,如果不对,还希望大家指正。一起进步

分享一下处理经验:

1.
一个是shape()、reshape()函数的问题,经常会有:
ValueError:cannot reshape array of size 220110 into <870,7,36>

这其实是对这两个函数的理解问题,文档里说的比较不好理解,通俗一点就是shape(a,b,c)、reshape(a,b,c)
其实就是reshape(样本多少个,每个样本中有几组变量的个数,每个变量中又有几个多少分支)
reshape(870只股票,7年,每年36个变量)

shape函数同上

这样只要调节870736和size 数值相等即可

2.
ValueError: Input 0 is incompatible with layer lstm_3 :expected ndim=3 , found ndim=2
这个问题是对LSTM的原理不够理解,LSTM处理的是三维数据变量,你要是输入一个矩阵那是不对的。换句话说,要求的是面板数据,输入的却是截面数据。那有一个维度上没有数据,那一定处理不了。
因此输入的结构从(7,36)改为(870,7,36)即可

3.
ValueError: Error when checking target : expected dense_1 to have 3 dimensions , but got array with shape <75,1>
这个问题说的其实还是三维的输入需求,只输入了二维,要把二维数据转换为三维的。转换代码我会附在后边

4.
ValueError: Error when checking target : expected dense_1 to have shape <1, > , but got array with shape <7, >
这个问题,其实是一个dense层只能处理一个向量,或者说一个年份的数据。但现在输入了7个,因为是7年的预测结果,因此,把dense层的神经元数量由1个改为7个就能够装得下7个输入了

因为excel导入的数据都是pandas的二维,所以要将其先转换为numpy然后再转为3为pandas的pannels数据
下面是二维转三维的输入代码:

输入excel数据时的转换:
inputfile = 'D:\input.xls'
data = pd.read_excel(inputfile) #读取数据
data_train0 = data.copy() #复制一下数据建模
data_train1=data_train0.values
data_train=data_train1.reshape(870,7,36)
x_train = data_train #特征数据

导出excel数据时的转换
三维转二维,转为dataframe
datap0是上边data_train经过运算后的三维数据,数据结构和data_train一致,即(870,7,36)
datap1=datap0.reshape(870,7)
datap2=np.array(datap1)
datap=pd.DataFrame(datap2)
datap.to_excel('D:\prey.xls')

最后,附上选出的股票预测图,选了一些能反映企业真实运行状况的指标,将作出的模型,应用在沪深300池和上证50池中,选出前十,然后用等比例资金配置,简单跑一下回测,就是简单的买入持有策略,10个下单命令就是全部代码,不换股票,只维持10%的比例。得到的效果还是跑赢了上证指数的
沪深300池中
火狐截图_2018-09-16T01-59-38.101Z.png
上证50池中
JQ上证50.png
这说明的问题还是比较深刻

分享到:
举报财经168客户端下载

全部回复

0/140

投稿 您想发表你的观点和看法?

更多人气分析师

  • 张亦巧

    人气2144文章4145粉丝45

    暂无个人简介信息

  • 梁孟梵

    人气2152文章3177粉丝39

    qq:2294906466 了解群指导添加微信mfmacd

  • 指导老师

    人气1856文章4423粉丝52

    暂无个人简介信息

  • 李冉晴

    人气2296文章3821粉丝34

    李冉晴,专业现贷实盘分析师。

  • 刘钥钥1

    人气2016文章3119粉丝34

    专业从事现货黄金、现货白银模似实盘操作分析指导

  • 张迎妤

    人气1896文章3305粉丝34

    个人专注于行情技术分析,消息面解读剖析,给予您第一时间方向...

  • 金泰铬J

    人气2320文章3925粉丝51

    投资问答解咨询金泰铬V/信tgtg67即可获取每日的实时资讯、行情...

  • 金算盘

    人气2696文章7761粉丝125

    高级分析师,混过名校,厮杀于股市和期货、证券市场多年,专注...

  • 金帝财神

    人气4728文章8329粉丝118

    本文由资深分析师金帝财神微信:934295330,指导黄金,白银,...