如何通过算法模型进行数据预测
当今数据时代背景下更加重视数据的价值,企业信息化建设会越来越完善,越来越体系化,以数据说话,通过数据为企业提升渠道转化率、改善企业产品、实现精准运营,为企业打造自助模式的数据分析成果,以数据驱动决策。
DAP数据分析平台应运而生,主要是满足在企业进行数据分析的过程中,进行数据集中化管控、决策分析等需要。其中的算法模型模块能够基于已有数据进行数据预测,供企业对未来进行规划治理,针对于商户门店的销售情况,即可以使用算法模型进行数据预测,下面我将介绍如何进行实现数据预测。
1整体介绍
DAP数据分析平台是一款专为构建企业大数据平台而设计的产品,它能高效存储、计算、分析和处理从业务系统或ODS中抽取的海量数据。通过可视化有价值的数据,帮助企业明确分析自身的优劣势,进而调整策略,加速企业的信息化发展和整体竞争力。
该产品可以灵活组合,以解决不同企业面临的问题,它在企业范围内建立了一套统一、规范的IT架构标准体系,包括数据规范、服务规范、流程规范、界面规范和接口规范等,从而有效解决了当前的信息孤岛问题,提高了效率并降低了成本。
1.1产品介绍
首先介绍一下数通畅联的产品体系:
数通畅联的所有产品都是通过K8S云平台进行部署搭建产品环境,通过不同的产品组合方案来解决企业面临的不同信息化困境,帮助企业完善信息化发展。
上图所示通过DAP数据分析平台+MDM基础数据平台+ESB企业数据总线组成了企业数据中台方案,DAP数据分析平台就是此方案的核心,基础数据平台进行主数据治理,DAP数据分析平台进行业务数据治理,通过ESB进行数据的集成,帮助整合企业数据,统一管理,提升企业的数据价值。
1.2产品说明
数据分析平台全生命周期是通过采集各个业务系统数据构建数仓,从而进行有效分析的过程,能够真实、准确、有效地将企事业内部及行业外部相关数据进行可视化展现,帮助企事业提升行业洞察力,加强决策力,从而提升整体竞争力。
数据分析平台功能有:
1.数据来源(应用系统定义、数据源头配置、ODS数据定义)。
2.数仓模型(业务主题、维度配置、事实配置、模型配置、指标管理)。
3.数据调度(规则校验、调度资源(同步资源、加工资源)、调度任务、调度日志(同步日志、加工日志)、质量日志、通知日志)。
4.分析模型(数据集配置、立方体配置、业务类报表、多维度分析)。
5.展现模型(导航管理、组件管理、展现主题、装饰管理)。
6.数据服务(接收服务、查询服务、统计服务、指标服务、业务服务)。
7.反向集成(集成配置、数据管理、数据分发)。
8.数据标签(标签定义、标签配置、标签画像)。
9.统计分析(数据地图、质量分析、血缘分析、影响分析)。
10.系统管理(组织管理、角色管理、人员管理、功能管理、编码类型、编码管理、系统日志)。
本次讲解的是DAP数据分析平台的算法模型功能部分,算法模型的数据来源于数据集,通过对算法进行原型配置、算法开发、算法调用一系列操作,将数据进行预测分析,最终使数据进行可视化的展现。
1.3场景介绍
DAP算法模型是使用Python开源库scikit-learn,通过scikit-learn不同算法模型进行运算从而实现预测分析等,通过不同算法模型来验证训练适合算法,得到最佳方案模型,然后通过DAP数据分析平台分析组件结合模型算出的结果进行预测、预警分析。
商户门店常常因为对未来计划错误预算而对自身经济造成损失,通过算法模型对未来销售额进行预测分析,可以让商户门店做出正确的应对策略。
主要有以下步骤:
1.算法原型配置:编辑预置算法应对商户门店的销售预测场景。
2.算法开发配置:选择配置好的算法原型回归模型,采集商户门店的历史销售额的特征值来进行算法训练,得到训练完成后的最优算法模型对象。
3.算法调用配置:通过算法模型对象调用算法得到预测销售额。
4.导航大屏查看:对于历史数据与预测数据进行展现对比。
2算法原型
算法原型是算法模型模块的组成部分,它是算法模型的基础和核心,用来预置算法为后续的算法开发做准备的功能。
2.1功能介绍
算法原型的主要功能是提供基础算法模型的开发和测试环境,帮助开发人员快速构建和测试算法模型。在算法原型中,开发人员可以对算法模型进行配置和调整,以便更好地适应不同的应用场景,本次销售额预测选择回归模型。
2.2功能配置
通过点击算法原型>选择模型>选择新增来创建算法原型,如下图:
进入如下图所示页面,填写表单点击保存。
而后可以点击编辑代码,对代码进行编辑,编辑完成后可以点击解析代码按钮来生成Jupyter Notebook文件。为不同场景提供算法原型,快速开发,方便快捷。
2.3功能展现
如下图所示为配置完成的回归模型代码。
下图为展现在DAP平台的代码片段。
回归模型属于有监督的模型,主要是针对于连续性的数据进行预测,本次说明的回归模型是基于公司下多个门店历史年月中的假期天数、线上订单数、线下订单数与销售额之间的关系从而对于未来时间段的销售额进行预测。
3算法开发
算法开发是算法模型模块的另一个组成部分,它是算法模型的进阶开发阶段。通过使用预先配置的算法模型来对数据进行预测分析,对于模型、参数调优找到最优模型算法。
3.1功能介绍
在算法开发阶段,技术人员可以对算法模型进行进一步的开发和优化,以便更好地对预测销售额进行预测。算法开发可以对要处理的数据集字段进行字段选择、条件配置、开发代码、属性配置、回写策略、调用代码、模型对象,通过对数据的训练来选择最优解,即选择最优模型算法。
3.2功能配置
点击新增后选择想要处理的数据集,再选择算法原型,填写表单,保存后就可以对数据进行调优或者对算法进行二次开发、优化了。如下图:
字段选择界面通过选择预测值字段和特征值字段来选择数据。预测值字段就是需要预测的销售额,特征值字段是会对销售额产生影响的假期天数、线上订单、线下订单、客单价,通过对这些特征进行采集,经由回归模型训练得出最优算法进行预测。
因为是预测,所以需要使用一些大批量的历史数据来进行预测,这可以确保预测的准确性,本次选择2018至2022年份之间的数据采集,所以需要在条件配置中配置时间条件。
开发代码页面可以对代码进行二次开发,还具有查看历史改动的功能,选择想要使用的版本,如下图所示,其初始代码为事先配置的算法原型。
通过点击编辑代码可以对代码进行编辑,保存后可以点击解析代码按钮解析、查看版本按钮进行查看历史版本、以及生成csv文件,如下图所示:
接下来是属性配置页面,可以基于想要配置的属性或特性分组下进行配置,选中属性或特性节点,根据需求可以点击新增按钮进行添加,本次示例不做添加。
回写策略回写分为表回写以及字段回写,本次使用的是字段回写,目标字段配置的是需要回写的预测销售额字段,条件字段作为唯一值,确保数据的一致性。
以上配置好之后,回到字段选择页面,对于数据生成CSV文件,接下来对于算法进行开发。
算法开发好后进行解析代码,将代码存储至数据库中,最后生成py文件,py文件是算法进行训练时需要调用的文件。
模型对象页面就是配置好算法后执行生成的模型对象,以此来生成算法调用信息,如下图所示页面。选中一条数据,如是未应用状态要先点击发布按钮发布,而后点击生成算法调用按钮来生成算法调用。
3.3功能展现
如下图所示为开发代码。
(1)在上图的第一段代码中,首先是读取生成的csv文件,接下来对于文件中的特征值和预测值拆分X和y,并将X和y中的数据拆分为8比2的占比作为各自的训练集以及测试集。
(2)在第二段代码中,通过传递的模型集合以及数据,求出不同模型的均方差值,均方差值是衡量预测值与真实值之间差异的指标,差值越小,说明模型的预测值与真实值之间的差异越小,模型的性能就越好,根据循环对比,找出最优模型。
(3)在第三段代码中,创建了回归模型集合,调用第二段代码,找出最优模型。
接下来对以下代码片段进行说明。
(1)在上图第一段代码中,根据寻找出的最优模型,进行参数调优,参数调优采取的方法是交叉验证,通过给出一个区间的参数,使用交叉验证后,会返回一个使用了最佳参数的模型。
(2)第二段代码就是使用了最优模型进行数据的可视化,可以直观地看出模型的效果好坏,下图的蓝色散点图为预测值散点图的分布,虚线是真实值最小值到最大值的直线分布,可以看出两个图形之间基本吻合,所以可以得出当前模型的效果较好。
至此算法开发模块已经配置完毕,生成的模型对象就是要运行的模型,其已经训练出了最优算法,接下来进入算法调用界面对它进行调用执行。
4算法调用
算法开发是算法模型模块的再一个组成部分,它是算法模型的应用和调用阶段,对算法开发经过处理生成的模型对象进行调度执行。
4.1功能介绍
算法调用基于算法开发生成,调用方式支持定时调用以及接口调用,可以配置定时条件配置、属性配置,查看代码等。创建方式分为两种,一是在算法开发页面的调用代码中生成算法调用,二是在算法调用页面手动新增,本次是通过前者实现。
4.2功能配置
在前面已经配置好的算法开发界面点击“生成算法调用”按钮生成算法调用。
在算法调用的条件配置中,需要将预测的条件进行添加,如下图:
配置完毕后点击启用再点击执行,将算法调用进行执行。
执行之后,会生成对应的算法日志,日志中可以查看执行的参数信息以及训练结果等信息。
4.3功能展现
上述的配置完成,已经将预测的未来销售额数据回写到会写策略中配置的字段当中,通过导航配置将数据展现在趋势图中展现,如下图所示:
可以观察到10月之前的历史数据与预测数据很接近,证明预测数据可以相信,本次预测预测了未来11月、12月的数据。
5总结说明
通过采集历史销售额及其相关特征值以对未来时间的销售额进行预测,企业可以通过预测结果进行未来规划治理,提高效率、规避风险。
在开发中,我对机器学习算法模型的开发和应用也有了更深入的认识和理解。以下是总结及注意事项。
5.1过程总结
整个数据预测过程是需要依靠DAP数据分析平台对门店数据进行治理后得到的数据集来进行,对于算法模型模块其内置的多种算法原型能应对不同的业务场景,本次是应用于其中的回归模型对于门店的销售额进行预测,其中主要是对于算法开发的配置,而后经过算法调用对生成的开发对象进行调用,最后得到预测值数据,配置过程后续还是有很大优化的空间,使其更智能、更易用。
5.2重要事项
算法模型在进行数据预测的过程中,需要注意以下几点:
1.生成csv文件之前需要先配置条件配置与回写策略配置,否则数据不回写,预测没有返回数据就没有意义了。
2.对于使用者而言,配置算法开发算法调用模块十分重要,对于开发人员来说主要是算法原型及算法开发的配置,后续也将预置更多的算法原型供应不同的业务需求。
5.3说在最后
数据中台项目中的难点和重点是各个业务系统的采集,并把数据变成完整的、可观察的数据,从而建立一个标准、可持续应用的数仓,而DAP产品可以把这个过程自动化。
机器学习也是一种基于数据分析的自动化方法,通过算法模型学习数据的模式和规律,从而对未来的数据进行预测和分类,算法模型的未来将会是更加智能化、自主化、高效化的发展趋势。