统计推断课程设计报告_第1页
统计推断课程设计报告_第2页
统计推断课程设计报告_第3页
统计推断课程设计报告_第4页
统计推断课程设计报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、统计推断在模数、数模转换系统中的应用摘要:在信号处理中,输出电压同pwm波占空比有一定的关系,为了了解实际的特性曲线信息、研究对象系统的输入输出函数关系,唯一的办法就是通过采样进行拟合曲线,然而但采样值和采样总体达到一个极限值时,这项工艺的耗时会十分庞大,而为了精确绘制特性曲线,我们不得不增大采样点。针对这一矛盾,就必须通过一个优化采样的算法来解决。本文分别讨论了七区间穷举法、遗传和退火算法及其拓展方法,通过三次曲线拟合、matlab三次样条插值函数、自编的三次样条插值方式来实现拟合函数。本文最后提出了即迅速又准确的方法,取得了比较满意的结果。关键字: 三次样条插值法,三次多项式拟合,遗传算法

2、,退火算法,占空比,输出电压1. 引言pwm信号控制开关电源是工业上广泛应用的一项技术。而在实际应用中,由于工业生产的标准化非完美性,我们在使用生产商提供的资料(在此即为输出电压同pwm波占空比的特性曲线)时,总会同实际应用有一定误差,这就要求我们了解实际的特性曲线信息。但是由于课题涉及的数据为科创5的07、08、09、10级的实验数据,总体n=523组,数目较为庞大,我们不可能采用传统的曲线拟合方法来找到最佳的匹配曲线,所以本文在选择合适的拟合方法后,重点运用了遗传和退火算法对采样方式进行优化筛选,并运用遗传退火结合的方法提出了更好的方法,运行速度和结果都大大提高。通过对本课题的研究,我们能

3、够了解目前主流的遗传算法和模拟退火算法的特性,并且对数据处理有更深的理解。2. 拟合或插值方法的研究我们通过查看很多组d-u曲线, 发现每个系统的d-u特性关系曲线形状有相似性,所以我们决定对于每一组数据采用统一的方法得出曲线方程式来表示d-u函数关系,并进行得分评价作为标准。首先,我们必须假设电路制作和实验测量没有重大失误,那么我们的拟合工作才有意义。每一次拟合都有评分标准,对于每个点,由其实验值与计算值有如下的得分:,2.1 三次多项式拟合2.1.1 概述假设实验曲线在连续域中的函数表达式为f,则f均可以泰勒展开为一个多项式函数,首先我们观察一下实验曲线的走势情况(例:2009级的第二组数

4、据,见图2.1),可以发现,在占空比为50%左右,输出和占空比之间是呈现一个良好的线性关系,但仔细观察可发现,在占空比的端头(最大段),函数图像有较明显的弯曲。图2.1为了真实反映这种走向,我们决定采用三次多项式进行拟合。理由是:其斜率变化(即导数)是先增加后减小,导数近似对应于一个开口向下的抛物线。因此,我们决定,先在开头段选2个点,中间选3个点,尾段选2个点进行拟合。对于七个点的选择问题一般化的想法是753=154143080次多项式拟合遍历,寻找最大平均得分。但实际操作是不可行的,这样就必须要提出一种优化的算法,即七分段区间法,基于区间的不同又分为等间隔分段、非等间隔分段法。2.1.2

5、等间隔分段我们首先采用等间隔分段,即区间基本均匀分布:1,3,10,12,18,20,26,28,34,37,42,45,51,53,取遍7个区间内所有组合,算法复杂度为:37523。运行结果如下:94.44403.0000 10.0000 20.0000 26.0000 35.0000 43.0000 51.0000elapsed time is 3141.9727 seconds.即等间隔分段的结果为3 10 20 26 35 43 51,得分:94.444。2.1.3 非等间隔分段由于三次曲线有拐点这一特性,即在变化率比较明显的地方我们应当进行深入分割。我们对部分组的数据进行作图,可以直

6、观的看出,一般非线性部分集中在两端,并且主要在电压超过8v的出现弯曲. 所以给出7个经验分段:1,3,7,9,16,18,26,28,36,38,45,47,50,52,算法复杂度同样是37523。运行结果如下:94.58003.0000 8.0000 16.0000 25.0000 34.0000 43.0000 51.0000elapsed time is 3196.6948 seconds.即非等间隔分段的结果为3 8 16 25 34 43 51,得分:94.58。2.1.4 方法分析从2.1.2和2.1.3两个分法来看,非等间隔法要优于等间隔法,因为它考虑到了曲线的形状,在需要细分的

7、地方分了区间。所以,在以后的七区间选取时,我们都用非等间隔法。2.2 matlab三次样条插值函数(interp1)法2.2.1 概述假设在a,b上测量有n-1个点,在a,b上划分。:a=x0x1.xn-1xn=b,则三次样条插值法所得的函数s(x)具有如下特征1:1、 在每个小区间xj,xj+1上是三次多项式。2、 在每个节点s(xj)=yj。3、 s(x)在a,b二阶导数连续。因为s(x)在a,b上二阶导数连续,所以在每个节点,由连续性得s(xj-0)=s(xj+0); s(xj-0)=s(xj+0); s(xj-0)=s(xj+0)。共3n-3个条件;除此之外,由插值可得n+1个条件,仍

8、需两个,这两个条件有边值得出:1、 给定断点x0,xn处的一阶导数值2、 给定断点x0,xn处的二阶导数值(特别的s(x0+0)=0, s(xn+0)=0称为自然边值条件)3、 周期性便捷条件:即以b-a为周期,s(x0+0)= s(xn+0),s(x0+0) =s(xn+0)。这样求出的三次曲线比2.1中的多项式拟合应该要精确许多。2.2.2 运行结果94.81002.0000 8.0000 17.0000 28.0000 38.0000 47.0000 52.0000elapsed time is 4572.0556 seconds.2.2.3 matlab三次样条插值法相比于七点法的优点

9、三次样条插值法相比于七点法对所测量得到的信息的应用足够充分,最后所得的曲线必过每个测量点,在每两个测量点之间都有自己的三次多项式(而不是像七点法一样得到一个所有点的拟合三项式,在小区间里的式子更加精确)。七点法最后所得的式子不一定过测量点。即用三次样条插值法所得的拟合方程,更加贴近真实的测量结果,同时也没有丧失多阶导数连续性。不过时间长效率低是一个不足。2.3 通过编程实现的三次样条插值法2.3.1 概述本法简称自编的三次样条插值法。即依次取四个连续的点,例如取s3,s4,s5,s6(如图2.3(a),并由这4个点求三次多项式的待定系数,得出f4(x)。把f4(x)作为s4,s5的区间方程。在

10、两端处,采用取三点,如s1,s2,s3,(如图2.3(b),并由这3点求二次多项式的系数,得出f3(x),并作为s1,s2区间的方程计算得分。(a)(b)图2.32.3.2 运行结果94.94803 9 17 28 37 45 51elapsed time is 1151.7178 seconds.2.3.3 方法优点本方法与matlab自带的interp1函数最大的区别在于它耗时少,效率高,虽然每个区间的函数没有统一连接起来,但是在局部还是能很好的代表真实的曲线。因而本方法能十分明显地虽短运行时间,并取得较好分数。在以后的算法中,我们均采用自编的三次样条插值法来计算采样点组合的得分。3. 基

11、于自编的三次样条插值法寻找最优得分3.1. 遗传算法(ga)3.1.1 概述遗传算法就是模拟进化论的优胜劣汰的规则,并加有概率性质的随机遗传的算法。算法中产生个体采用产生1至53的7个随机数的方法,而从父代向子代的遗传主要分三种方式:1,选择(selection),选择父代中优秀的个体直接传递给下一代,即保留父代。2,交叉(crossover),以两个父代的基因为基础,进行交叉重组,生成下一代,好的基因会有更大的概率传给子辈。3,变异(mutation),每个父代个体都有一定的概率发生随机的基因突变。评价基因好坏的依据就是适应度。在遗传算法的步骤中起着突出作用的其实是变异。正因为有了变异,算法

12、才存在在全局范围内寻找到最优解的可能性。但是遗传算法需要通过反复试验,才有可能给出最优解。3.1.2 流程图3.1.3 参数设置popsize =28(每次繁殖交叉的个体数,构成繁殖池。在16-30之间,必为偶数);pc=0.8;(交叉的概率,在0.8-0.9之间);pm=0.008; (变异的概率,在0.005-0.009之间,较小);cut=16; (淘汰的个体数目,之后创建新的补充);loopnum=40; (遗传代数,过大会增加耗时);3.1.4 运行结果本方法运行结果如下7 points at: 4 15 17 30 38 48 52with score 94.1440elapsed

13、 time is 3640.062784 seconds.3.1.5 方法评价这种简单的遗传算法运行时间过长,而且结果虽然达到94分,但还不是很满意。原因如下:1.所用数据库庞大,有523组之多,程序多次执行求523组平均分,耗时大。2.交叉用的是单点法,直接交叉两段基因,所以不利于搜索的全面性,易陷入局部极值。3.变异采用的是单点变异,效率较低。4.在选择下一代群体时,最佳个体的生存机会将显著增加,最差个体的生存机会将被剥夺, 低适值个体淘汰太快容易使算法收敛于局部最优解。针对以上的问题,我们在后面的改进中会提出更好的方法。3.2. 退火算法(sa)3.2.1 概述退火算法模拟的是自然界中的

14、降温过程,使得分子群能够在降温过程中更好的趋于能量最低的状态。在本课题中,我们首先设定初温充分大,并取降温系数0.97,第一次先产生7点位置,然后进入退货循环。每次在选出的7个点上随机变动一定位置,每产生一次变动计算其得分,如果分数高于之前的最高分,则接受;若低于,则已exp(-分数差 /温度)的概率接受,同时温度也以0.97倍数而降低。在温度很低时,退火算法在接受7点上更加苛刻,当温度到达0.001时,运算结束。3.2.2 流程图3.2.3 参数设置temp=100; (初温,应充分大);tempratio = 0.97; (降温系数,应接近于1)初温充分大有利于全面搜索,不易早熟;降温系数

15、越接近1每个温度下更加达到平衡,但是耗时也变长。3.2.4 运行结果本方法运算结果为:94.1020 with 7 points at 3 6 17 27 37 44 51elapsed time is 3842.035862 seconds.3.2.5 方法评价本次模拟退火算法运行时间同样很长,效率不高,原因分析如下:1.所用数据库庞大,有523组之多,程序多次执行求523组平均分,耗时大。2.计算量大,返回一个高质量的近似解的时间花费较多,效率低。3.退火过程中,7点同时有较大范围的变动,不易收敛于最优解。针对以上的问题,我们决定采用遗传和退火结合的方法,充分发挥各自的优点,提高效率。4.

16、 结合遗传、退火思想的改进方法4.1 方法概述考虑到3.1.5和3.2.5中的问题,我们改进了算法,采用先遗传再退火的方法,具体如下:(1)先用等间隔抽取的100组小数据库来进行遗传算法搜索,提高运行速度,之后的退火搜索是再用523组全部数据。(2)交叉概率采用自适应调整方法,得分越高,适当调低交叉概率,减少无效的交叉,提高效率。交叉后保留父代,让子代与父代一同竞争。(3)变异概率也采用自适应调整方法,得分越高的个体,变异的可能越低,得分底的个体,有较高的概率变异。这样可以增加搜索广度,保持优秀个体数量,提高效率。(4)遗传算法的选择算子采用赌盘算子,而且加入温度概念,温度越低,选择越苛刻,淘

17、汰率越高。(5)降温采用模拟自然界的t=t0*exp(-time)方式,降温至一定值后再用t=t*ratio方式继续降温。这样,温度曲线更加理想,有高温加温较快,低温降温较慢的特点,保证了充分的搜索度,又能选出优秀的个体。这种ga和sa的混合策略,这是一种全局优化方法。它综合了sa搜索面广而ga收敛较快的优点,有效地克服了sa收敛速度较低而ga收敛易早熟的问题。在ga操作中,选择加入了杰出个体保护策略集自适应的进化操作,使已获得的进化成果不丧失。在sa操作中,每次变化的幅度较小,使搜索在尽量保持最优性的前提下减少计算量,提高搜索效率。通过这些改进的算法,即提高全局优化收敛的速度,又增强搜索全局

18、最优的效率。4.2 流程图4.3 交叉、变异概率自适应调整法为了提高搜索效率、保护优秀个体,我们采用如下的计算公式3,来决定是否进行交叉、变异:(1)交叉:if (fm-fa)=fa; pm=pm1-(pm1-pm2)*(allvalue(i)-fa)/(f0-fa); else pm=pm1;其中,pm1=0.3;pm2=0.1;f0为个体中最高分;fa为平均分;针对每个个体得分allvalue(i),如果它越接近最高分,则变异概率最小,反之,让该个体以较大概率变异,以提高搜索效果。4.4 交叉算子采用一致交叉算法,即随机产生7位二进制数,对应为1则进行交叉,否则不交叉,父代和交叉后子代一同

19、保留在群体中。这样的算子具有搜索能力大,不易陷入局部极值、效率较高的特点,适合初级筛选使用。4.5 选择算子交叉后计算得分用于选择优良个体,选择采用赌盘法,即得分高的个体有更大的可能进入下一代,概率与得分成正关系。这里为了体现退火的思想,我们引进温度t,来控制选择的苛刻程度。在温度逐渐减低的过程中,我们让个体的得分差异逐渐放大,在选择时相当于压力更大。于是我们计算每个个体与最小得分的差值,在加上一个逐渐减小的温度参量,作为赌盘选择的依据,当温度减低时,得分高的个体进入下一轮的概率大大增加。具体算法如下:(1)将进入交叉的个体得分减去最小得分,加入温度参量后的得分排列成一个向量a,用cumsum

20、(a)对其求累积求和,并除以sum(a),得到一个个体选择参数样本b。(2)随机产生一个与b同样大小的随机值(01)向量c,并排序。(3)从b中第一个值开始,依次与c中从低到高比较,如果大于c中值,保留个体,并与c下一位继续比较,如果还是大于,则重复保留,否则比较b中的下一个,直到后代个体数达到上限。为了说明引入温度参量后的效果,我们举93 88 76 92 90 86这6个个体得分为例,比较温度分别在20度和0.01度时的选择压力。首先求出两温度下的样本b1、b2,如图4.5图4.5其中,温度0.01的向量b1=0.2463 0.4202 0.4204 0.6522 0.8551 1.000

21、0;温度为20的向量b2=0.1958 0.3651 0.4709 0.6614 0.8413 1.0000;而赌盘随机概率基准向量c=0.0978 0.2003 0.4198 0.6723 0.7231 0.9121作为选择的标准。从表中可以看出,温度为20时后代个体为93 8876 90 90 86,温度为0.01时后代个体为93 88 88 90 90 86,从中可以看出,温度降低后代质量有所提高,选择更加严格。使用这种方式,在温度高时保证了低适值的个体不被过早淘汰,确保了多样性及搜索的全局性,而在温度很低时,优秀的个体更加突出,选择更加严格有效,保证了优秀个体不会流失。4.6 变异算子

22、为了加大变异力度,我们不仅使用了自适应变异概率,减低了高适值个体的变异概率,增加了低适值个体变异的概率,而且增加了变异点的个数,让7点中有2个点同时变异,这样保证了低适值个体的潜在价值,又能让优秀个体不至于向坏的方向变异。4.7 退火部分算法改进由3.2的退火算法可知,由于每次变动的幅度过大,且7点位置一起变动,这样很容易破坏优秀个体,使得搜索效率下降,时间增加但结果不好。所以,我们采用每点0.5概率变动,每次变动幅度为不超过左右2点的随机量,这样就有很好的筛选结果。并且,遗传部分输出结果后,退火的初温会根据输出分数的大小设定,分数越大,初温越小,这样保证了优秀个体不易过早流失。4.8 参数设

23、置t0=20; 结合退火思想后的赌盘算子初温,由于进入赌盘的适应度值在0到30左右,初温已经足够。tf=0.0001; 遗传部分的末温,到此说明赌盘选择已经非常苛刻,可以输出个体进行下一步筛选。r=0.36; 降温时间常数,t=t0*exp(-r*n+r),n为循环次数。在20次左右温度可以到达末温。r2=0.83; 温度降到0.001度时用t=t*r2方式降温,可以保证充分选择的情况下速度较快,且保证输出个体质量。f0=95.5; 理想得分,用于控制交叉的概率,此值越大,群体交叉概率越大。popsize=14; 繁殖交叉池个体数目,为偶数,在10-20足够保证速度和质量。pc1=0.94;p

24、c2=0.4; 交叉自适应概率函数参数,若后代不理想,则交叉概率为pc1,若后代较理想,不必做效率不高的交叉,则概率为pc2。pm1=0.3;pm2=0.1; 变异自适应概率函数参数,若个体优秀,则按pm2概率变异,反之按pm1概率变异。ratio=0.85; 退火部分的降温系数,降温较快是因为遗传部分输出结果较好,不需要扩大搜索范围,只需在邻近处寻找最优。4.9 运行结果ga output:93.442 with 7 points at 4 7 16 22 33 42 51sa output:94.912 with 7 points at 待添加的隐藏文字内容12 8 16 23 35 44

25、 51elapsed time is 50.376393 seconds.4.10 方法分析从以上结果可以看出,本算法实现了速度与高得分的很好的结合。在ga部分,虽然搜索后的得分没有上94,但是快速搜索后确定的7点位置已经在非常靠近最优组合范围了,所以sa部分能够在很短时间内找到最优解:【2 8 16 23 35 44 51】以及得分94.912分。所以,总的来说,这种ga和sa的混合策略,这是一种全局优化方法。它综合了ga收敛较快而sa搜索面广的优点,有效地克服了sa收敛速度较低而ga收敛易早熟的问题。5. 减少事前观测点的探究5.1 六个事前观测点5.2.1 概述在4.10的结果中可以看到

26、,7个点结果已经较高地超出的94,于是我们调整参数,采用6个事前观测点。我们将自己编的三次样条插值拟合函数的区间改为6段,同样,取前3个点用矩阵除法算出二次曲线,将第一段的数据带入计算得分,中间4段用前后4个点算出三次曲线计算得分,第6段用最后3点算出的二次曲线计算得分。但由于6点相较7点困难许多,我们必须调整参数,见5.1.2。5.2.2 参数设置r=0.34; ga部分降温时间常数,t=t0*exp(-r*n+r),n为循环次数。相比7点中0.36来说,调低的目的是减缓降温速度,搜索更广。r2=0.85; ga部分温度降到0.001度时用t=t*r2方式降温,同样从0.83调高目的是减缓降

27、温过程,利于赌盘算子充分筛选。f0=94.5; 理想分数调低至94.5,因为6点法平均得分较低。pc1=0.96; 交叉概率上限调大,从而有更大概率得出优秀后代。其余参数不变。5.2.3 运行结果ga output:94.186 with 6 points at 3 9 21 33 45 51sa output:94.2826 with 6 points at 3 10 22 33 45 52elapsed time is 61.399038 seconds.5.2.4 方法分析从5.1.3的结果来看,虽然运行时间多了一点,但遗传部分的输出就已经达到94分以上,而退火部分又将得分提高到94.2

28、826,说明这种结合ga、sa的算法是十分有效的。最优6点组合为:【3 10 22 33 45 52】以及得分:94.2826。5.2 五个事前观测点5.2.1 说明相较6点,5点更加困难,我们用同样的思想修改了参数如下:t0=30; 调高初温,保证开始时低适值的个体不被过早淘汰,增加搜索全面性。r=0.32; ga部分降温时间常数,t=t0*exp(-r*n+r),进一步调低降温速度。r2=0.86; ga部分温度降到0.001度时用t=t*r2方式降温,理由同上。popsize=16; 繁殖交叉池个体数目,调高以增加出现优秀后代的个数。pc1=0.97; pm1=0.37; 交叉和变异概率进一步调大。5.2.2 运行结果ga output:92.792 with 5 points a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论