一种基于大数据提供决策支持的方法、系统及存储介质与流程
1.本发明属于大数据分析技术领域,具体涉及一种基于大数据提供决策支持的方法、系统及存储介质。
背景技术:
2.近年来,我国农产品价格的波动频率、幅度不断加剧,主要是受短时供求关系、资本炒作、养殖成本、自然灾害等因素的影响。农产品价格的剧烈波动不仅给涉农企业和农民带来巨大影响,也影响着宏观经济运行和居民生活消费。农产品价格问题已引起人们的高度重视和广泛研究,其中提高对农产品价格预测的及时性与准确性至关重要。
3.大数据决策是以大数据为主要驱动的决策方式。随着大数据技术的发展,大数据逐渐成为人们获取对事物和问题更深层次认知的决策资源,特别是人工智能技术与大数据的深度融合,为复杂决策的建模和分析提供了强有力的工具。
4.随着大数据应用的日益广泛,越来越多人通过利用大数据对农产品未来价格的预测,价格预测的模型和方法已有了显著的改进与提高。常见的农产品价格预测方法如差分整合移动平均自回归模型(arima)、向量自回归模型(var)、时间序列的自回归模型(ar)、灰系统预测模型(gm)等,然而随着数据量的不断增大,其预测准确度也渐渐降低。也有研究者们提出了采用循环神经网络模型(rnn)来实现对农产品市场价格影响因素在时间序列上的短期价格预测,但该预测模型在进行农产品价格预测中一定程度上会耗费较长的时间,并且预测的准确度也较低,使得预测结果的参考价值较低,导致农户和消费者不能充分了解当前农产品价格信息。而且农户不能及时掌握农产品价格,导致农产品脱销或滞销的情况,常常出现丰产不丰收现象,严重影响着广大农户、农企、经销商及消费者的经济利益。
技术实现要素:
5.为解决上述现有技术的缺点和不足之处,本发明的目的在于提供一种基于大数据提供决策支持的方法、系统及存储介质。
6.本发明目的通过以下技术方案实现:
7.根据本发明的一个方面,提供一种基于大数据提供决策支持的方法,所述方法包括以下步骤:
8.采集产品的市场历史数据、实时价格数据;
9.对采集的历史数据进行预处理、存储;
10.根据采集的历史数据建立基于lstm-bp的产品价格预测模型;
11.根据采集的实时价格数据,利用建立的价格预测模型预测未来某一时间点/时间段的产品价格;
12.采用可视化的方式展示预处理后的历史数据,及所预测的未来某一时间点/时间段的产品价格。
13.产品的市场历史数据包括但不限于产品的历史价格、产量、消费量和增长率。采集
产品的市场历史数据、实时价格数据,可以通过爬取国家相关网站、行业相关网站、相关企业网站、相关销售网站,查科技文献、统计年鉴等渠道进行。在实际采集过程中,还可以人为采集一些封闭性的数据,即网络或其他技术采集不到的数据。
14.进一步地,所述对采集的历史数据进行预处理、存储,包括:
15.抽取所采集的历史数据中的非结构化数据和半结构化数据并进行清洗;
16.将清洗后的非结构化数据和半结构化数据转换为结构化数据;
17.采用hbase分布式数据库对结构化数据进行存储。
18.通过对所采集的历史数据进行抽取、清洗和转换,可以保证数据的连续性、稳定性和有效性,也是为后续采用可视化的方式展示做准备。
19.进一步地,所述根据采集的历史数据建立基于lstm-bp的产品价格预测模型,包括:
20.将所述历史数据清洗后划分为训练集、验证集、测试集三个数据集;
21.对数据集进行降维处理、归一化处理,获得训练数据;
22.利用训练数据中训练集训练lstm-bp模型;
23.利用训练数据中的验证集对训练后的lstm-bp模型进行修正;
24.利用训练数据中的测试集对修正后的lstm-bp模型进行测试;
25.若测试成功,则修正后的lstm-bp模型为产品价格预测模型;若测试失败,则重新获取验证集,对训练后的lstm-bp模型重新进行修正。
26.进一步地,所述训练集、验证集、测试集三个数据集的占比分别为70%、20%、10%。
27.lstm全称长短期记忆人工神经网络,bp全称反向传播神经网络,lstm-bp模型即是将两个神经网络融合的模型。由于数据维度过高并不能保证所建模型的准确率同步提高,但数据降维可加速模型训练与计算,故对划分好的数据集进行进一步的降维处理。
28.进一步地,所述归一化处理公式为:
[0029][0030]
式中,x
*
为归一化处理后的数值,x为所采集的历史数据原始数值,x
min
为当前维度所有数据中数值最小的值,x
max
为当前维度所有数据中数值最大的值。
[0031]
数据归一化是将一类数据特征的值变换到0和1之间,数据归一化的优点包括提升模型的准确率和加快模型在训练过程中的收敛性。
[0032]
进一步地,若所述历史数据有缺失值,则获取所述历史数据中的缺失值的位置及缺失值的位数,并通过贝叶斯分类算法计算出所述缺失值概率最大的取值作为缺失值的填充值。
[0033]
若所采集的历史数据中有缺失值,则通过贝叶斯分类算法计算出概率最大的取值作为缺失值的填充值,根据数据属性确定各填充值的概率,通过mapreduce取概率最大的填充值进行填充,以补充完整历史数据,进而确保样本数据的完整性。
[0034]
进一步地,上述基于大数据提供决策支持的方法还包括:
[0035]
采用adam算法、利用所述实时价格数据,实时优化所述产品价格预测模型。
[0036]
根据本发明的另一个方面,提供一种基于大数据提供决策支持的系统,所述系统
包括以下模块:
[0037]
采集模块:用于采集产品的市场历史数据、实时价格数据;
[0038]
预处理模块:用于对采集的历史数据进行预处理、存储;
[0039]
建模模块:用于根据采集的历史数据建立基于lstm-bp的产品价格预测模型;
[0040]
预测模块:用于根据采集的实时价格数据,利用建模模块所建立的价格预测模型预测未来某一时间点/时间段的产品价格;
[0041]
可视化模块:用于采用可视化的方式展示预处理模块预处理后的历史数据,及预测模块所预测的未来某一时间点/时间段的产品价格。
[0042]
可选地,所述基于大数据提供决策支持的系统进一步包括优化模块,用于采用adam算法、利用所述实时价格数据,实时优化建模模块所建立的产品价格预测模型。
[0043]
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述基于大数据提供决策支持的方法。
[0044]
与现有技术相比,本发明具有以下优点及有益效果:
[0045]
(1)本发明的基于大数据提供决策支持的方法可以对产品未来某一时间点/时间段的产品价格进行预测,并采用可视化的方式对历史数据和所预测的价格进行展示,为生产者及其上下游产业链、消费者和决策者提供决策支持。
[0046]
(2)本发明的预测模型基于lstm-bp而建立,将lstm神经网络深度学习强大的表征能力和bp神经网络较优的预测能力结合在一起,提供了一种较可靠的产品价格预测模型。
[0047]
(3)本发明采用adam算法对所建立的预测模型进行实时优化,可以进一步提高所建立的价格预测模型的可靠性。
[0048]
(4)本发明采用基于hadoop的分布式数据库hbase对所采集的历史数据经预处理后的结构化数据,能有效地存储海量历史数据并应对数据可能存在的快速增长,为后续利用大数据分析引擎对历史数据进行实时处理分析并最终实现可视化提供支持。
附图说明
[0049]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0050]
图1为本发明基于大数据提供决策支持的方法步骤示意图。
[0051]
图2为本发明对采集的历史数据进行预处理、存储步骤示意图。
[0052]
图3为本发明建立基于lstm-bp的产品价格预测模型步骤示意图。
[0053]
图4为本发明可视化展示2012至2021年全国鸡蛋产量及增长率。
[0054]
图5为本发明可视化展示2021年全国鸡蛋消费结构及数量。
[0055]
图6为本发明可视化展示2013至2022年全国蛋鸡行业规模走势。
[0056]
图7为本发明可视化展示2021年全国蛋鸡养殖地区分布 amp;top10企业存栏。
[0057]
图8为本发明可视化展示2013至2022年全国蛋鸡产能走势。
[0058]
图9为本发明可视化展示2021年7月至2022年6月期间的鸡蛋销区(上海、东莞、北京、广州)和产区(浠水、福州、馆陶)的鸡蛋现货价格走势。
[0059]
图10为本发明可视化展示2022年7月13日至22日的鸡蛋销区(上海、东莞、北京、广州)和产区(浠水、福州、馆陶)鸡蛋价格走势。
[0060]
图11为本发明基于大数据提供决策支持的系统示意图。
具体实施方式
[0061]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0062]
实施例1
[0063]
如图1、图2所示,本实施例提供一种基于大数据提供决策支持的方法,该方法包括以下步骤:
[0064]
s1、采集产品的市场历史数据、实时价格数据。
[0065]
具体地,本实施例中所采集的产品的市场历史数据包括但不限于产品的历史价格、产量、消费量和增长率。采集产品的市场历史数据、实时价格数据,可以通过爬取国家相关网站、行业相关网站、相关企业网站、相关销售网站,查科技文献、统计年鉴等渠道进行。本实施例在实际采集过程中,还可以人为采集一些封闭性的数据,即网络或其他技术采集不到的数据。
[0066]
s2、对采集的历史数据进行预处理、存储。
[0067]
具体地,本实施例对采集的历史数据进行预处理、存储,包括以下步骤:
[0068]
s21、抽取所采集的历史数据中的非结构化数据和半结构化数据并进行清洗;
[0069]
s22、将清洗后的非结构化数据和半结构化数据转换为结构化数据;
[0070]
s23、采用hbase分布式数据库对结构化数据进行存储。
[0071]
由于所采集的历史数据中可能存在噪声,故在对其进行转换前可利用数据仓库技术(extract-transform-load,etl)对数据进行数据清洗操作,去除脏数据。通过对市场历史数据进行抽取、清洗和转换,保证了数据的连续性、稳定性和有效性。
[0072]
采用基于hadoop的分布式数据库hbase对所采集的历史数据经预处理后的结构化数据进行存储,能有效地存储海量历史数据并应对数据可能存在的快速增长,为后续利用大数据分析引擎对历史数据进行实时处理分析并最终实现可视化提供支持。
[0073]
s3、根据采集的历史数据建立基于lstm-bp的产品价格预测模型。
[0074]
lstm全称长短期记忆人工神经网络,bp全称反向传播神经网络,lstm-bp模型即是将两个神经网络融合的模型。lstm是一种特殊的rnn,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题,相比普通的rnn,lstm能够在更长的序列中有更好的表现。bp神经网络无论在网络理论还是在性能方面已比较成熟,其具有很强的非线性映射能力和柔性的网络结构,网络的中间层数、各层的神经元个数可根据具体情况任意设定,并且随着结构的差异其性能也有所不同。
[0075]
本实施例的预测模型基于lstm-bp而建立,将lstm神经网络深度学习强大的表征能力和bp神经网络较优的预测能力结合在一起,提供了一种较可靠的产品价格预测模型。
[0076]
s4、根据采集的实时价格数据,利用建立的价格预测模型预测未来某一时间点/时
间段的产品价格。
[0077]
具体地,将采集的实时价格数据输入到所建立的价格预测模型中,输出值即为所预测的未来某一时间点/时间段的产品价格。在本实施中,还采用adam算法、利用实时价格数据,实时优化产品价格预测模型。
[0078]
adam算法是一种有效的基于梯度的随机优化方法,该算法融合了adagrad和rmsprop算法的优势,能够对不同参数计算适应性学习率并且占用较少的存储资源。采用adam算法实时优化所建立的产品价格预测模型,可以进一步提高所建立的价格预测模型的可靠性。
[0079]
s5、采用可视化的方式展示预处理后的历史数据,及所预测的未来某一时间点/时间段的产品价格。
[0080]
具体地,本实施例采用可视化的方式展示预处理后的产品历史价格、产量、消费量和增长率的结构化数据。
[0081]
实施例2
[0082]
如图1至图10所示,本实施例以农产品鸡蛋为例,提供一种基于大数据提供决策支持的方法,该方法包括以下步骤:
[0083]
s1、采集产品的市场历史数据、实时价格数据。
[0084]
本实施例中采集鸡蛋的市场历史数据包括全国鸡蛋产量及增长率、全国鸡蛋消费结构及数量、各地区鸡蛋历史价格(如销区和产区),以及对鸡蛋影响显著的上游产业蛋鸡养殖的部分历史数据。具体地,可以通过爬取国家相关网站、行业相关网站、相关企业网站、相关销售网站,查科技文献、统计年鉴等渠道进行数据的采集。本实施例在实际采集过程中,还可以人为采集一些封闭性的数据,即网络或其他技术采集不到的数据。
[0085]
s2、对采集的历史数据进行预处理、存储。
[0086]
具体地,本实施例对采集的历史数据进行预处理、存储,包括以下步骤:
[0087]
s21、抽取所采集的历史数据中的非结构化数据和半结构化数据并进行清洗;
[0088]
s22、将清洗后的非结构化数据和半结构化数据转换为结构化数据;
[0089]
s23、采用hbase分布式数据库对结构化数据进行存储。
[0090]
本实施例采用分布式数据库hbase存储经预处理后的结构化数据的有益效果同实施例1,在此不再复述。
[0091]
s3、根据采集的历史数据建立基于lstm-bp的产品价格预测模型。
[0092]
具体地,本实施例通过以下步骤建立基于lstm-bp的鸡蛋价格预测模型:
[0093]
s31、将所述历史数据清洗后划分为训练集、验证集、测试集三个数据集;
[0094]
s32、对数据集进行降维处理、归一化处理,获得训练数据;
[0095]
s33、利用训练数据中训练集训练lstm-bp模型;
[0096]
s34、利用训练数据中的验证集对训练后的lstm-bp模型进行修正;
[0097]
s35、利用训练数据中的测试集对修正后的lstm-bp模型进行测试;
[0098]
s36、若测试成功,则修正后的lstm-bp模型为鸡蛋价格预测模型;若测试失败,则重新获取验证集,对训练后的lstm-bp模型重新进行修正(即返回步骤s34)。
[0099]
所采集的历史数据中可能存在噪声,故在将其划分数据集前利用etl对数据进行数据清洗操作,去除脏数据。在本实施例中,训练集、验证集、测试集三个数据集的占比分别
为70%、20%、10%。
[0100]
由于数据维度过高并不能保证所建模型准确率的同步提高,但数据降维可加速模型训练与计算,故将数据划分数据集后进行进一步的降维处理。
[0101]
在对数据进行降维处理后,还对数据进行归一化处理,归一化处理公式如下所示:
[0102][0103]
式中,x*为归一化处理后的数值,x为所采集的历史数据原始数值,x
min
为当前维度所有数据中数值最小的值,x
max
为当前维度所有数据中数值最大的值。
[0104]
数据归一化是将一类数据特征的值变换到0和1之间,数据归一化的优点包括提升模型的准确率和加快模型在训练过程中的收敛性。在本实施例中,若所采集的历史数据有缺失值,则获取历史数据中的缺失值的位置及缺失值的位数,并通过贝叶斯分类算法计算出所述缺失值概率最大的取值作为缺失值的填充值(根据数据属性确定各填充值的概率,通过mapreduce取概率最大的填充值进行填充),以补充完整历史数据,进而确保样本数据的完整性。
[0105]
s4、根据采集的实时价格数据,利用建立的价格预测模型预测未来某一时间点/时间段的产品价格。
[0106]
具体地,将采集的鸡蛋实时价格数据输入到所建立的价格预测模型中,输出值即为所预测的未来某一时间点/时间段的鸡蛋价格。在本实施中,还采用adam算法、利用实时价格数据,实时优化鸡蛋价格预测模型。
[0107]
s5、采用可视化的方式展示预处理后的历史数据,及所预测的未来某一时间点/时间段的产品价格。
[0108]
具体地,本实施例示例性地给出如下一些采用可视化的方式展示预处理后的鸡蛋历史数据附图:
[0109]
如图4所示,本实施例可视化地展示2012年至2021年全国鸡蛋产量及增长率,图中还展示了近10年全国蛋鸡料蛋比、产蛋率和死淘率数值。
[0110]
如图5所示,本实施例可视化地展示2021年全国鸡蛋消费结构及数量,图中还展示了2021年全年鸡蛋消费流通渠道及占比数据。
[0111]
如图6所示,本实施例可视化地展示2013至2022年全国蛋鸡行业规模走势,图中包括蛋鸡行业的产业规模、市场规模和鸡蛋产值。
[0112]
如图7所示,本实施例可视化地展示2021年全国蛋鸡养殖地区分布 amp;top10企业存栏,图中展示具体展示了蛋鸡养殖业在全国七大区域的蛋鸡存栏量及占比,同时列出了全国行业前10企业的蛋鸡存栏数量排名。
[0113]
如图8所示,本实施例可视化地展示2013至2022年全国蛋鸡产能走势,图中具体展示近10年全国蛋鸡存栏量的数据和鸡蛋批发价格的走势数据。
[0114]
如图9所示,本实施例可视化地展示2021年7月至2022年6月期间鸡蛋销区(上海、东莞、北京、广州)和产区(浠水、福州、馆陶)的鸡蛋现货价格走势。
[0115]
如图10所示,本实施例可视化地展示2022年7月13日至22日的鸡蛋销区(上海、东莞、北京、广州)和产区(浠水、福州、馆陶)鸡蛋价格走势。
[0116]
本实施例示例的基于大数据提供决策支持的方法可以对产品未来某一时间点/时
间段的产品价格进行预测,并采用可视化的方式从多个维度对历史数据进行展示,为生产者及其上下游产业链、消费者和决策者提供决策支持。
[0117]
实施例3
[0118]
如图11所示,本实施例提供一种基于大数据提供决策支持的系统,该系统包括以下模块:
[0119]
采集模块:用于采集产品的市场历史数据、实时价格数据。
[0120]
具体地,本实施例中采集模块所采集的产品的市场历史数据包括但不限于产品的历史价格、产量、消费量和增长率。采集模块可以通过爬取国家相关网站、行业相关网站、相关企业网站、相关销售网站,查科技文献、统计年鉴等渠道进行数据采集。
[0121]
预处理模块:用于对采集的历史数据进行预处理、存储。
[0122]
建模模块:用于根据采集的历史数据建立基于lstm-bp的产品价格预测模型。
[0123]
本实施例的建模模块建立基于lstm-bp的产品价格预测模型,将lstm神经网络深度学习强大的表征能力和bp神经网络较优的预测能力结合在一起,提供了一种较可靠的产品价格预测模型。
[0124]
预测模块:用于根据采集的实时价格数据,利用建模模块所建立的价格预测模型预测未来某一时间点/时间段的产品价格。
[0125]
具体地,将采集模块所采集的产品实时价格数据输入到建模模块所建立的价格预测模型中,预测模块输出值即为所预测的未来某一时间点/时间段的产品价格。
[0126]
可视化模块:用于采用可视化的方式展示预处理模块预处理后的历史数据,及预测模块所预测的未来某一时间点/时间段的产品价格。
[0127]
可选地,本实施例基于大数据提供决策支持的系统进一步加入优化模块,该模块用于采用adam算法、利用所述实时价格数据,实时优化建模模块所建立的产品价格预测模型,可以进一步提高所建立的价格预测模型的可靠性。
[0128]
本实施例提供的基于大数据提供决策支持的系统可以对产品未来某一时间点/时间段的产品价格进行预测,并采用可视化的方式对历史数据进行展示,为生产者及其上下游产业链、消费者和决策者提供决策支持。
[0129]
实施例4
[0130]
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例中基于大数据提供决策支持的方法。
[0131]
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
[0132]
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
[0133]
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0134]
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而
实现上述实施例中任意一项实施例的功能。
[0135]
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
[0136]
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。