孙艳文,詹天明
(南京审计大学 信息工程学院,江苏 南京 211200)
销售预测是销售实施单位根据已有历史销售数据进行规律分析和数据挖掘,综合考虑多种影响因子,设计科学合理的预测销售模型,对未来销售情况的一种预测。销售预测的准确、可靠性一直是企业作为市场需求规划的必要保证,销售预测作为营销的重要一环,是进行行情分析和市场研究的重要依据,销售预测是否精准可直接影响工程预算、资金回笼、经营决策甚至是企业的未来发展走向。
常见的销售预测模型有移动平均模型、时间序列预测模型、灰色预测模型和回归分析模型等。移动平均方法相对简单,通过对一定数组的平均值进行计算,得出未来的数值趋势;缺点是数值的间隔选定有一定难度,只能了解变化的短期未来趋势。时间序列模型运用矩阵及统计学的方法,可以预测销售产品将会进入高销量区还是低销量区的未来短期走势。灰色预测模型所需建模信息少,其模型是依靠灰色系统生成,特点是能从混乱的数据找到数据之间的规律,它大多数情况用于小样本预测,该环节存在不确定性。回归分析模型对未来的预测较为精准,目前有专业的统计软件SPSS/SAS支持,但因为相对专业和复杂,需要的自变量及因变量数据要多而且精确。
利用时间序列预测的稳定性,使用遗传算法对BP神经网络进行优化,既能保持数据挖掘环节搜索的全局性和并行化,又能兼顾预测过程的灵活性和可扩展性,最终还能得到精确度较高的预测结果。经过实验验证,基于优化BP神经网络的销售预测算法不仅提高了销售预测的预测准确度,而且大大缩短了收敛时间,简化了网络结构,数据预测的误差进一步缩小,对于精准营销具有较高的理论研究意义和实际应用价值。
时间序列分析模型是根据已有的系统观测所得时间序列数据,通过特定方法进行参数评估和曲线拟合来建立数学模型的一种方法。把与时间有因变量关系的数据序列称之为动态数据,采用线性插值法对曲线进行拟合,参数估计一般使用非线性最小二乘法或指数平滑法。时间序列模型对已有数据序列依赖性较高,并假设从已有数据分析所得的变化模式会延续至后续阶段,这种必然式的规律预测不能综合考虑房地产及其他行业的多种复杂影响因素的综合作用结果,但其时间跨度可以任意调节,常用单位有年、季度、月或日,统计跨度灵活。同时,预测所依托的前期数据允许具有不规则性,甚至可以不考虑事务间的因果关系,具有较好的适用性。
指数平滑法是平稳测试方法中的一种,由移动平滑法演变而来,通过对已有历史数据进行加权平均进而得到预测结果,对离预测区间紧邻的数据赋予较大的权值系数,对较远的后期预测,其权值则按指数规律递减,所得曲线相对平滑,因此称之为指数平滑方法。根据所选函数的幂级分为一级指数平滑、二级指数平滑等。
二次指数平滑法(second exponential smoothing method)是在一次指数平滑的基础上再进行一次指数平滑,因而称之为二次指数平滑。数据经过二次指数平滑处理之后得到一条二次平滑曲线,各数据点经过拟合处理之后,避免了时间序列曲线上出现突兀式的瞬间抖动或数据点的大尺度偏离现象,对特殊点能加以自动调整,依据该算法计算所得的数据能预测时间序列的短期变化规律。
N
次迭代。BP神经网络算法通过将循环模拟中系统产生的误差值返回到输出结果中用于调整神经元的权重,从而得到可以模拟原始问题的人工神经网络系统。简单地讲就是不停地修正网络中各层节点的权值和阈值,直到获得符合预期目标的输出结果。对于BP神经网络算法的步骤,可以简单归纳如下:
(1)给定BP神经网络的输入向量X
和输出向量Y
,初始化权值和阈值;(2)经过计算,得出BP神经网络的实际输出;
(3)计算BP神经网络实际输出与输出向量Y
之间的误差;(4)误差反向传播,更新权值;
(5)权值进行学习,使得误差最小。
重复步骤(1)~步骤(5),直至误差最小,如图1所示。
图1 BP神经网络算法过程
BP神经网络是一种具有非线性映射与自学习能力的全局算法,具有非常高效的泛化能力。对于任意的非线性映射关系,BP神经网络均可以逼近,然而其是一种基于梯度下降的算法,具有以下缺陷:
(1)误差存在于误差曲面上,然而有些误差曲面比较平坦,此时误差感受不到权值的变化,导致下降速度变慢,训练时间较长;
(2)算法存在多个极小值点,将导致算法陷入极小值点而无法得到全局最优解;
(3)算法在学习数据的过程,由于其权值的变化不定,将导致学习过程变得不稳定,出现振荡。
(1)通过算法对每条染色体评估个体的适应度;
(2)以高适应度和高选择率为基准原则,从染色体队列中找出父母双亲;
(3)对父母双亲进行染色体的抽取,用以交叉生成子代;
(4)将子代进行变异操作;
(5)不断去重复步骤(2)~步骤(4),直到有新的种群生成;
(6)结束循环,返回结果。
算法流程如图2所示。
施药后,试验全程调查杂草5次,分别为药前调查基数,药后5天调查药剂防效药;10后天调查药剂防效;药后15天调查药剂防效;药后20天调查最终药剂防效,调查时小区对角线选取5点,每点(1m×1m)。目测试验药剂对水稻的安全性。
图2 遗传算法流程
遗传算法的缺点是无法直接处理空间参数,为解决这一问题学者们引入了优化参数进行调优,通过适应度函数形成编码串联群体,对其进行交叉结合和基因变异,最终优胜劣汰地筛选出优秀个体,根据适应度阈值不断迭代,直至满足条件为止。
优化BP神经网络由BP神经网络的网络结构、算法优化和算法预测三个部分组合而成。模拟生物个体的长度信息由网络结构进行表征,在实际算法设计中通常表示为拟合函数的输入或输出参数;通过探索和调整特定权值达到优化BP神经网络算法的目的,最终迭代筛选出具有最后适应度值的种群个体;网络预测通过遗传算法获取最优个体的阈值和权值用以训练网络,预测出函数的输出。
对BP神经网络进行一次实验,实验所用模拟数据来源于《中国房地产统计年鉴》。实验抽取一家名为碧桂园的房地产公司作为实验对象,并对其进行仿真实验。根据该公司提供的销售额,统计出了1 000条数据,在数据清洗后取前975条利用建立的BP神经网络进行训练学习,再利用后25条已经完备的数据进行缺失销售额的实验,得到实验结果与原数据进行比对,得出了结果——利用BP神经网络进行实验后的预测误差为29.550 1%,如图3所示。
图3 BP神经网络预测结果
对上述数据集合利用遗传算法优化后的BP神经网络模型进行仿真实验,如图4所示,其预测结果误差为21.472 8%。
图4 GA-BP神经网络预测结果
就之前利用BP神经网络和GA-BP神经网络得到的结果来看,预测误差仍然较大。数据集的大小不一,对于一些数据量比较小的数据集,上述两种神经网络都没有足够的训练量,这样会导致阈值调整不充分、过快收敛等等问题,从而使最后的预测精度大打折扣。面对这一问题,该文提出了一种应用方法,即利用时间序列的结果对GA-BP神经网络进行优化校正(简称TC-GABP神经网络模型)。由于时间序列预测模型对于事物发展之间的不规则性和因果关系和对预测精度和时长呈反比都不考虑的特点,基于样本容量较小的情况,对原GA-BP神经网络的阈值和结果进行一些优化。
时间序列预测模型的实现流程如下:
(1)人工收集历史资料,按照传统分类方法进行整理并根据时间序列绘成统计图;
(2)对时间序列中每一时期的数值进行诱发的原因进行分析;
(3)对长期趋势、季节变动以及不规则变动进行求值操作,并找到最近似的数学模式来代表;
(4)计算未来的时间序列预测值。利用步骤(3)中得到的模型以及预测不规则变动值通过加法或乘法模式进行计算。
利用BP神经网络的单次传递值和时间序列模型的结果所产生的误差进行一元线性回归,并通过计算误差的函数拟合关系进行预测。最后通过找出两者的误差规律,对BP神经网络的传递值进行校正,择优选择遗传算法,进入GA-BP神经网络进行结果计算得出校正后的预测值。
在面对样本数据量小的情况下,利用每个个体独立讨论又会导致工程量过大,那么就有必要利用线性关系来处理这种非线性问题,但是最后误差一定较大。为此设定一个元线性回归函数为y
=f
(x
)作为校正函数,再使用BP神经网络的输出误差E
减去y
的值,得到校正过后的值,E
值。该值在GA-BP的三层网络架构中影响各个神经元的阈值和各传递权值,并在校正GA-BP神经网络缺少训练样本的情况下,达到调整传递值的目的。y
修正GA-BP神经网络的预测值,得到E
、E
以及E
的修正值,其中E
为误差平方和。根据数学方法,对GA-BP神经网络的阈值与权值进行再一次带有优化因子的优化,步骤如下:基于优化BP神经网络的流程图如图5所示。
图5 基于优化BP神经网络的流程图
利用时间序列预测模型和优化改进后的TC-GABP神经网络对数据集进行销售预测。
仿真实验使用的是《中国房地产统计年鉴》中碧桂园房产公司数据作为数据集。使用其已经提供的1 000条销售额数据,抽取前975条进行训练学习,并分别利用一次指数平滑法和二次指数平滑法的时间序列模型对其进行仿真测试,仿真结果如图6和图7所示。
图6 一次平滑指数预测
图7 二次平滑指数预测
从仿真实验结果可以看出,实验结果与理论预测基本相同。但一次指数平滑法的实验结果无论是在α
为何值的情况下都出现了较多的滞后反应。这也衬托出了二次指数平滑法的预测准确度之高(误差率为25.747 1%),为优化算法提供了可行方案。以上文提及的BP神经网络算法和遗传算法优化后的BP神经网络算法的实验结果误差程度为比较对象。使用已经提供的1 000条销售额数据,训练集由数据集中97.5%的数据组成,其余数据则作为验证集,来验证误差。TC-GABP神经网络算法得到的结果如图8所示。
图8 TC-GABP神经网络预测
从上述图像中可以直观看出,TC-GABP神经网络训练后的预测结果更接近真实的结果,比遗传算法改进的BP神经网络得到的结果更准确。经过数学计算,它的精度提高了8%,误差率降低了13%。表明TC-GABP神经网络模型不单单是在预测的准确率上有所提升,其误差率也得到了改善。相较于另外三种模型来说,预测结果更为接近真实值的结果。
部分预测结果如表1所示。
表1 不同模型预测结果对比
根据表1的数据可以看出,TC-GABP神经网络的预测准确率最佳,达到了13.739 7%。对于传统的BP神经网络,可以看出它的误差率达到了29.554 1%,接近于30%。一般来说,接近30%的误差率的预测模型将被认为是不可靠的。对于时间序列模型和遗传算法改进的神经网络,虽然误差率不是特别高,仿真实验也都表现良好,但是相较于TC-GABP神经网络的误差率来说,仍是不太理想。因此,预测模型效果最好的还是TC-GABP神经网络,仿真实验也是最接近真实效果的。
文章对于销售预测模型的建立,首先选择时间序列模型来减少源数据中的大量误差,再利用优化后的BP神经网络进行预测,并具体应用于某房地产销售数据集合。实验结果表明,优化后的BP神经网络算法不仅大幅提高了预测准确度,缩短了收敛时间,简化了网络结构,也使得数据预测的误差进一步缩小。算法具有较高的理论研究意义和实际应用价值。