您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 金融资料 > 金融数据挖掘实验指导书--金融数据挖掘-《金融数据挖掘
《金融数据挖掘》实验指导书(网络收集,版权归原作者所有)浙江工商大学金融学院目录前言…………………………………………………………3实验一、优化算法程序设计………………………………41.进退法…………………………………………………42.黄金分割法……………………………………………63.二次插值法……………………………………………7实验二、关联规则挖掘算法………………………………9实验三、决策树ID3算法…………………………………12实验四、遗传算法程序设计………………………………14实验五、神经网络(BP)算法………………………………162前言本课程将系统介绍数据挖掘的基本原理和常用算法以及数据挖掘的发展情况和应用情况。通过本课程的学习,学生应达到如下要求:1、理解什么是数据挖掘及数据挖掘的应用。2、熟悉数据挖掘的常用算法并完成算法的程序设计。3、了解当前数据挖掘的研究动态和最新进展。本课程主要讲解数据挖掘的经典算法,如著名的关联规则,ID3算法,遗传算法,神经网络(BP)等。同时介绍每种算法的特点和具体应用情况,要求学生理解这几种算法的基本原理和详细执行过程并完成其中几种算法的程序设计。我们要求学生采用任何一种自己熟悉的编程语言完成算法的程序设计,如C/C++、Delphi、VB、VC、C#等,我们采用VB、VC等常用的开发平台来实现算法的程序设计。3实验一、优化算法程序设计1.进退法实验目的:理解进退法确定函数极小值区间和求极小值的过程和原理,完成程序设计并得出正确结果。实验内容:用进退法确定函数432()46164fxxxxx=−−−+最小值所在的区间和最小值。(1)、进退法求函数极小值实验步骤:1、选择一种自己熟悉的语言进行程序设计,这里以VisualBasic6.0为例。2、设计好界面后进行编码,以完成算法所要求的目的。3、任意取初始点和初始步长(注意不能为0),并取所要求的计算精度0a0h0hε,令0,0xahh==,计算1()fxϕ=。4、计算2()fxhϕ=+。5、如果21ϕϕ,令xxh=+,12ϕϕ=,2hh=,转4。6、若21ϕϕ≥,判断||hε≤?若||hε≤,则停止迭代,*xx=。否则,令4hh=−,转4。实验结果:此函数的精确结果是,最优解为*4x=,最小值为,大致应该得到如下的运行结果:min156=−4(2)、进退法搜索函数极小值所在区间实验步骤:1、给定初始点和,令0a0h10aa=,0hh=。2、令,计算21aah=+11()yfa=,22()yfa=。3、若21yy,令。313,,hhaayy=−==123)24、,。121,aayy==232,aayy==5、,若3233,(aahyfa=+=3yy,令2hh=,转4。6、否则,输出区间。13(,)aa实验结果:应该注意给定的初始点和初始步长不同的话,计算出来的搜索区间会有所不同,但最小值必定在所求区间内。如取000,2ah==时计算出来的搜索区间为:5当取时,计算出来的搜索区间如下,此函数的最小值点为,可见最小值点在所求的搜索区间内。005,0.2ah==*4x=2.黄金分割法实验目的:理解黄金分割法求一元函数极小值的原理和方法,并完成程序设6计得出正确结果。实验内容:用黄金分割法求函数432()46164fxxxxx=−−−+的极小值。实验步骤:1)、给出初始搜索区间[,及收敛精度]abε,将λ赋以0.618。2)、按坐标点计算公式计算和,并计算其对应的函数值1a2a1()fa和2()fa。3)、根据区间消去法原理缩短搜索区间。为了能用原来的坐标点计算公式,需进行区间名称的代换,并在保留区间中计算一个新的试验点及其函数值。4)、检查区间是否缩短到足够小和函数值收敛到足够近,如果条件不满足则返回到步骤2)。5)、如果条件满足,则取最后两试验点的平均值作为极小点的数值近似解。实验结果:本实验函数的最优解为,最小值为m*4x=in156=−,计算结果如下:3.二次插值法实验目的:理解和掌握二次插值法求函数极小值的方法和原理,完成程序设计并得出正确结果。7实验内容:用二次插值法求函数432()46164fxxxxx=−−−+的极小值。实验步骤:①二次插值法又称抛物线法,它是利用()yfα=在单谷区间中的三点123ααα的相应函数值12()()()fff3ααα,作出如下的二次插值多项式2012()Paaaααα=++。②根据求极值点的必要条件和联立方程组,求得()fα极小点*α的近似解pα。③如果区间长度31||αα−足够小,则由|31|*||pαααα−−可以得出我们所要求的近似极小点*pαα≈。④否则,在新的区间内再用二次插值法插入新的极小点近似值'pα,如此不断进行下去,直到找到满足精度要求的解为止。实验结果:本实验函数的最优解为*4x=,最小值为min156=−,计算结果如下:8实验二、关联规则挖掘算法实验目的:了解关联规则在数据挖掘中的应用,理解和掌握关联挖掘的经典算法Apriori算法的基本原理和执行过程并完成程序设计。实验内容:对给定数据集用Apriori算法进行挖掘,找出其中的频繁集并生成关联规则。对下面数据集进行挖掘:1,2,51,22,41,2,41,31,2,3,51,2,32,5实验步骤:①首先单趟扫描数据集,计算各个一项集的支持度,根据给定的最小支持度闵值,得到一项频繁集L1。②然后通过连接运算,得到二项候选集,对每个候选集再次扫描数据集,得出每个候选集的支持度,再与最小支持度比较。得到二项频繁集L2。③如此进行下去,直到不能连接产生新的候选集为止。2,3,43,4(1)④对于找到的所有频繁集,用规则提取算法进行关联规则的提取。实验结果:对于数据集(1),取最小支持度minsup=2,最小置信度minconf=0.8。得到的结果如下所示:9对于数据集(2),取最小支持度minsup=3,最小置信度minconf=1。得到的结果如下所示:1011实验三、决策树ID3算法实验目的:了解决策树归纳学习算法在数据挖掘上的应用,理解基于信息论的决策分类算法ID3算法的基本原理和算法的执行过程。实验内容:对以下训练数据进行决策树归纳学习,并得出规则。DayOutlookTemperatureHumidityWindPlayD1SunnyHotHighWeakNoD2SunnyHotHighStrongNoD3OvercastHotHighWeakYesD4RainMildHighWeakYesD5RainCoolNormalWeakYesD6RainCoolNormalStrongNoD7OvercastCoolNormalStrongYesD8SunnyMildHighWeakNoD9SunnyCoolNormalWeakYesD10RainMildNormalWeakYesD11SunnyMildNormalStrongYesD12OvercastMildHighStrongYesD13OvercastHotNormalWeakYesD14RainMildHighStrongNo此数据集经过学习得到的决策树为:OutlookHumidityWindyesSunnyOvercastRainNormalHighyesNoweakstrongNoyes通过上面的决策树可以得到以下规则:If(outlook=sunnyAndHumidity=Normal)Or(outlook=Overcast)Or(outlook=RainAndWind=weak)Thenplay=yesIf(outlook=sunnyAndHumidity=high)Or(outlook=RainAnd12Wind=strong)Thenplay=No实验步骤:①首先,对于整个训练数据集,根据决策属性的取值计算对训练样本的分类熵。②然后对每个条件属性,计算用它对训练数据进行划分后的信息增益,并选择信息增益最大的条件属性作为根节点。③根据此条件属性的取值个数,对训练样本集进行划分,对每个子集:如果此子集的决策属性取值相同,则不用再进行划分,即为叶子节点。否则,对于此子集重复前面过程进行继续划分,直到所有子集不能继续划分为止。④当不能继续划分时便生成了最终的决策树,然后顺着决策树的每条路径生成规则。实验结果:通过对本训练数据集进行决策树归纳学习应得到如下结果。13实验四、遗传算法程序设计实验目的:理解遗传算法的基本原理和执行过程,并能完成对二进制编码求函数极值的程序设计。实验内容:用二进制编码的遗传算法求Rosenbrock函数的极小值。Rosenbrock函数即为22212211(,)100()(1)fxxxxx=−+−121xx==,当时,它的极小值为0。实验步骤:①随机对变量进行编码,即随机产生一定数量的和一定编码长度的二进制串。②然后对二进制串进行解码,即把二进制串还原为给定的搜索区间中变量的实数值。③上述步骤完成后产生了初始群体,对群体里面的每一个个体进行适应度评价,然后根据适应度大小进行选择操作。即复制适应度大的个体,淘汰适应度小的个体。④对选择操作后的群体继续进行交叉和变异,这样就产生了新一代群体。⑤重复上述步骤③和④,直到达到给定迭代次数为止,则生成了进化后的最终群体。⑥从最终的群体中选择一个适应度最高的个体作为此函数的解。实验结果:经过遗传算法的进化计算最终可得到如下运行结果:1415实验五、神经网络(BP)算法实验目的:熟悉BP算法的运行过程和基本原理,了解它的应用领域,并完成程序设计。实验内容:采用三层前向神经网络对随机产生的一个样本数据用BP算法进行训练,直到达到给定的训练精度为止。样本包括输入信号和教师信号,训练的目的就是使输入信号经过网络的加权计算后输出的信号与教师信号相差最小。实验步骤:①首先确定神经网络的输入层、隐层、输出层节点个数,选择节点转移函数,我们采用sigmoid函数,1(),0()11xfxfxe−=+,其导函数为'()()(1())fxfxfx=−。②设定学习次数初值t=0,用小的随机数初始化网络权值和闵值。③输入一个学习样本,并计算隐层各节点输出值和输出层各节点的输出。④计算输出层节点和隐层节点之间连接权值的修正量及隐层节点和输入层节点间连接权值的修正量。⑤修正输出层节点和隐层节点的连接权值并修正输出层节点的闵值。⑥修正隐层节点和输出层节点的连接权值,并修正隐层节点的闵值。⑦如果未取完全部学习样本,则返回到步骤③。⑧计算误差函数E,并判断E是否小于规定的误差上限,如果小于误差上限或达到学习次数限制,则算法结束。否则更新学习次数,返回步骤③。实验结果:由于训练样本为随机产生,每次运行结果会有所不同,这是某一次的运行结果。1617
本文标题:金融数据挖掘实验指导书--金融数据挖掘-《金融数据挖掘
链接地址:https://www.777doc.com/doc-251596 .html