资源描述:
《数学建模 灰色系统理论的应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、灰色系统模型在现金流量预测中的应用在本节我们选取伊利集团的2000—2007年财务报表的现金流量表中的“经营活动产生的净现金流”作为分析预测的对象。伊利集团是我国著名的奶业生产集团,知名度较高,且长期以来生产经营较为规范,其报表可信度较高,所以,用该公司的财务报表的数据,可以较好的反映实际情况,有利于我们进行分析和验证。而2008年出现的儿童奶粉事件,给乳制品产业带来了致命的打击,所以不采用2008年的财务报表。在使用GM(1,1)时,首先要对实际的原始数据进行一定的处理或假设:1.企业在长期来看,不存在负现金流。尽管企业在短期,例如月现金流无法避免存在负现金流,但对
2、于一个持续经营的企业来说,尽量保持正的现金流,是大多数的企业理财所应达到的目标。当然,当企业的实际数据出现负现金流时,也可用适当的办法进行处理。2.企业在一定时期内的经营条件和外部环境不存在大的波动。即企业在相似的外部环境和促销手段下进行。这种假设避免了现金流大的波动,从而避免预测失真。由于对于一般的销售型企业来说,经营活动的现金流量是主要的资金来源,筹资活动和投资活动并不是经常发生的项目。而且,经营活动产生的现金流量通常情况下较稳定,不会产生大的波动,也很少有负值的出现,即使在短时期内可能出现应收账款较多,资金周转不开的情况,但从一年时间来看,在一年内的现金收入通常
3、会大于现金流出。对于一个健康的正在成长的企业来说,经营活动现金流量应该是正数。所以,以下选择的伊利集团现金流量表中2000-2007的数据符合前述假设和模型的要求,见下表:表3.1.1伊利集团2000年至2007年的现金流量年份现金流量(单位:十万)年份现金流量(单位:十万)2000915.3120013067.0320024211.8120035099.59200412618.0120056700.0120064953.7520077781.31经观察,我们发现2000年和2004年的数据与其他数据相差得太大,将它们作为异常数据,剔除掉,再得到原始序列:首先应用原来
4、未改进的方法进行预测,X的1-AGO为:对作紧邻均值生成构造B矩阵和Y矩阵。结果:z=Columns1through33067.035172.9359828.59Columns4through615728.34521555.22527922.755程序:clearclcx=[3067.03,7278.84,12378.34,19078.35,24032.1,31813.41];z(1)=x(1);fori=2:6z(i)=0.5*(x(i)+x(i-1));endformatlonggz采用matlab编程完成解答:得于是,对参数进行最小二乘估计,采用matlab编程
5、完成解答如下:9程序:clearclcB=[[-5172.935,-9828.59,-15728.345,-21555.225,-27922.755]',ones(5,1)];Y=[4211.81,5099.5,6700.01,4953.75,7781.31]';formatlongga=inv(B'*B)*B'*Y结果:a=-0.1224342920339383785.23773393714则估计参数:则GM(1,1)白化方程为响应时间式为:采用matlab编程完成解答程序:clearclcfori=1:6X(i)=34093.571*exp(0.122*(i-1)
6、)-31026.541;endformatlonggx(1)=X(1);fori=2:6x(i)=X(i)-X(i-1);endx结果:x=Columns1through33067.034423.780681588534997.78437040116Columns4through65646.267392274296378.893746170337206.58137455676由此得模拟序列:相对误差序列:平均相对误差:精度为三级。9与的灰色关联度:关联度为一级。采用VC编程完成均方差比值C的解答程序:#include#includev
7、oidmain(){inti;doublex[6]={3206.03,4211.81,5099.5,6700.01,4953.75,7781.31};//x为初始序列doubley[6]={3067.03,4423.78,4997.78,5646.27,6378.89,7206.58};//y为模拟序列doubleb[6];doublea=0.00,s,c=0.00,d,e=0.00,f,w;//f为S2,s为s1,w为均方差比值Cfor(i=0;i<6;i++){a+=(x[i]-5302.235)*(x[i]-5302.235);}s=sqrt(