基于海洋水产大数据价格分析预测系统的研究
2020-09-02叶炼炼林扬武
叶炼炼,林扬武
(厦门海洋职业技术学院,福建 厦门 361012)
粗犷型水产养殖模式对我国水产品产量的快速增长起了重大作用,水产养殖极大地改善了民生,增加了农民收入。我国水产养殖业经历了十多年的黄金时期,但传统凭经验养殖的老办法在生产实践中却存在种种弊端,水产养殖的暴利时期慢慢远去,所生产的水产品难以满足市场需求[1]。
大数据背景下,各行各业都需要数据支持。互联网上有着丰富的水产品价格资源,可以通过爬虫抓取数据和处理分析,使其成为有价值的数据[2]。如何利用海洋大数据更好地服务于海洋产业的发展,这个问题的研究很有理论意义及现实应用价值。
1 系统设计
海洋水产价格大数据系统平台分为数据层、技术层和应用层,架构如图1所示。
(1)系统的基础是数据层:包括水产品种、水产名称、价格等数据。在获取了海洋水产价格大数据后,需要建设专业的大数据平台,以支持海洋水产价格的分析工作。通过分析、挖掘、预报、可视化等技术,在大数据平台上可以配置相应的操作环境,来配合海洋大数据的分析及应用研究,实现海洋水产价格的个性化检索,并对海洋水产的价格进行预报。
(2)系统的核心是技术层:利用分析方法对数据进行建模,从中提取数据的潜在价值[3]。通过对价格数据的实时分析和处理,应用于海鲜产品价格走势预测等领域。
(3)系统的价值是应用层:通过互联网、移动互联网给用户所需要的数据集,以图表等形式展示得到的信息,并可以查询、检索历史信息和预测未来的走势。
2 平台功能设计
海洋大数据分析预测系统主要包括:数据采集模块、数据处理存储模块、数据计算模块和数据可视化模块等,如图2所示。
图2 系统功能模块
(1)数据采集模块:利用基于Python的网络爬虫软件实时采集行业专业水产价格网站和几大电商平台上的水产价格数据。由于来自不同的渠道,对收集的海量级数据中非结构化、半结构化的数据进行分类,筛选、压缩生成符合一定规范的源数据,因此,需要对数据进行预处理,如数据“清洗”,为后续流程提供统一的、高质量的数据集。
(2)数据处理存储模块:根据数据来源不同可将其分为两大类:在线的实时流数据处理,离线历史数据库大数据处理。基于Hadoop的大数据处理和Hbase数据存储的优势,应用范围覆盖各种规模和不同数据量[4]。基于流化的数据处理流程包括:结构化、非结构化、关系数据库、非关系数据库和实时流处理。
(3)数据计算模块:本预测系统使用keras深度学习库,后端基于谷歌人工智能学习系统TensorFlow,构建多层感知器(Multi-Layer Perceptron,MLP)神经网络模型,用于预测未来数天及数个月的水产价格[5]。该模型有3个主要结构模块:全局数据特征提取与数据时序特征提取以及特征整合预测模块,内部包含两个长短期记忆网络(Long Short-Term Memory,LSTM)、多个深度神经网络(Deep Neural Networks,DNN)等网络结构。模型总参数284 184个,需训练参数283 672个。使用均方误差(Mean_Squared_Error,MSE)计算损失值,并使用adam优化器调整模型参数。通过将历史水产价格以及历史天气等数据集输入到神经网络训练模型,最终可得到可预测水产价格的神经网络模型,如图3所示。
(4)数据可视化模块:用户提供标签云、聚类图、曲线图、热图、其他数据展示等丰富的数据查询、分析与预测功能。通过互联网、移动互联网给用户所需要的数据集,以图表等形式展示得到的信息,并可以查询、检索历史信息和预测未来的走势。
3 结语
图3 预测系统的模型结构
文章构建的基于水产养殖价格的大数据分析预测系统,通过对给定网站的页面抓取、页面分析及数据清洗提取入库等步骤,建立了水产品价格预测模型,拥有较好的稳定性和较优的性能。由于水产价格数据源离散,特别是互联网上的水产价格网站比较少,水产数据更新不及时,导致部分水产预测价格会出现较大的偏差。下一步的研究重点为训练数据集,进一步提高水产价格预测的精度。