摘要
本文是对公司一季度业务数据分析问题,根据题中所给出的数据,利用SPSS软件进行相关性统计分析,分别对各业务中指标进行分析,得到各业务之间的关系。同时通过现有的数据和所建立的模型,给出今后发展提出建议。
针对问题一,在对业务量接近饱和问题,首先采用变异系数法求出各项指标的权重,利用灰色变权聚类法,建立白化权函数,确定聚类权、求出聚类系数,再通过比较聚类系数,得出各个业务属于哪个灰类。最后得到业务二和业务三的业务量接近饱和。
针对问题二,根据题中所给的数据,通过SPSS软件得到各指标与收入的相关性系数,其中指标5与收入的相关系数为1,知指标五为收入。在这基础上通过SPSS软件进行相关性统计分析得收入主要和业务一和业务四相关。
针对问题三,考虑各业务之间的相关性及业务相互促进要使得收入增加。首先利用变异系数法计算出各业务中各指标的权重,综合业务中各指标,再通过SPSS得到各业务之间的相关系数,知业务一与业务二、业务三、业务四相关性强,与业务五相关性弱;业务二与业务三、业务四、业务五相关性弱;业务三与业务四、业务五相关性弱;业务四与业务五呈负相关。相互促进情况见表六七。
针对问题四,根据现有的数据,先利用BP神经网络预测出了下一个月各业务的发展情况。为扩大公司的盈利空间以及服务规模,并分析当前的状态给出以后发展的建议:1、推陈出新,使客户选择开通更多业务。2、加强对各业务的宣传。季度分析报告见模型的求解。
关键词:业务指标 灰色变权聚类法 变异系数法 BP神经网络预测
一 问题重述
1
某互联网公司推出一项服务,此项服务包括5个主要的业务,这5项业务共包含8个指标,某项业务可以含有1个或多个指标,在这8个指标中其中有一个指标是收入。客户可以根据自己的需要选择开通某些业务,各个业务之间没有强制绑定关系,但是某些业务之间通过相互宣传有一定的促进作用。附件中是本公司2012年第一季度的数据,包括各个业务的各个指标的数据:指标数据为0,说明该业务还没有这个指标;从0变为正数说明此项业务开始包含新的功能,新功能具有新的指标。附件中还包括此项服务带来的收入数据。 请你根据各个服务的指标数据和收入数据,完成如下问题:
1、其中某些业务的使用量接近饱和,请你建立模型计算哪些业务量接近饱和,饱和的指标估计值是多少;
2、根据财务数据,你能判断出哪个指标是收入吗,请你说明收入主要和哪些业务相关;
3、请你分析出各个业务之间的相关性,哪几个业务相互促进可以使得收入增加; 4、假如你是本服务的项目经理,根据现有的数据和你所建立的模型,给公司总经理写一份季度分析报告,分析当前的状态以及以后发展的建议,如何扩大公司的盈利空间以及服务规模。
二 问题分析
问题一:因某些业务的使用量接近饱和,要建立模型计算哪些业务量接近饱和,及饱和的指标估计值。对于饱和度的理解可认为,当业务中的指标趋于一个平缓的趋势时接近饱和,因为若该业务已接近饱和则对该业务的指标控制上不会有太大的变化,反之则应还会有一个较大的波动趋势。因此可先用变异系数法确定出每个业务中相应指标的权重。再采用灰色变权聚类分析求解,以饱和及不饱和作为两个灰类,聚类对象为五个业务,而影响业务的指标共有八个可作为聚类指标。建立白化权函数和彻度函数,再通过聚类权,即可得出各业务是否饱和,及其饱和的估计值。
问题二:根据题中所给的财务数据,为判断哪个指标是收入,从各指标之间的相关性出发,考虑各业务中相同指标与收入的相关性,及各业务中不同指标与收入的相关性,利用SPSS软件分别计算出各指标与收入的相关系数,若指标与收入的相关系数为1,则该指标为收入。为说明收入主要和哪些业务相关,考虑各业务与收入相关性,同时考虑收入指标、各业务中指标与总收入的相关性,从而确定收入与哪些业务相关。
问题三:要分析出各个业务之间的相关性,对各业务中有1个或多个指标,我们采用变异系数法求出各指标的权重,将业务中多个指标的权重综合成总指标来考虑,通过各业务中总指标之间的相关性来衡量各业务之间的相关性。要知道哪几个业务相互促进可以使得收入增加,通过Excel对收入进行分析,根据收入在某段时间的波动大小,对收入增加的时间段进行分析,考虑此阶段收入与各业务之间的相关性,从而确定哪些业务相互促进可以使得收入增加。
问题四:根据现有的数据和所建立的模型,分析当前的状态以及以后发展的建议,对如何扩大公司的盈利空间以及服务规模。首先采用BP神经网络系统法建立模型,预测出下一个月各业务中各指标的发展趋势,及其收入的发展情况,结合当前的状态,为以后发展提出了相关建议。
三 符号说明
2
Vi:第i项指标的变异系数;
i:第i项指标的标准差; Xi:第i项指标的平均数;
Wi:各指标的权重;
四 模型假设
1、假设题中所给的数据是真实的、可靠的;
2、假设该公司在今后的发展中不会有特殊情况导致公司倒闭。
五 建模前的准备
5.1 BP神经网络的介绍:
BP神经网络是一种多层前馈神经网络,主要特点是信号前向传递,误差反向传递。在前想传递中,输入信号从输入层京隐含层逐层处理,直至输出层。每一层的神经元状态只影响下一层神经元状态。如果输出层得不到期望输出,则转入反向传播,根据预测误差调整网络权值和阈值,从而使BP神经网络预测输出不断逼近期望输出。BP神经网络的拓扑结构如图1所示。
图1 BP神经网络层次图
图1中,x1,x2,测值,固定权
,xny1,y2,,ynBP神经网络的输入值,是BP神经网络的预
ij和可调权
jk为BP神经网络权值。从图可以看出,BP神经网络
可以看成一个非线性函数,网络输入值和预测值分别为该函数的自变量和因变量。当输入节点数为n,输出节点数为m时,BP神经网络就表达了从n个自变量到m个因变量的函数映射关系。 BP 神经网络预测钱首先要训练网络,通过训练师网络具有联想记忆和预测能力。BP神经网络的训练过程包括以下几个步骤。
步骤1:网络初始化。根据系统输入输出序列(x,y)去顶网络输入层节点数n、隐
3
含层节点数l,输出层节点数m,初始化输入层、隐含层和输出层神经元之间的连接权值,初始化隐含层阈值a,输出层阈值b,给定学习速率和神经元激励函数。
步骤2:隐含层输出计算。根据输入向量,输入层和隐含层见链接权值ij以及隐含层阈值a,计算隐含层输出H。
Hjf(ijxiaj) j1,2,i1n,l
公式中,为隐含层节点数;为隐含层激励函数,该函数有多种形式,我们取:
1 f(x)x1e步骤3:输出层输出计算。根据隐含层输出H,链接权值jk和阈值b,计算BP神经网络预测输出O
OkHjjkbk k1,2,j1l,m
步骤4:误差计算。根据网络预测输出O和期望输出Y,计算网络预测误差e。
ekYkOk k1,2,,m
步骤5:权值更新。根据网络预测误差e更新网络连接权值ij,jk。
jkjkHj(1Hj)x(i)jkek i1,2,,n;j1,2,,l
k1mjkjkHjek j1,2,,l;k1,2,,m
式中,为学习速率。
步骤6:阈值更新。根据网络预测误差更新网络节点阈值a,b。
ajajHj(1Hj)jkek j1,2,,l
k1mbkbkek k1,2,,m
步骤7:判断算法迭代是否结束,若没有,返回步骤2。 1.输入层的确定
神经网络的输入层起缓冲存储器的作用,其向量的数目相当于所研究问题的
4
变量数目。根据影响收入的几个因素,选定了五个业务的共十三个指标作为输入层。
2.隐含层的确定
隐含层神经元代表网络输入与输出之间的非线性程度,对模型的训练速度和预报能力有着重要影响,节点数太少,网络不能很好的学习,精度也受影响。但神经元个数太多网络容易过拟合。所以没有统一的理论依据,本文中我们根据Kolmogorov定理,节点数参考如下公式,确定隐含层神经元个数为5个
ln1
l(mn)a
llog2n
其中n为输入层节点数;l为隐含层节点数,m为输出层节点数,a输出层节点数为010之间的常数。 3.输出层的确定
输出层神经元的个数取决于系统对网络功能的要求,本模型要实现对收入的预测,故输出变量为收入,即输出层神经元的个数为1。 4. 样本集的确定
为完成对机器对数据的学习,首先要为网络提供一组适当数量的可靠样本。影响收入的因素为五个业务,而业务由于指标有关,因此样本集即为指标数据及收入数据,详细见附表。 5. 数据处理
数据处理的目的是为神经网络的推理提供较为准确的参数。本文我们对数据做归一化处理。为避免由于输入变量单位不同、绝对值相差很大对神经网络模型的影响,需要对输入输出参数进行归一化处理。本模型的BP网络采用premnmx函数对其进行归一化,使得各节点的值在[-1,1]之间。 6.网络学习
BP网络学习的目的就是要获得最终的权值矩阵。归一化后的数据即可作为可靠性样本进行训练,本文中使用train函数进行训练,经过数次训练后得出训练图2(见附表)
六 模型的建立与求解
6.1问题一的建立和求解: 6.1.1模型一的建立:
首先,该问要求业务使用量的饱和度,对于饱和度的理解可认为,当业务中的指标趋于一个平缓的趋势时接近饱和,因为若该业务已接近饱和则对该业务的指标控制上不会有太大的变化,反之没饱和则应还会有一个较大的波动趋势。因此可采用灰色聚类分析,以饱和及不饱和作为两个灰类,聚类对象为五个业务,而影响每个业务有八个指标。
假设xij为第i个对象的第j类指标的权重。对于权重的确定,因饱和度用波动程度来衡量,则可采用变异系数法来确定。各项指标的变异系数公式如下:
5
Vjjx(x1,2n)
式中:Vj是第j项指标的变异系数、也称为标准差系数;j是第j项指标的标准差;xj是第j项指标的平均数。
各项指标的权重为:WjVjn
jVj1设有n个聚类对象,m个聚类指标,s个不同灰类,根据第i,i(1,2象关于j,j(1,2k(k1,2n)指标的样本值xij(i1,2n,j1,2n)对
n)将第i个对象归入第
s)个灰类之中,称为灰色聚类。
k若白化权函数fjk()无第一转折点xk即如图2所j(1)和第二个转折点xj(2),
k示,则称fjk()为下限测度白化权函数,记为fjk[,,xkj(3),xj(4)]。
fjk1 0 kxkj(3) xj(4) x 图2
k若白化权函数fjk()无第三转折点xk即如图3所j(3)和第四个转折点xj(4),
k示,则称fjk()为上限测度白化权函数,记为fjk[xkj(1),xj(2),,]。
fjk1 0 xkj(1)xkj(2)
图3
通过上述分析,我们可以得到不同情况下的白化权函数。
(1)对于图1所示的下限测度白化权函数,有
6
k0 x[0,xj(4)]fjk(x)1 x[0,xk j(3)]kxj(4)x x[xk(3),xk(4)]jjxk(4)xk(3)jj(2)对于图2所示的上限测度白化权函数,有
0 xxkj(1)kxxj(1)kkkfj(x)k x[x(1),xjj(2)] kxj(2)xj(1)1 xxk(2)j对于图1和图2所示的j指标k子类白化权函数,令jkxkj(2); 我们称为j指标k子类临界值,称kjkjjkj1m为j指标关于k子类的权重。
kj现设xij为对象i关于指标j的标本,fjk()为j指标k子类白化权函数,kj为则称fjk(xij)j指标关于k子类的权重,kj为对象i属于k灰类的灰色变权
kij1m聚类系数。 称i(,,为对象i的聚类系数向量。
1i2immm112ss,)=fj(xij)j,fj(xij),,fj(xij)j
j1j1j1si现设ikmax{ik},则称对象i属于灰类k。
1ks*
6.1.2模型一的求解:
根据变异系数法,因每个业务中所含指标数不同,因此将所有的指标分别计算出其变异系数,再对变异系数进行权重的确定。通过matlab计算得到各个业务各指标权重如表一:
表一 各业务各指标的权重 一指标1 二指标1 二指标2 三指标6 三指标7 三指标8 四指标1 0.0399 0.0491 0.0357 0.0391 0.0436 0.0513 0.07 四指标3 四指标4 四指标5 五指标1 五指标4 五指标5 0.0279 0.13 0.2023 0.0224 0.0746 0.1701 步骤一:给出聚类白化值。
7
假设饱和及不饱和作为两个灰类,聚类对象为五个业务,而影响每个业务有八个指标,xij为第i个对象的第j类指标的权重。给出聚类白化矩阵Aij
00000000.03990.04910.0357000000Aij000000.03910.04360.0513
0.0700.02790.130.2023000000.07460.17010000.0224步骤二:确定白化函数 白化函数有四种基本形式: (1)、若该灰色类别内的元素反映越大、越好、越明确,则采用上限测度白化权函数;
(2)、若该灰色类别内的元素越小、越好、越明确,则采用下限测度白化权函数;
(3)、若该灰色类别内的元素取白化值的可能性围绕着某小区间内元素左右递减;则采用典型测度白化权函数;
(4)、若围绕的是一个点, 则变为适中测度白化权函数,即三角白化权函数。而在本模型中可用(1),(2)得出白化函数。
白化函数第一类,灰色类越小越好得出的下限彻度函数如下:
f11[,,0.0399,0.07];f12[,,0,0.0357];f13[,,0,0.0279] f14[,,0.0746,0.13];f15[,,0.1701,0.2023];f16[,,0,0.0391]f17[,,0,0.0436];f18[,,0,0.0513]
其彻度函数对应的函数关系示例:
0f11[,,0.0399,0.07]f1110.07x0.070.0399x00x0.0399 0.0399x0.07其他函数表达式可以依次类推。
白化函数第二类,灰色类越小越好得出的上限彻度函数如下:
f21[0,0.07,,];f22[0,0.0357,,];f23[0,0.0279,,] f24[0,0.13,,];f25[0,0.0701,,];f26[0,0.0379,,] f27[0,0.0436,,];f28[0,0.0513,,]
其彻度函数示例:
8
1x11f2[0,0.07,,]f20.070x00x0.07 x0.07其它函数可以此类推。
根据白化函数可得出kj其中kj为j指标k子类临界值如表二:
表二 j指标的k子类临界值 11110.0399 20.0357 30.0279 150.017011160.0391 70.0436 140.0746 180.0513 120.07 220.0357 320.0279 420.13 520.1701 620.0391 720.0436
步骤三:聚类权的确定。 因kj820.0513 jkj1m为j指标关于k子类的权重,可得聚类权的值如表三:
kj表三 j指标关于k子类的权重 1110.0827 20.074 130.0574 140.17 180.0513 240.3094 11150.3528 60.0811 70.0904 2120.04 20.0583 320.0456 520.2781 620.0639 720.0713 确定出权系数则根据公式确定聚类系数。 步骤四:求聚类系数ik
k因fjk(xij)kj则首先应计算出fj(xij)
kij1m820.0839 f11(0.0399)1,f21(0)f31(0)f81(0)0 f82(0)1
f12(0.0399)0.7249,f12(0)f22(0)
9
1110.0827,20.074180.0513
11fj1(x1j)1jf11(0.0399)1f21(0)211j1m1f8180.0827
2222fj2(x1j)2f(0.0399)f(0)j112221j1mf82820.97
1,12)0.97该结果说明第一个业务是属于第二个灰类即是则1max(1不饱和的。依照此方法。依次可计算得:
122max(2,2)max(0.1568,0.1478)0.1568,表明第二个业务是属于第
一个灰类的为饱和。
13max(3,32)max(0.2779,0.2191)0.2779,表明第三个业务是属于第一
个灰类的为饱和。
124max(4,4)max(0.81,0.7225)0.7225,表明第四个业务是属于第二
个灰类的为不饱和。
125max(5,5)max(0.5902,0.6770)0.6770,表明第五个业务是属于第
二个灰类的为不饱和。
因此对于饱和指标的估计值只需ikmax{ik}其间的最大值是属于第一个
1ks*灰类即可认为达到饱和。
业务二饱和指标的估计值当2min(0.1568,0.1478)0.15时是属于第一个灰类的为饱和。
业务三饱和指标的估计值3min(0.2779,0.2191)0.22时是属于第一个灰类的为饱和。
6.2问题二的建立和求解: 6.2.1模型二的建立:
假设xij(i15,j18)为第i个业务第j个指标的所有值,yi为收入。要判断收入指标,即判断那的指标与收入的相关系数为1。
i5,j8ri5,j8i,j1(xijxij)2i,j1(xijxij)(yky)i5,j8i,j1
(yky) 10
判断当j为何值时相关系数为1.若为1则该指标就是收入。
6.2.2模型二的求解:
根据题中所给的财务数据,通过各业务中相同指标与收入的关系及各业务中不同指标与收入的关系,首先将所有相同的指标加起来共8个指标。利用SPSS20做相关分析得到各指标与收入之间的相关性。结果如表四;
表四:各指标与收入之间的相关性 指标 指标2 指标3 指标4 指标5 指标6 指标7 指标8 1 收Pearson0.742 0.597 0.691 0.714 1.000 0.686 0.623 0.621 入 相关性 由上表知指标五与收入的相关性为1,说明指标五与收入密切相关即可认为指标五就是入。
6.2.3模型三的建立:
要确定收入与哪些业务相关可对收入和业务做相关性分析,但业务中有的含有多个指标,不好分析,则先采用变异系数法将业务中的多个指标化为单个总指标。运用变异系数法,求出各业务中各指标的权重,再综合业务中各指标的权重, 其中各项指标的变异系数公式如下:
ViiXi (i=1, …,8)
(式中:Vi是第i项指标的变异系数、也称为标准差系数;i是第i项指标的标准差;xi是第i项指标的平均数。)
各项指标的权重为:
WiVi (i=1,…,8)
iVi186.2.4模型三的求解:
经过spss做相关性分析得出收入与业务总指标的相关性如下表(表五)。
表五:收入与业务相关性 收入 Pearson相关性 业务1 0.742 业务2 0.505 业务3 0.660 业务4 0.828 业务5 -0.082 根据表中数据可知,收入主要和业务一及业务四相关性比较大与业务二业务三也相关但相关度不大,而与业务五呈现负相关。
6.3问题三建立与求解:
对业务数据进行整理,根据SPSS得到各业务之间的相关性如表六:
表六 各业务之间的相关性
11
相关性 业务 1 2 3 4 5 业务 1 1.000 0.836 0.786 0.796 0.104 2 0.836 1.000 0.5 0.511 0.325 3 0.786 0.5 1.000 0.595 0.176 4 0.796 0.511 0.595 1.000 -0.306 5 0.104 0.325 0.176 -0.306 1.000 由上表知业务一与业务二、业务三、业务四相关性强,与业务五相关性弱。 业务二与业务三、业务四、业务五相关性都比较弱。 业务三业务四、业务五相关性弱。 业务四与与业务五呈负相关;
要判断收入的增加与那些业务相互促进有关首先通过matlab作出收入的折线图如下图(图四):
图四:收入趋势图
由上图可说明收入在2012年1月1日-2012年2月15日这阶段波动较小,在2012年2月16日-2012年2月26日与2012年3月17日-2012年3月31日这两段时期内收入波动较大,有明显的上升趋势。为此考虑这两时期各业务与收入的相关性,通过SPSS得到在这两时期内各业务与收入的相关性如表七、表八:
表七 第一时间段各业务与收入的相关性
12
相关性 名称 收入 业务业务二 业务三 业务四 业务五 名称 一 收入 1.000 0.700 0.060 0.901 0.851 0.508 业务一 0.700 1.000 0.710 0.5 0.730 0.818 业务二 0.060 0.710 1.000 -0.110 0.312 0.522 业务三 0.901 0.5 -0.110 1.000 0.713 0.2 业务四 0.851 0.730 0.312 .0713 1.000 0.439 业务五 0.508 0.818 0.522 0.2 0.439 1.000 由表六知在收入大幅增加的前期业务三、业务四与收入相关性比较大,且知业务三和业务四相关性也相对比较大,故业务三和业务四相互促进可使得收入增加。
表八 第二时间段各业务与收入的相关性 相关性 名称 收入 业务一 业务二 业务三 业务四 业务五 名称 收入 1.000 0.438 0.595 -0.788 0.923 -0.288 业务一 0.438 1.000 0.923 -0.288 0.373 0.585 业务二 0.595 0.923 1.000 -0.465 -0.046 -0.056 业务三 -0.788 -0.288 -0.465 1.000 -0.844 0.327 业务四 0.923 0.373 -0.046 -0.844 1.000 0.222 业务五 -0.288 0.585 -0.056 0.327 0.222 1.000 由表七知在收入大幅增加的后期业务四与收入相关性较大,收入的增加因素可能是与业务四增加了两个新的指标使得收入大幅增加。而业务之间没有相互促进因素。
以上综合可知业务三与业务四有相互促进作用。 6.4 问题四建立与求解: 6.4.1 模型四的建立:
要写季度分析报告,分析当前的状态以及以后发展的建议,则可先用神经网络预测出下个月的所有指标与收入。对由于预测出的收据应满足如下准则。
假设Vij,Vij预测前后的第i个业务第j个指标的变异系数。p为预测前后的收入
目标一:变异系数应尽量小minVij'
i1j158
13
'目标二:收入尽可能大 maxpk
k1306.4.2模型四的求解
用bp神经网络预测出数据见附表(表九):
预测误差如下图(图五)显示神经网络预测误差不超过4个百分点
图五:预测误差
对预测的数据计算出前后数据的变异系数如下表:
表九:变异系数前后对比 业务1 业务2 业务3 指标1 指标1 指标2 指标6 指标7 指标8 初始系数 0.2432 0.2991 0.2171 0.2382 0.2655 0.3123 预测系数 0.0301 0.0324 0.0480 0.0835 0.2927 0.1509 业务4 业务5 指标1 指标3 指标4 指标5 指标1 指标4 指标5 初始系数 0.3329 0.1699 1.1525 1.2315 0.1361 0.44 1.03 预测系数 0.1972 0.1433 0.07 0.0238 0.0850 0.1073 0.0766 上表显示预测后的数据完全符合预想。 当前分析:
根据现有的数据及前面三问,可分析出当前的状态为:业务二和业务三的业务量接近饱和;收入与业务四、五有关;通过相互宣传某些业务之间有促进作用,业务三和业务四相互促进可使得收入增加,业务二和业务三相互促进可使得收入增加。其中收入在前期波动较小,业务四增加指标后收入有明显的上升趋势。
今后的发展:
根据预测的数据得出各业务个指标的一个投资范围见下表(表:表十)由于业务二与业务三已近趋于饱和,则要想有更大的进展应增加新的业务。
14
表十:各指标范围
业务1 指标1 最小值 207734097 最大值 228846869 指标1 最小值 24070798 最大值 203021 业务2 业务3 指标1 指标2 指标6 指标7 指标8 11135568 2021321 1281824 1276107 275955 8551752 20112 1597393 1136330 295966 业务4 业务5 指标3 指标4 指标5 指标1 指标4 指标5 4672349 12144 11372.85 27596523 14202 5627.7 5016331 16202 11027.32 28551394 16267 5994.8
六 模型评价
优点:
1、利用灰色聚类法,将聚类对象划分为不同灰类,通过聚类系数将聚类对象主观的化为饱和与不饱和两类。
2、采用SPSS软件,对于处理的数据,具有速度快、效率高、准确度高的优点。
3、在问题三中采用的变异系数法,可以直接比较各项指标取值的差异程度,得到相应的权重。
缺点:
1、模型中利用变异系数法求相应权重客观性强。
2、BP神经网络算法存在局部极小问题,使得算法陷入局部极值,并且算法收敛速度慢。
七 模型推广
此模型属于数据分析问题,就问题一中模型可用于水环境质量综合评价研究、绿色施工的评价及上市公司信用风险评价等等。就问题四中模型,可用于对疾病预测、对建筑工程投标报价等问题。
15
八 参考文献
[1] 姜启源等,数学模型.高等教育出版社,2009年。 [2] 在筠等,运筹学.高等教育出版社,2007年。
[3] 薛薇等,SPSS统计分析方法及应用.电子工业出版社,2009年。 [4] 陈汝栋等,数学模型与数学建模[M],国防工业出版社,2006年。 [5] 谢云苏,张志让.数学实验.北京:科学出版社,1999.
[6] 唐其环. 灰色聚类灰类白化函数确定方法的探讨[J].四川兵工学报, 1996, 17( 4) : 4- 7.
[7] 刘思峰, 党耀国, 方志耕, 等. 灰色系统理论及其应用(第3版) [M]. 北京: 科学出版社, 2004: 104- 105.
[8] 周开利,康耀红.神经网络模型及matlab仿真程序设计.
16
附录:
附录一:神经网络预测代码
%收入预测 close all clear echo on clc
%BP建模
%原始数据归一化 m_data=load('sr.txt');
%定义网络输入p和期望输出t pause clc
p1=m_data(:,1:13);%输入值 t1=m_data(:,14);%期望输出值 p=p1';t=t1';
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t) %设置网络隐单元的神经元数 %建立相应的BP网络 pause clc
net=newff(minmax(pn),[30,1],{'tansig','purelin'},'traingdm'); inputWeights=net.IW{1,1}; inputbias=net.b{1};
layerWeights=net.IW{1,1}; layerbias=net.b{2}; pause clc
% 训练网络
net.trainParam.show=50; net.trainParam.lr=0.05; net.trainParam.mc=0.9;
net.trainParam.epochs=200000; net.trainParam.goal=1e-3; pause clc
%调用TRAINGDM算法训练BP网络 net=train(net,pn,tn); %对BP网络进行仿真 A=sim(net,pn); E=A-tn; M=sse(E) N=mse(E) pause
17
clc
%% 作误差图 figure(1); plot(A,':og'); hold on; plot(tn,'-*');
legend('预测输出','实际输出');
title('BP网络预测输出','fontsize',12); ylabel('函数输出','fontsize',12); xlabel('样本','fontsize',12); figure(2); plot(E,'-*');
title('BP网络预测误差','fontsize',12); ylabel('误差','fontsize',12); xlabel('样本','fontsize',12); figure(3);
plot((tn-A)./A,'-*');
title('神经网络预测误差百分比'); clc echo off %%预测
p2=load('sry.txt'); %sry.txt存放预测出的各指标的值,作为预测输入值 p2=p2';
p2n=tramnmx(p2,minp,maxp); a2n=sim(net,p2n);
a2=postmnmx(a2n,mint,maxt);%预测结果 echo off pause clc a2’
%指标预测 close all clear echo on clc
%BP建模
%原始数据归一化
m_data=load('srx.txt'); %srx.txt文本文档存储各业务的指标 %定义网络输入p和期望输出t pause clc
p1=m_data(1:90,:); %输入值
18
t1=m_data(91,:); %期望输出值 p=p1;t=t1;
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t) %建立相应的BP网络 pause clc
net=newff(minmax(pn),[30,1],{'tansig','purelin'},'traingdm'); inputWeights=net.IW{1,1}; inputbias=net.b{1};
layerWeights=net.IW{1,1}; layerbias=net.b{2}; pause clc
% 训练网络
net.trainParam.show=50; net.trainParam.lr=0.05; net.trainParam.mc=0.9;
net.trainParam.epochs=200000; net.trainParam.goal=1e-3; pause clc
%调用TRAINGDM算法训练BP网络 net=train(net,pn,tn); %对BP网络进行仿真 A=sim(net,pn); E=A-tn; M=sse(E) N=mse(E) pause clc
%%各指标以后三十天的预测
p2=load('sry.txt'); %sry.txt存放预测出的各指标的值,作为预测输入值 for i=1:30
p2n=tramnmx(p2,minp,maxp); a2n=sim(net,p2n);
a2=postmnmx(a2n,mint,maxt) for j=1:
p2(j)=p2(j+1); end
p2(90)=a2; end echo off pause clc
19
p2(61:90,:) %预测结果
附件二:变异系数的计算 a=load('shu.txt'); n=size(a,2); x=mean(a); y=std(a); for i=1:n
v(i)=y(i)/x(i); end v
w=v/sum(v)
20
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务