您好, 访客   登录/注册

基于混沌理论和神经网络的销售量预测

来源:用户上传      作者: 廖细生

  [摘 要]针对目前销售量预测不能很好地满足商场管理需求的现状,分析销售量数据内在混沌特性,主要包括时间延迟、嵌入维数、关联维数及Lyapunov指数的计算,并将此分析耦合人工神经网络模型进行预测,最后给出某商场销售量预测的实例,结果显示基于混沌时间序列分析的神经网络销售量预测在数据动力特征刻画及误差控制上有显著优势。
  [关键词]混沌;神经网络;销售量;预测
  
  实时、准确的销售量预测是实现商场利润最大化的前提和基础,目前应用广泛的人工神经网络具有非线性描述、自学习与自适应、擅长处理多变量系统,以及具有一定的容错性等特点,通过实测数据仿真实验显示神经网络可获得较好的数据预测效果。但BP网络有很多固有缺陷,比如结构难确定、初始权值选择的盲目性导致训练速度慢等。针对上述缺陷,本文结合销售量数据的混沌特征分析,并基于此计算关联维数,以及Lyapunov指数判别出销售量时间序列具有混沌现象,进一步计算重构相空间的时间延迟、嵌入维数,并将它们作为预测因子,以及设定已知的销售量为被预测量,决定商场的进货和销售,进而决定神经网络的结构。通过实际销售量算例,基于混沌网络销售量时间序列的神经网络预测精度高于一般的神经网络预测方法,能更好地满足智能商场管理的需求。
  一、销售量时间序列的混沌判别
  商场管理系统是否存在混沌,作为商场管理系统中销售量的观测值,销售量时间序列是否为混沌时间序列是研究混沌首先需要解决的问题。
  Lyapunov指数用于量度在相空间中初始条件不同的两条相邻轨迹随时间按指数律吸引或分离的程度,这种轨迹收敛或发散的比率称Lyapunov指数。对于系统,
  其Lyapunov指数λ为
   (1)
  Lyapunov指数实际上就是系统在各次迭代点处导数绝对值的对数平均,在混沌的诊断中λ起着非常重要的作用:若λ<0,系统收敛于不动点;若λ>0且有限,系统既不会稳定在不动点,也不存在稳定的周期解,同时也不会发散,表明系统进入混沌。按照A.Wolf等在文献中提出的计算由观测获得的混沌时间序列的最大Lyapunov指数的一种方法。但是为了求得一个好的最大Lyapunov指数的估计值,必须要求观测时间序列具有足够的长度,而作为判断存在混沌的鉴别方法,最大Lyapunov指数方法是适用的。
  二、重构相空间
  混沌时间序列重构相空间的工作始于Packard等人,Packard等人建议用原始系统中的某变量的延迟坐标重构相空间。坐标延迟相空间重构技术有2个关键的地方,即嵌入维数m和时间延迟τ的确定。关于时间延迟τ和嵌入维数m的选取,主要有两种观点:一种认为两者是互不相关的,即τ和m的选取是独立进行的,包括序列相关法、相空间扩展法、复自相关法和去偏复自相关法;另一种方法认为两者是相关的,即τ和m的选取是互相依赖的。如时间窗口法、C-C方法可同时计算时间延迟和时间窗口。
  1. C-C方法求延迟。常用的方法是自相关函数法和互信息法,尽管前者计算简便但是不适合非线性问题,后者虽然能有效地估计非线性问题重构相空间的延迟,但是计算不方便,因此,针对上述判别为非线性的网络流量时间序列,应该采取能有效减少计算量的C-C算法。理论证明该方法得出的延迟τ相比其他方法能更好地估计维数。
  则嵌入时间序列的关联积分定义为
   r>0 (2)
  式中m是嵌入维数;M=N-(m-1)τ;Yi为相空间中的相点;r为给定的距离;H为heaviside函数。对于一般的时间序列t将其分成若干个不相交的子序列,然后定义每一个子序列的s(m,N,r,t)为:
   m=2,3,… (3)
  令,且选择对应值最大和最小两个半径r,定义差量为
   m=2,3,… (4)
  根据BDS的统计结论计算
  (5)
  依据上述计算结果作图,其中的第一个极小值时间为该时间序列的延迟。
  2. Cao方法求嵌入维数。该方法是改进的虚假零点法,对于
  ,n=N0,N0+1,…,N定义
  
  
  
  记所有的a(n,m)关于n的均值为
  
  
  E(m)只依赖于嵌入维数m和延迟时间间隔τ,为了研究嵌入维数从m变为m+1时相空间的变化情况,定义E1(m):
  如果当m大于某个m0时,El(m)停止变化,则m0就是重构相空间的最小嵌入维数。
  三、神经网络法预测销售量时间序列
  神经网络是由并行的、高度相关的计算处理单元――神经元按照某种方式联结而成的自适应的非线性系统。虽然单个神经元的结构十分简单,但由大量神经元相互连接构成的神经元系统所能实现的行为是十分丰富的。因此,神经网络具有强大的非线性映射能力,鉴于神经网络的并行处理及强大的非线性映射能力,即它可以把许多非线性信号的处理方法及工具集成起来,对于未知的动力系统,可以通过它来学习混沌时间序列,然后进行预测。
  四、预测实例
  预测实例所采用的销售量数据来自某商场1985年至2006年的销售数据,以旬为时间单位共792个数据,下面用基于混沌时间序列的预测方法来对其进行预测分析:
  1.判别混沌的存在。经过Matlab编程计算研究的销售量时间序列最大Lyapunov指数A=O.0738>O,同时通过G-P算法计算出关联维数为4>2;因此,判别该时间序列为混沌时间序列,以销售量为状态量的商场管理系统存在混沌。
  2.重构相空间。在应用中,Brock等人所做的关于几种重要的渐进分布的数学统计结果表明:当2≤m≤5,σ/2≤r≤2σ,N≥500时,渐进分布可以通过有限时间序列很好地近似,并且S(m,N,r,1)能代表序列的相关性,这里σ指时间序列的均方差或标准差。因此,在编程中令2≤m≤8,N=22×12×3=792>500,计算时间延迟:通过分析当t=4可取到△s(t)的第一个极小值,加大t的取值范围至[1,10],发现t=4时函数值近似为Scor(t)的最小值,因此,取t=4,延迟r=4×采样间隔=4×10=40(天)。
  1986年,Broomhead和King在实际计算中首先提出了先选定(m-1) r值,在增加m的同时减少r的值,使乘积为常数来选取最佳的m和r的方法。经过Matlab编程计算在延迟选取40天时,相应嵌入维数优应取6,因为此时El(m)停止变化。
  3.混沌理论与神经网络耦合预测。首先建立网络,根据上述计算得出的嵌入维数m(本文中为6)作为网络输入个数,并设定N为包含训练样本和测试样本的总个数,n为预测的数据个数,本文预测的销售量个数为最后的12个;然后将个数值序列顺序输入数据学习过程;最后将末尾的12个数值输入神经网络中,此时的输出就是该序列的预测值。为了评估预测值的精度,可以假设末尾n个销售量缺失,用序列中作为训练样本来预测,再将预测值与真实值对比可以计算绝对误差、相对误差等作为评价预测精度的指标,见下表:
  由表可以看出,预测的最大误差为0.96%,这一误差完全能够满足商场管理需要,说明基于混沌理论和神经网络对销售量进行预测是可行的。
  五、结论与展望
  本文依托混沌理论研究销售量关于时间的演变行为,并与启发式的神经网络预测相耦合,统计指标显示了初步优化的效果;而进一步的研究将围绕商场管理系统内多变量的时间序列分析方法展开讨论,并应该深入探讨包括神经网络方法在内的多种预测方法与混沌动力系统分析耦合的可行性和适用性,以期得到更精确的预测效果。
  
  参考文献:
  [1]张立明.人工神经网络的模型及其应用[M].上海:复旦大学出版社,1993.
  [2]王海燕,卢山.非线性时间序列分析及其应用[M].北京:科学出版社,2006.
  [3]Wolf,A.,Swift,J.B.,13.,Swinney,H.L. et a1.Determining Lyapunov exponents from a time series[J].Physical D,1985,16:285-317.
  [4]Packard,N.H.,Crutchfield,J.P.,Farmer,J.D.et a1.Geometry from a Time Series[J].Phys. Rev.Letter,1980,43(9):712-715.
  [5]吕金虎,陆君安,陈士华.混沌时间序列分析及其应用[M].武汉:武汉大学出版社,2002.
  [6]丁士圻,郭丽华.人工神经网络基础(研究生用教材)[M].哈尔滨:哈尔滨工程大学出版社,2008


转载注明来源:https://www.xzbu.com/3/view-1480266.htm