一种基于文本挖掘与深度学习模型的农产品期货价格预测方法及系统

文档序号:32837873发布日期:2023-01-06 19:47阅读:95来源:国知局
一种基于文本挖掘与深度学习模型的农产品期货价格预测方法及系统

1.本发明涉及的是期货价格预测领域,特别涉及一种基于文本挖掘与深度学习模型的农产品期货价格预测方法。


背景技术:

2.期货价格属于时间序列数据,相比其他结构化数据更具趋势性、周期性和随机性。而近年来受国际环境总体形势日趋复杂、气候灾难和疫情变化等难以量化的因素影响,期货市场的波动也随之加剧,如何捕捉到能够反映这些信息的特征,融入期货价格的预测过程,进而提高预测结果的准确性,是目前亟待解决的难题。
3.通过对文献的查阅和整理发现,目前期货价格预测多采用单时间序列或根据经验法则选择外生变量作为模型输入进行预测,虽然在一定程度上提升了预测效果,但在预测的过程中产生人为干预影响,并且不能确定这些外生变量影响农产品期货价格的周期性和范围。随着深度学习和文本挖掘技术的成熟,网络媒体中包含的海量非结构化信息的价值得到发掘,现有基于非结构化数据的期货预测主要通过从媒体文本中提取情感特征和事件特征,与期货价格同时进行预测,其中存在以下值得探讨的问题:第一,文本数据可能存在较多的冗余信息,从中提取的情感特征噪声较大,容易影响模型对情感极性的判断;第二,需要对特定语料进行大量的人工标注工作,特征的构建无可避免受到主观判断的影响,同时容易造成文本中的其他信息被忽略;第三,结构化的期货价格数据与非结构化的文本信息特征的融合方式也值得商榷,部分研究将期货交易数据、大量金融指标数据和单一情感特征直接拼接作为预测模型的输入,没有考虑数据维度的差异,容易导致情感特征的作用在整体预测过程中被削弱。


技术实现要素:

4.本发明的目的在于提供一种基于文本挖掘与深度学习模型的农产品期货价格预测方法,从农产品期货历史交易数据和相关新闻文本数据中提取农产品价格特征、新闻文本特征与新闻情感特征,将这些特征输入深度学习模型中,从而提高农产品期货价格预测的精度。
5.本发明还提供一种基于文本挖掘与深度学习模型的农产品期货价格预测系统。
6.为实现上述目的,本发明所采用的技术方案是:
7.一种基于文本挖掘与深度学习模型的农产品期货价格预测方法,包括以下步骤:
8.步骤1:数据预处理,对价格序列进行数据清洗和归一化处理,对文本数据集进行分词和停用词去除,利用词嵌入技术word2vec和tf-idf将新闻标题表示成低维的稠密矩阵;
9.步骤2:特征提取,通过bilstm神经网络的时序记忆能力学习历史交易数据的动态变化规律,将价格序列映射到高维空间进行抽象表示,输出价格特征;基于新闻文本的表示
向量矩阵,使用textcnn进行融合语义信息的文本特征提取;基于完成预处理的新闻文本使用snownlp库提取情感特征;
10.步骤3:特征融合,搭建深度神经网络特征融合层,拼接同一时间尺度下的价格特征、文本特征以及情感特征;
11.步骤4:预测,通过全连接层的激活函数relu计算农产品期货价格的预测结果并输出。
12.优选的,所述步骤1的数据采集与数据预处理包括以下子步骤:
13.步骤1.1:制定采集规则,选定数据采集的目标网站,确定检索关键词、采集的数据量以及数据的时间区间;
14.步骤1.2:网络爬虫,根据制定的数据采集规则,通过网络爬虫技术爬取农产品期货交易历史数据以及新闻标题;
15.步骤1.3:数据清洗,对采集的农产品期货收盘价数据和新闻标题分别进行缺失值处理、无关标题和异常内容剔除;
16.步骤1.4:归一化处理,采用min-max方法对农产品期货的收盘价进行归一化处理,计算公式如下:
[0017][0018]
其中,p为期货原始收盘价,p

为归一化后的收盘价。
[0019]
步骤1.5:新闻文本分词和停用词去除,使用中文停用词表、哈工大停用词表、百度停用词表和四川大学机器智能实验室停用词库,采用python的jieba分词器在分词过程中直接去除停用词;
[0020]
步骤1.6:词向量训练,采用tf-idf叠加word2vec模型进行词向量训练,能够考虑不同词语在整体文本中的重要性的同时增强新闻标题短文本词向量的表达能力,最终获得低维且稠密的文本向量。
[0021]
优选的,所述步骤2的特征提取包括以下子步骤:
[0022]
步骤2.1:通过滑动窗口法沿时间戳取固定窗口大小的价格序列和文本向量作为样本;
[0023]
步骤2.2:使用bilstm提取农产品期货价格特征,通过滑动窗口法沿时间戳取固定窗口大小的价格序列作为样本输入神经网络中的bilstm层,同时学习样本窗口内价格序列历史数据和未来数据的波动信息;
[0024]
步骤2.3:使用textcnn建立文本特征,利用网络结构中多个不同尺寸的卷积核深度学习样本窗口中的文本关联特征,提取向量矩阵中的关键信息特征;
[0025]
步骤2.4:使用snownlp提取新闻情感特征,对所使用的新闻标题数据集进行情感标注,引入多类常用中文情感词汇库对snownlp本身的语料库进行扩展;基于新建立的语料库使用snownlp的模型进行重新训练,得到每个新闻标题的新闻情感特征。
[0026]
优选的,所述步骤3的特征融合包括以下子步骤:
[0027]
步骤3.1:使用concatenate函数拼接同一时间尺度下的价格特征、文本特征和情感特征,拼接后的特征序列如下:
[0028][0029]
其中,pi为价格序列,di为文本向量序列,si为情感特征序列。
[0030]
一种应用所述的一种基于文本挖掘与深度学习模型的农产品期货价格预测方法的系统,包括以下模块:
[0031]
数据预处理模块:对价格序列进行数据清洗和归一化处理,对文本数据集进行分词和停用词去除,利用词嵌入技术word2vec和tf-idf将新闻标题表示成低维的稠密矩阵;
[0032]
特征提取模块:通过bilstm神经网络的时序记忆能力学习历史交易数据的动态变化规律,将价格序列映射到高维空间进行抽象表示,输出价格特征;基于新闻文本的表示向量矩阵,使用textcnn进行融合语义信息的文本特征提取;基于完成预处理的新闻文本使用snownlp库提取情感特征;
[0033]
特征融合模块:搭建深度神经网络特征融合层,拼接同一时间尺度下的价格特征、文本特征以及情感特征;
[0034]
预测模块:通过全连接层的激活函数relu计算农产品期货价格的预测结果并输出。
[0035]
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,所述处理器执行计算机程序时实现所述的基于文本挖掘与深度学习模型的农产品期货价格预测方法。
[0036]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于文本挖掘与深度学习模型的农产品期货价格预测方法
[0037]
与现有技术相比,本发明的技术效果为:本发明首先考虑采用农产品期货的相关新闻标题作为文本特征提取的对象,新闻标题是关键信息的集中体现,包含较少噪音和无关信息,有助于提高特征的信息表达能力;其次,使用textcnn 模型和snownlp进行无监督文本特征和情感特征提取,减少人工标注工作量和避免主观判断产生的干扰;此外使用bilstm从农产品期货的收盘价序列中提取的价格特征,构建支持多通道数据输入的深度神经网络模型,在模型内部进行多特征融合,观察不同特征在均衡考虑的前提下对模型预测性能的提升以及对农产品期货价格预测效果的贡献性。
附图说明
[0038]
图1为本发明基于文本挖掘与深度学习模型的农产品期货价格预测流程图。
[0039]
图2为基于bilstm的价格特征提取流程图。
[0040]
图3为基于textcnn的文本特征提取流程图。
[0041]
图4为基于snownlp的情感分析提取流程图。
[0042]
图5为采样预测周期示意图。
[0043]
具体实施方法
[0044]
为了对本发明的技术特征、目的和效果有更加清楚的理解,以下结合附图及实施例,对本发明进行进一步的详细说明。此处所描述的具体实施例仅用于解释本发明技术方案,并不限于本发明。
[0045]
如图1所示,一种基于文本挖掘与深度学习模型的农产品期货价格预测方法,包括
以下步骤:
[0046]
步骤1:数据采集与数据预处理,从选定的数据源中采集农产品期货历史交易价格数据与农产品期货新闻数据,并根据数据特点进行预处理操作;
[0047]
步骤2:特征提取,提取农产品期货价格特征、农产品期货新闻标题的文本特征以及情感特征;
[0048]
步骤3:特征融合,搭建深度神经网络特征融合层,拼接同一时间尺度下的价格特征、文本特征以及情感特征。
[0049]
步骤4:预测,通过全连接神经网络计算农产品期货的预测结果并输出。
[0050]
优选的,所述的数据采集与数据预处理包括以下子步骤:
[0051]
步骤1.1:制定采集规则,选定数据采集的目标网站,确定检索关键词、采集的数据量以及数据的时间区间等;
[0052]
步骤1.2:网络爬虫,根据制定的数据采集规则,通过网络爬虫技术爬取农产品期货交易历史数据以及新闻标题;
[0053]
步骤1.3:数据清洗,对采集的农产品期货收盘价数据进行缺失值处理、删除无关的标题和异常内容;
[0054]
步骤1.4:归一化处理,采用min-max方法对农产品期货的收盘价进行归一化处理,计算公式如下:
[0055][0056]
其中,p为期货原始收盘价,p

为归一化后的收盘价
[0057]
步骤1.5:新闻文本分词和停用词去除,使用中文停用词表、哈工大停用词表、百度停用词表和四川大学机器智能实验室停用词库,采用python的jieba分词器在分词过程中直接去除停用词;
[0058]
步骤1.6:词向量训练,采用tf-idf叠加word2vec模型进行词向量训练,考虑不同词语在整体文本中的重要性的同时增强新闻标题短文本词向量的表达能力,最终获得低维且稠密的文本向量。
[0059]
在本实施例中,特征提取包括以下子步骤:
[0060]
步骤2.1:如图2,使用bilstm提取农产品期货价格特征,通过滑动窗口法沿时间戳取固定窗口大小的价格序列作为样本输入神经网络中的bilstm层,同时学习样本窗口内价格序列历史数据和未来数据的波动信息。公式(2)中的h
t-1
和x
t
分别是上一个隐藏层保留的t-1时刻的农产品期货价格信息和t时刻输入的收盘价,lstm单元中的遗忘门对上一时刻无用信息进行判断和丢弃,保留有用信息f
t
;公式(3)-公式(5)为输入门的价格信息处理过程,i
t
为保存的t时刻的价格信息,为tanh层创建的候选值向量,最后更新细胞状态为c
t
;公式(6)
‑ꢀ
公式(7)中,输出门通过sigmoid层确定细胞状态的输出部分c
t
,并用tanh层将细胞状态值压缩到0至1,最后输出包含t-1时刻和t时刻的价格信息h
t
,同时向下一单元传递。由此完成样本窗口内农产品期货价格序列的学习。下列式(2)
‑ꢀ
式(7)中,w
*
和b
*
分别表示权重矩阵和偏置向量。
[0061]ft
=σ(ωf·
[h
t-1
,x
t
]+bf)
ꢀꢀ
(2)
[0062]it
=tanh(ωc·
[h
t-1
,x
t
]+bc)
ꢀꢀ
(3)
[0063][0064][0065]ot
=σ(ωo[h
t-1
,x
t
]+bo)
ꢀꢀ
(6)
[0066]ht
=o
t
*tanh(c
t
)
ꢀꢀ
(7)
[0067]
步骤2.2:如图3,使用textcnn提取文本特征,基于处理好的文本向量, textcnn在一维卷积中利用多个不同尺寸的卷积核来提取向量矩阵中的关键信息,不同的卷积核相当于不同的局部特征提取器,从而使网络能够深度学习样本窗口中的文本关联特征。textcnn每一层的工作原理具体描述如下:
[0068]
(1)输入层:使用滑动窗口法相对应地截取与价格序列同等窗口长度的新闻标题文本向量作为输入样本,在包含文本信息的基础上增加时间维度,构成如表 1所示的文本向量矩阵。设该向量矩阵m大小为m
×
n,其中m为时间维度,n 为向量维度。
[0069]
(2)卷积层:在textcnn中,卷积核的宽度与文本向量的维度n一致,高度取值为3、4、5,每个尺寸的卷积核数量为100。通过不同的卷积核从嵌入的文本向量矩阵中提取全面及深层的特征表示。将卷积层输出的特征拼接成一维向量后输入dropout层,dropout层按照一定概率随机地从网络中丢弃神经元,能够增加输入样本的多样性,缓解模型过拟合现象。
[0070]
(3)全连接层:全连接层使用激活函数relu对卷积层的输出向量进行处理,对卷积层输出的特征进行降维并提取特征之间的语义关联和时间关联,映射到输出空间,获得最终的农产品期货新闻文本特征。
[0071]
步骤2.3:如图4,使用snownlp提取新闻情感特征,为提高情感分析的准确度和克服语料的局限性,本发明对所使用的新闻标题数据集进行情感标注,此外引入清华大学李军中文褒贬义词典、简体中文情感词典、知网hownet情感词典等多类常用中文情感词汇库对snownlp本身的语料库进行扩展。基于新建立的语料库使用snownlp的模型进行重新训练,得到每个新闻标题的情感分数。
[0072]
特征融合包括以下子步骤:
[0073]
步骤3.1:使用concatenate函数拼接同一时间尺度下的价格特征、文本特征和情感特征,拼接缝后的序列如下:
[0074][0075]
其中,pi为价格序列,di为文本向量序列,si为情感特征序列。
[0076]
本实施以玉米期货价格为例,本发明提供的一种基于文本挖掘与深度学习模型的农产品期货价格预测方法,该方法包括以下步骤:
[0077]
步骤1:数据采集与数据预处理。
[0078]
数据采集:使用基于python的akshare金融数据接口库从新浪财经爬取玉米期货的日频交易数据,时间跨度为2012年12月27日至2021年7月30日,共 2085个交易日的玉米期货收盘价。玉米期货相关新闻标题获取于布瑞克农产品集购网,本实例在该网站上对与
玉米期货价格同等时间跨度的相关新闻标题文本进行爬取,共获取到27281条数据。
[0079]
数据预处理:对价格数据进行缺失值处理与归一化处理;对新闻标题进行数据清洗,包括删除无关标题和异常内容,去除停用词以及中文分词。为了避免词嵌入产生高维稀疏的词向量,通过累积分布函数计算样本标题长度,取句子长度累计频率为0.99分位点,此时标题长度为12,因此在词嵌入生成词向量过程中,设置词向量维度为12。
[0080]
数据集划分:使用滑动窗口法对玉米期货的收盘价进行提前一步预测,根据期货市场交易规则,设置时间窗口为5天。将整体数据集按照8:2的比例划分训练集与测试集。
[0081]
非结构化数据处理:利用词嵌入技术word2vec和tf-idf将新闻标题表示成低维的稠密矩阵。
[0082]
步骤2:特征提取,利用bilstm提取农产品期货价格特征,具体过程如图 2所示;利用textcnn提取文本特征,具体过程如图3所示。bilstm与textcnn 的具体模型参数设置如表1所示。
[0083]
表1模型参数设置
[0084]
[0043]参数bilstmtextcnn单层lstm神经元个数5null卷积核个数null100卷积核大小null3,4,5dropout0.250.5batch_size1616迭代次数200200
[0085]
利用snownlp进行新闻标题的情感特征提取,具体过程如图4所示。
[0086]
步骤3:特征融合,搭建深度神经网络特征融合层,使用concatenate函数拼接同一时间尺度下玉米期货的价格特征、文本特征和情感特征,具体过程如图5 所示。
[0087]
步骤4:预测,融合价格特征、文本特征及情感特征进行玉米期货价格预测,建立如式(3)模型,通过全连接层的激活函数relu计算玉米期货价格的预测结果并输出。
[0088][0089]
本发明采用平均绝对误差(mae)、均方根误差(rmse)和可决系数(r2)三种预测评价指标来量化模型性能,并设置3种建模方案与4个预测模型作为对比实验。3种建模方案分别是:方案一:仅使用价格序列作为输入;方案二:使用价格序列和文本序列同时作为输入;方案三:在方案二的基础上融合情感特征作为输入。 4个对比模型分别是bilstm、gru、bpnn和svr。实验结果如表2所示。
[0090]
表2对比实验结果
[0091][0092]
实验结果显示,基于方案二进行预测的精度相比于方案一有显著的提高,而采用方案三后,模型性能能得到进一步的提升,这说明从玉米期货新闻标题中提取到的文本特征和情感特征包含的信息均能对玉米期货价格的预测产生积极作用。相对于4个对比模型,本发明模型在玉米期货预测的应用中mae值为0.0205; rmsr值为0.0280;r2值为0.9842,明显具有更优越的性能和较高的预测精度。使用diebold-mariano(dm)检验从统计学角度检验本发明模型和基线方法的优劣。本次实验设置损失函数为mse进行单边dm检验,原假设为两个模型的预测能力一致,备择假设为模型2的预测精度低于模型1,检验结果如表3所示。
[0093]
表3本发明模型与对比模型dm检验结果
[0094][0095]
注:***表示1%置信水平,**表示5%置信水平,*表示10%置信水平。
[0096]
表3的结果表明,在测试集中dm检验的结果在1%的显著性水平下均拒绝原假设,即本文模型与对比的基线方法均存在显著性差异,且本文所提出的方法的预测性能明显优于其他对比模型。
[0097]
通过实例研究,可知本发明的主要贡献有以下三方面:(1)引入非结构化的新闻标题进行特征提取,挖掘其对农产品期货价格预测的信息增量价值,实证分析表明,基于新闻文本提取到的文本特征和情感特征有利于提升农产品期货价格的预测准确性,并能够同时反映出市场因素和非市场因素对价格波动的影响;(2) 提出了一种融合文本类特征与价格特征的深度神经网络模型,基于bilstm和 textcnn搭建模型特征提取层,利用循环神经网络和卷积神经网络的特点并行提取不同结构化数据源的特征,拓展了文本挖掘技术和深度学习模型在期货价格预测领域的应用;(3)在实证研究中本文模型在农产品期货价格预测中取得了显著优于基线模型的预测效果,同时从预测评价指标和显著性统计检验中验证了本方法的有效性。本方法综合考虑了交易数据与新闻文本对期货价格走势的影响,通过深度学习模型融合两种不同结构化的信息进行实证研究,能够为该领域的未来研究方向提供一定参考作用。
[0098]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
[0099]
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何本发明的精神原则之内所作出的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1