QQ登录

只需要一步,快速开始

 注册地址  找回密码
楼主: 赤眸
打印 上一主题 下一主题

#每日一数模#坚持60天,I can deserve it !

[复制链接]
字体大小: 正常 放大
赤眸        

5

主题

13

听众

359

积分

升级  19.67%

  • TA的每日心情
    开心
    2017-9-15 09:46
  • 签到天数: 90 天

    [LV.6]常住居民II

    自我介绍
    不念过去,不恋曾经。

    群组2016国赛备战群组

    61#
    发表于 2016-1-24 22:29 |只看该作者
    |招呼Ta 关注Ta
    分治算法应用实例:
    找出伪币
    给你一个装有1 6个硬币的袋子。1 6个硬币中有一个是伪造的,并且那个伪造的硬币比真的硬币要轻一些。你的任务是找出这个伪造的硬币。为了帮助你完成这一任务,将提供一台可用来比较两组硬币重量的仪器,利用这台仪器,可以知道两组硬币的重量是否相同。比较硬币1与硬币2的重量。假如硬币1比硬币2轻,则硬币1是伪造的;假如硬币2比硬币1轻,则硬币2是伪造的。这样就完成了任务。假如两硬币重量相等,则比较硬币3和硬币4。同样,假如有一个硬币轻一些,则寻找伪币的任务完成。假如两硬币重量相等,则继续比较硬币5和硬币6。按照这种方式,可以最多通过8次比较来判断伪币的存在并找出这一伪币。
    另外一种方法就是利用分而治之方法。假如把1 6硬币的例子看成一个大的问题。第一步,把这一问题分成两个小问题。随机选择8个硬币作为第一组称为A组,剩下的8个硬币作为第二组称为B组。这样,就把1 6个硬币的问题分成两个8硬币的问题来解决。第二步,判断A和B组中是否有伪币。可以利用仪器来比较A组硬币和B组硬币的重量。假如两组硬币重量相等,则可以判断伪币不存在。假如两组硬币重量不相等,则存在伪币,并且可以判断它位于较轻的那一组硬币中。最后,在第三步中,用第二步的结果得出原先1 6个硬币问题的答案。若仅仅判断硬币是否存在,则第三步非常简单。无论A组还是B组中有伪币,都可以推断这1 6个硬币中存在伪币。因此,仅仅通过一次重量的比较,就可以判断伪币是否存在。
    假设需要识别出这一伪币。把两个或三个硬币的情况作为不可再分的小问题。注意如果只有一个硬币,那么不能判断出它是否就是伪币。在一个小问题中,通过将一个硬币分别与其他两个硬币比较,最多比较两次就可以找到伪币。这样,1 6硬币的问题就被分为两个8硬币(A组和B组)的问题。通过比较这两组硬币的重量,可以判断伪币是否存在。如果没有伪币,则算法终止。否则,继续划分这两组硬币来寻找伪币。假设B是轻的那一组,因此再把它分成两组,每组有4个硬币。称其中一组为B1,另一组为B2。比较这两组,肯定有一组轻一些。如果B1轻,则伪币在B1中,再将B1又分成两组,每组有两个硬币,称其中一组为B1a,另一组为B1b。比较这两组,可以得到一个较轻的组。由于这个组只有两个硬币,因此不必再细分。比较组中两个硬币的重量,可以立即知道哪一个硬币轻一些。较轻的硬币就是所要找的伪币。
    求最值

    在n个元素中找出最大元素和最小元素。我们可以把这n个元素放在一个数组中,用直接比较法求出。算法如下:
    void maxmin1(int A[],int n,int *max,int *min)
    { int i;
    *min=*max=A[0];
    for(i=0;i <= n;i++)
    { if(A[i]> *max) *max= A[i];
    if(A[i] < *min) *min= A[i];
    }
    }
    上面这个算法需比较2(n-1)次。能否找到更好的算法呢?我们用分治策略来讨论。
    把n个元素分成两组:
    A1={A[1],...,A[int(n/2)]}和A2={A[INT(N/2)+1],...,A[N]}
    分别求这两组的最大值和最小值,然后分别将这两组的最大值和最小值相比较,求出全部元素的最大值和最小值。如果A1和A2中的元素多于两个,则再用上述方法各分为两个子集。直至子集中元素至多两个元素为止。
    例如有下面一组元素:-13,13,9,-5,7,23,0,15。用分治策略比较的算法如下:
    void maxmin2(int A[],int i,int j,int *max,int *min)
    /*A存放输入的数据,i,j存放数据的范围,初值为0,n-1,*max,*min 存放最大和最小值*/
    { int mid,max1,max2,min1,min2;
    if (j==i) {最大和最小值为同一个数;return;}
    if (j-1==i) {将两个数直接比较,求得最大会最小值;return;}
    mid=(i+j)/2;
    求i~mid之间的最大最小值分别为max1,min1;
    求mid+1~j之间的最大最小值分别为max2,min2;
    比较max1和max2,大的就是最大值;
    比较min1和min2,小的就是最小值;
    }
    分治算法应用场景
    运用分治策略解决的问题一般来说具有以下特点:
    1、原问题可以分解为多个子问题
    这些子问题与原问题相比,只是问题的规模有所降低,其结构和求解方法与原问题相同或相似。
    2、原问题在分解过程中,递归地求解子问题
    由于递归都必须有一个终止条件,因此,当分解后的子问题规模足够小时,应能够直接求解。
    3、在求解并得到各个子问题的解后
    应能够采用某种方式、方法合并或构造出原问题的解。
    不难发现,在分治策略中,由于子问题与原问题在结构和解法上的相似性,用分治方法解决的问题,大都采用了递归的形式。在各种排序方法中,如归 并排序、堆排序、快速排序等,都存在有分治的思想。

                                                                                                              -The 52th day
    回复

    使用道具 举报

    赤眸        

    5

    主题

    13

    听众

    359

    积分

    升级  19.67%

  • TA的每日心情
    开心
    2017-9-15 09:46
  • 签到天数: 90 天

    [LV.6]常住居民II

    自我介绍
    不念过去,不恋曾经。

    群组2016国赛备战群组

    分支定界法:
    分支定界法(branch and bound)是一种求解整数规划问题的最常用算法。这种方法不但可以求解纯整数规划,还可以求解混合整数规划问题。
    基本思路:
    分支定界法是一种搜索与迭代的方法,选择不同的分支变量和子问题进行分支。
    对于两个变量的整数规划问题,使用网格的方法有时更为简单。
    算法步骤:
    (1)求整数规划的松弛问题最优解。
    (2)若松弛问题的最优解满足整数要求,得到整数规划的最优解,否则转下一步。
    (3)任意选一个非整数解的变量  ,在松弛问题中加上约束      及      +1组成两个新的松弛问题,称为分支。新的松弛问题具有如下特征:当原问题是求最大值时,目标值是分支问题的上界;当原问题足求最小值时,目标值是分支问题的下界。
    (4)检查所有分支的解及目标函数值,若某分支的解是整数并且目标函数值大于(max)等于其他分支的目标值,则将其他分支剪去不再计算,若还存在非整数解并且目标值大于( max)整数解的目标值,需要继续分支,再检查,直到得到最优解。

                                                                                                              -The 53th day
    回复

    使用道具 举报

    赤眸        

    5

    主题

    13

    听众

    359

    积分

    升级  19.67%

  • TA的每日心情
    开心
    2017-9-15 09:46
  • 签到天数: 90 天

    [LV.6]常住居民II

    自我介绍
    不念过去,不恋曾经。

    群组2016国赛备战群组

    主成分分析法:
    介绍
    主成分分析(principal components analysis,PCA)又称:主分量分析,主成分回归分析法。旨在利用降维的思想,把多指标转化为少数几个综合指标。它是一个线性变换。这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次类推。主成分分析经常用减少数据集的维数,同时保持数据集的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。但是,这也不是一定的,要视具体应用而定。
    基本思想:
    在实证问题研究中,为了全面、系统地分析问题,我们必须考虑众多影响因素。这些涉及的因素一般称为指标,在多元统计分析中也称为变量。因为每个变量都在不同程度上反映了所研究问题的某些信息,并且指标之间彼此有一定的相关性,因而所得的统计数据反映的信息在一定程度上有重叠。在用统计方法研究多变量问题时,变量太 多会增加计算量和增加分析问题的复杂性,人们希望在进行定量分析的过程中,涉及的变量较少,得到的信息量较多。主成分分析正是适应这一要求产生的,是解决这类题的理想工具。
    同样,在科普效果评估的过程中也存在着这样的问题。科普效果是很难具体量化的。在实际评估工作中,我们常常会选用几个有代表性的综合指标,采用打分的方法来进行评估,故综合指标的选取是个重点和难点。如上所述,主成分分析法正是解决这一问题的理想工具。因为评估所涉及的众多变量之间既然有一定的相关性,就必然存在着起支配作用的因素。根据这一点,通过对原始变量相关矩阵内部结构 的关系研究,找出影响科普效果某一要素的几个综合指标,使综合指标为原来变量的线 性拟合。这样,综合指标不仅保留了原始变量的主要信息,且彼此间不相关,又比原始 变量具有某些更优越的性质,就使我们在研究复杂的科普效果评估问题时,容易抓住主 要矛盾。 上述想法可进一步概述为:设某科普效果评估要素涉及个指标,这指标构 成的维随机向量为。对作正交变换,令,其中为正交阵,的各分量是不相关的,使得的各分量在某个评估要素中的作用容易解释,这就使得我们有可能从主分量中选择主要成分,削除对这一要素影响微弱的部分,通过 对主分量的重点分析,达到对原始变量进行分析的目的。的各分量是原始变量线性组合,不同的分量表示原始变量之间不同的影响关系。由于这些基本关系很可能与特定的作用过程相联系,主成分分析使我们能从错综复杂的科普评估要素的众多指标中,找出一些主要成分,以便有效地利用大量统计数据,进行科普效果评估分析,使我们在研究科普效果评估问题中,可能得到深层次的一些启发,把科普效果评估研究引向深入。
    例如,在对科普产品开发和利用这一要素的评估中,涉及科普创作人数百万人、科 普作品发行量百万人、科普产业化(科普示范基地数百万人)等多项指标。经过主成分分析计算,最后确定个或个主成分作为综合评价科普产品利用和开发的综合指标,变量数减少,并达到一定的可信度,就容易进行科普效果的评估。
    基本原理:
    主成分分析法是一种降维的统计方法,它借助于一个正交变换,将其分量相关的原随机向量转化成其分量不相关的新随机向量,这在代数上表现为将原随机向量的协方差阵变换成对角形阵,在几何上表现为将原坐标系变换成新的正交坐标系,使之指向样本点散布最开的p 个正交方向,然后对多维变量系统进行降维处理,使之能以一个较高的精度转换成低维变量系统,再通过构造适当的价值函数,进一步把低维系统转化成一维系统。

                                                                                                          -The 54th day
    回复

    使用道具 举报

    赤眸        

    5

    主题

    13

    听众

    359

    积分

    升级  19.67%

  • TA的每日心情
    开心
    2017-9-15 09:46
  • 签到天数: 90 天

    [LV.6]常住居民II

    自我介绍
    不念过去,不恋曾经。

    群组2016国赛备战群组

    主成分分析法的作用:
    概括起来说,主成分分析主要由以下几个方面的作用。
    1.主成分分析能降低所研究的数据空间的维数。即用研究m维的Y空间代替p维的X空间(m<p),而低维的Y空间代替 高维的x空间所损失的信息很少。即:使只有一个主成分Yl(即 m=1)时,这个Yl仍是使用全部X变量(p个)得到的。例如要计算Yl的均值也得使用全部x的均值。在所选的前m个主成分中,如果某个Xi的系数全部近似于零的话,就可以把这个Xi删除,这也是一种删除多余变量的方法。
    2.有时可通过因子负荷aij的结论,弄清X变量间的某些关系。
    3.多维数据的一种图形表示方法。我们知道当维数大于3时便不能画出几何图形,多元统计研究的问题大都多于3个变量。要把研究的问题用图形表示出来是不可能的。然而,经过主成分分析后,我们可以选取前两个主成分或其中某两个主成分,根据主成分的得分,画出n个样品在二维平面上的分布况,由图形可直观地看出各样品在主分量中的地位,进而还可以对样本进行分类处理,可以由图形发现远离大多数样本点的离群点。
    4.由主成分分析法构造回归模型。即把各主成分作为新自变量代替原来自变量x做回归分析。
    5.用主成分分析筛选回归变量。回归变量的选择有着重的实际意义,为了使模型本身易于做结构分析、控制和预报,好从原始变量所构成的子集合中选择最佳变量,构成最佳变量集合。用主成分分析筛选变量,可以用较少的计算量来选择量,获得选择最佳变量子集合的效果。
    计算步骤:
    1、数据标准化;
    2、求相关系数矩阵;
    3、一系列正交变换,使非对角线上的数置0,加到主对角上;
    得特征根xi(即相应那个主成分引起变异的方差),并按照从大到小的顺序把特征根排列;
    4、求各个特征根对应的特征向量;
    用下式计算每个特征根的贡献率Vi;
    VI=xi/(x1+x2+........)
    5、根据特征根及其特征向量解释主成分物理意义

                                                                                                                   -The 55th day
    回复

    使用道具 举报

    赤眸        

    5

    主题

    13

    听众

    359

    积分

    升级  19.67%

  • TA的每日心情
    开心
    2017-9-15 09:46
  • 签到天数: 90 天

    [LV.6]常住居民II

    自我介绍
    不念过去,不恋曾经。

    群组2016国赛备战群组

    因子分析法:
    介绍:
    主成分分析通过线性组合将原变量综合成几个主成分,用较少的综合指标来代替原来较多的指标(变量)。在多变量分析中,某些变量间往往存在相关性。是什么原因使变量间有关联呢?是否存在不能直接观测到的、但影响可观测变量变化的公共因子?因子分析法(Factor Analysis)就是寻找这些公共因子的模型分析方法,它是在主成分的基础上构筑若干意义较为明确的公因子,以它们为框架分解原变量,以此考察原变量间的联系与区别。
    例:随着年龄的增长,儿童的身高、体重会随着变化,具有一定的相关性,身高和体重之间为何会有相关性呢?因为存在着一个同时支配或影响着身高与体重的生长因子。那么,我们能否通过对多个变量的相关系数矩阵的研究,找出同时影响或支配所有变量的共性因子呢?因子分析就是从大量的数据中“由表及里”、“去粗取精”,寻找影响或支配变量的多变量统计方法。
    因此,可以说因子分析是主成分分析的推广,也是一种把多个变量化为少数几个综合变量的多变量分析方法,其目的是用有限个不可观测的隐变量来解释原始变量之间的相关关系。
    因子分析主要用于:1、减少分析变量个数;2、通过对变量间相关关系探测,将
    原始变量进行分类。即将相关性高的变量分为一组,用共性因子代替该组变量。
    基本模型:
    因子分析法是从研究变量内部相关的依赖关系出发,把一些具有错综复杂关系的变量归结为少数几个综合因子的一种多变量统计分析方法。它的基本思想是将观测变量进行分类,将相关性较高,即联系比较紧密的分在同一类中,而不同类变量之间的相关性则较低,那么每一类变量实际上就代表了一个基本结构,即公共因子。对于所研究的问题就是试图用最少个数的不可测的所谓公共因子的线性函数与特殊因子之和来描述原来观测的每一分量。
    因子分析模型描述如下:
    1、X=(x1,x2,…,xp)是可观测随机向量,均值向量E(X)=0,协方差阵Cov(X)=∑,且协方差阵∑与相关矩阵R相等(只要将变量标准化即可实现)。
    2、F=(F1,F2,…,Fm)(m<p)是不可测的向量,其均值向量E(F)=0,协方差矩阵Cov(F)=I,即向量的各分量是相互独立的。
    3、e=(e1,e2,…,ep)与F相互独立,且E(e)=0,e的协方差阵∑是对角阵,即各分量e之间是相互独立的,则模型:
    x1=a11F1+a12F2+…+a1mFm+e1
    x2=a21F1+a22F2+…+a2mFm+e2
    xp=ap1F1+ap2F2+…+apmFm+ep
    称为因子分析模型,由于该模型是针对变量进行的,各因子又是正交的,所以也称为R型正交因子模型。其矩阵形式为:
    x=AF+e
    其中:
    x=,A=,F=,e=
    这里
    (1)m£p;
    (2)Cov(F,e)=0,即F和e是不相关的;
    (3)D(F)=Im,即F1,F2,…,Fm不相关且方差均为1;
    (4)D(e)=,即e1,e2,…,ep不相关,且方差不同。
    我们把F称为X的公共因子或潜因子,矩阵A称为因子载荷矩阵,e称为X的特殊因子。
    A=(aij),aij为因子载荷。数学上可以证明,因子载荷aij就是第i变量与第j因子的相关系数,反映了第i变量在第j因子上的重要性。

                                                                                                                   -The 56th day
    回复

    使用道具 举报

    赤眸        

    5

    主题

    13

    听众

    359

    积分

    升级  19.67%

  • TA的每日心情
    开心
    2017-9-15 09:46
  • 签到天数: 90 天

    [LV.6]常住居民II

    自我介绍
    不念过去,不恋曾经。

    群组2016国赛备战群组

    因子模型的意义:
    模型中F1,F2,…,Fm叫做主因子或公共因子,它们是在各个原观测变量的表达式中都共同出现的因子,是相互独立的不可观测的理论变量。公共因子的含义,必须结合具体问题的实际意义而定。e1,e2,…,ep叫做特殊因子,是向量x的分量xi(i=1,2,…,p)所特有的因子,各特殊因子之间以及特殊因子与所有公共因子之间都是相互独立的。模型中载荷矩阵A中的元素(aij)是为因子载荷。因子载荷aij是xi与Fj的协方差,也是xi与Fj的相关系数,它表示xi依赖Fj的程度。可将aij看作第i个变量在第j公共因子上的权,aij的绝对值越大(|aij|£1),表明xi与Fj的相依程度越大,或称公共因子Fj对于xi的载荷量越大。为了得到因子分析结果的经济解释,因子载荷矩阵A中有两个统计量十分重要,即变量共同度和公共因子的方差贡献。
    因子载荷矩阵A中第i行元素之平方和记为hi2,称为变量xi的共同度。它是全部公共因子对xi的方差所做出的贡献,反映了全部公共因子对变量xi的影响。hi2大表明x的第i个分量xi对于F的每一分量F1,F2,…,Fm的共同依赖程度大。
    将因子载荷矩阵A的第j列( j =1,2,…,m)的各元素的平方和记为gj2,称为公共因子Fj对x的方差贡献。gj2就表示第j个公共因子Fj对于x的每一分量xi(i= 1,2,…,p)所提供方差的总和,它是衡量公共因子相对重要性的指标。gj2越大,表明公共因子Fj对x的贡献越大,或者说对x的影响和作用就越大。如果将因子载荷矩阵A的所有gj2(j=1,2,…,m)都计算出来,使其按照大小排序,就可以依此提炼出最有影响力的公共因子。
    因子旋转:
    建立因子分析模型的目的不仅是找出主因子,更重要的是知道每个主因子的意义,以便对实际问题进行分析。如果求出主因子解后,各个主因子的典型代表变量不很突出,还需要进行因子旋转,通过适当的旋转得到比较满意的主因子。
    旋转的方法有很多,正交旋转(orthogonal rotation)和斜交旋转(oblique rotation)是因子旋转的两类方法。最常用的方法是最大方差正交旋转法(Varimax)。进行因子旋转,就是要使因子载荷矩阵中因子载荷的平方值向0和1两个方向分化,使大的载荷更大,小的载荷更小。因子旋转过程中,如果因子对应轴相互正交,则称为正交旋转;如果因子对应轴相互间不是正交的,则称为斜交旋转。常用的斜交旋转方法有Promax法等。
    因子得分:
    因子分析模型建立后,还有一个重要的作用是应用因子分析模型去评价每个样品在整个模型中的地位,即进行综合评价。例如地区经济发展的因子分析模型建立后,我们希望知道每个地区经济发展的情况,把区域经济划分归类,哪些地区发展较快,哪些中等发达,哪些较慢等。这时需要将公共因子用变量的线性组合来表示,也即由地区经济的各项指标值来估计它的因子得分。
    设公共因子F由变量x表示的线性组合为:
    Fj=uj1xj1+uj2xj2+…+ujpxjpj=1,2,…,m
    该式称为因子得分函数,由它来计算每个样品的公共因子得分。若取m=2,则将每个样品的p个变量代入上式即可算出每个样品的因子得分F1和F2,并将其在平面上做因子得分散点图,进而对样品进行分类或对原始数据进行更深入的研究。
    但因子得分函数中方程的个数m小于变量的个数p,所以并不能精确计算出因子得分,只能对因子得分进行估计。估计因子得分的方法较多,常用的有回归估计法,Bartlett估计法,Thomson估计法。
    具体方法为:
    (1)回归估计法
    F=Xb=X(X¢X)-1A¢=XR-1A¢(这里R为相关阵,且R=X¢X)。
    (2)Bartlett估计法
    Bartlett估计因子得分可由最小二乘法或极大似然法导出。
    F=(W-1/2A)¢W-1/2A]-1(W-1/2A)¢W-1/2X=(A¢W-1A)-1A¢W-1X
    (3)Thomson估计法
    在回归估计法中,实际上是忽略特殊因子的作用,取R = X ¢X,若考虑特殊因子的作用,此时R = X ¢X+W,于是有:
    F=XR-1A¢=X(X¢X+W)-1A¢
    这就是Thomson估计的因子得分,使用矩阵求逆算法(参考线性代数文献)可以将其转换为:
    F=XR-1A¢=X(I+A¢W-1A)-1W-1A¢

                                                                                                          -The 57th day
    回复

    使用道具 举报

    赤眸        

    5

    主题

    13

    听众

    359

    积分

    升级  19.67%

  • TA的每日心情
    开心
    2017-9-15 09:46
  • 签到天数: 90 天

    [LV.6]常住居民II

    自我介绍
    不念过去,不恋曾经。

    群组2016国赛备战群组

    灰色关联分析法:
    灰色关联度是两个系统或两个因素间关联性大小的量度,它描述系统发展过程中因素间相对变化的情况,也就是变化大小、方向与速度等的相对性。
    如果两因素在发展过程中相对变化态势一致性高,则两者的灰色关联度大;反之,灰色关联度就小。
    所谓灰色关联分析,就是系统的因素分析,是对一个系统发展变化态势的定量比较和反映。灰色关联分析是通过灰色关联度来分析和确定系统因素间的影响程度或因素对系统主行为的贡献测度的一种方法。
    灰色关联分析的基本思想是根据序列曲线几何形状的相似程度来判断其联系是否紧密。曲线越接近,相应序列之间的关联度就越大,反之就越小。灰色关联分析方法弥补了用数理统计作系统分析所导致的缺憾。它对样本量的多少和样本有无规律都同样适用,而且计算量小,十分方便,更不会出现量化结果与定性分析结果不符的情况
    具体步骤:灰色系统关联分析的具体计算步骤如下 :
    (1)确定反映系统行为特征的参考数列和影响系统行为的比较数列
    反映系统行为特征的数据序列,称为参考数列。影响系统行为的因素组成的数据序列,称比较数列。
    (2)对参考数列和比较数列进行无量纲化处理
    由于系统中各因素的物理意义不同,导致数据的量纲也不一定相同,不便于比较,或在比较时难以得到正确的结论。因此在进行灰色关联度分析时,一般都要进行无量纲化的数据处理。
    (3)求参考数列与比较数列的灰色关联系数ξ(Xi)
    所谓关联程度,实质上是曲线间几何形状的差别程度。因此曲线间差值大小,可作为关联程度的衡量尺度。
    (4)求关联度ri
    因为关联系数是比较数列与参考数列在各个时刻(即曲线中的各点)的关联程度值,所以它的数不止一个,而信息过于分散不便于进行整体性比较。因此有必要将各个时刻(即曲线中的各点)的关联系数集中为一个值,即求其平均值,作为比较数列与参考数列间关联程度的数量表示。
    (5)排关联序
    因素间的关联程度,主要是用关联度的大小次序描述,而不仅是关联度的大小。将m个子序列对同一母序列的关联度按大小顺序排列起来,便组成了关联序,记为{x},它反映了对于母序列来说各子序列的“优劣”关系。若r0i>r0j,则称{xi}对于同一母序列{x0}优于{xj},记为{xi}>{xj} ;若r0i表1 代表旗县参考数列、比较数列特征值。

                                                                                                          -The 58th day

       

    回复

    使用道具 举报

    赤眸        

    5

    主题

    13

    听众

    359

    积分

    升级  19.67%

  • TA的每日心情
    开心
    2017-9-15 09:46
  • 签到天数: 90 天

    [LV.6]常住居民II

    自我介绍
    不念过去,不恋曾经。

    群组2016国赛备战群组

    动态BP神经网络预测算法:
    在经典的BP算法以及其他的训练算法中都有很多变量,这些训练算法可以确定一个ANN结构,它们只训练固定结构的ANN权值(包括联接权值和结点转换函数)。在自动设计ANN结构方面,也已有较多的尝试,比如构造性算法和剪枝算法。前一种是先随机化网络,然后在训练过程中有必要地增加新的层和结点;而剪枝法则正好相反。文献[2]中提出了演化神经网络的理念,并把EP算法与BP进行了组合演化;也有很多学者把遗传算法和BP进行结合,但这些算法都以时间复杂度以及空间复杂度的增加为代价。根据Kolmogorov定理,对于任意给定的L2型连续函数f: [ 0, 1 ]n →Rm , f可以精确地用一个三层前向神经网络来实现,因而可以只考虑演化网络的权值和结点数而不影响演化结果。基于此,在BP原有算法的基础上,增加结点数演化因子,然后记录每层因子各异时演化出的结构,最后选取最优的因子及其网络结构,这样就可以避免由于增加或剪枝得到的局部最优。根据实验得知,不同的预测精度也影响网络层神经元的结点数,所以可根据要求动态地建立预测系统。具体步骤如下:
    (1)将输入向量和目标向量进行归一化处理。
        (2)读取输入向量、目标向量,记录输入维数m、输出层结点数n。
        (3)当训练集确定之后,输入层结点数和输出层结点数随之而确定,首先遇到的一个十分重要而又困难的问题是如何优化隐层结点数和隐层数。实验表明,如果隐层结点数过少,网络不能具有必要的学习能力和信息处理能力。反之,若过多,不仅会大大增加网络结构的复杂性(这一点对硬件实现的网络尤其重要),网络在学习过程中更易陷入局部极小点,而且会使网络的学习速度变得很慢。隐层结点数的选择问题一直受到神经网络研究工作者的高度重视。Gorman指出隐层结点数s与模式数N的关系是:s=log2N;Kolmogorov定理表明,隐层结点数s=2n+1(n为输入层结点数);而根据文献[7]:s=sqrt(0.43mn+0.12nn+2.54m+0.77n+0.35)+0.51[7]。
        (4)设置结点数演化因子a。为了快速建立网络,可以对其向量初始化,
    并从小到大排序[4,7]。
        (5)建立BP神经网络。隐含层传递函数用tansig,输出层用logsig,训练函数采用动态自适应BP算法,并制订停止准则:目标误差精度以及训练代数。
        (6)初始化网络。
        (7)训练网络直到满足停止判断准则。
        (8)用测试向量对网络进行预测,并记录误差和逼近曲线,评估其网络的适应性。其适应度函数采取规则化均方误差函数。
        (9)转到(5),选取下一个演化因子,动态增加隐含层结点数,直到最后得到最佳预测网络。

                                                                                                                   -The 59th day
    回复

    使用道具 举报

    赤眸        

    5

    主题

    13

    听众

    359

    积分

    升级  19.67%

  • TA的每日心情
    开心
    2017-9-15 09:46
  • 签到天数: 90 天

    [LV.6]常住居民II

    自我介绍
    不念过去,不恋曾经。

    群组2016国赛备战群组

    灰色预测法:
    灰色预测
    注:参考人口预测论文<纪江版>(灰色预测+时间序列的一次平滑指数预测法)
    1、灰色预测一般有四种类型:
    (1)、数列预测。对某现象随时间的顺延而发生的变化所做的预测定义为数列预测。例如对消费物价指数的预测,需要确定两个变量,一个是消费物价指数的水平。另一个是这一水平所发生的时间。
    (2)、灾变预测。对发生灾害或异常突变时间可能发生的时间预测称为灾变预测。例如对地震时间的预测。
    (3)、系统预测。对系统中众多变量间相互协调关系的发展变化所进行的预测称为系统预测。例如市场中替代商品、相互关联商品销售量互相制约的预测。
    (4)、拓扑预测。将原始数据作曲线,在曲线上按定值寻找该定值发生的所有时点,并以该定值为框架构成时点数列,然后建立模型预测未来该定值所发生的时点。

    2、使用方法前一定要在段前作一个引子,连接问题分析和数据特点,以下便是:
    通过对已知数据的分析,随着时间的变化,排污量一直呈增长趋势,并且增长的很快。在这里利用灰色预测模型对(    )进行预测。
    通过对数据的分析,传统的数理统计预测方法往往需要足够多的数据,而本问题的数据给出的数据偏小,如果采用传统的方法误差太大。根据上述的特点可采用灰色预测模型。
    3、灰色预测具体步骤:
    (1)、首先是数据的检验处理,要求级比
    A、如果不全属于 ,则要做必要的变换处理(如取适当的常数C,作平移变换),使其落入区域中。
    B、若A不成立,则建立GM(1,1)模型
    (2)、建立GM(1,1)模型
    步骤一:一次累加生成数列AGO,(目的是弱化原始时间序列的随机性,增加其稳定程度)

    步骤二:求均值数列


    步骤三:建立GM(1,1)模型相应的白化微分方程

    其中:α称为发展灰数;μ称为内生控制灰数。
    步骤四:求的参数估计a、b(最小二乘法)

    步骤五: 给出累加时间数列预测模型

    步骤六:做差得到原始预测值

    4、检验预测值
    A、残差检验
    (若 <0.2,则达到一般要求;若 <0.1,则效果好
    B\级比偏差值检验
    步骤一;首先有参考数据
    计算出级比 ,再由发展系数a,求出相应级比偏差

    若 <0.2,则达到一般要求;若 <0.1,则效果好
    程序实现:
    采用EXCEl的方法实现灰色预测。

                                                                                                                 -The 60th day
    回复

    使用道具 举报

    赤眸        

    5

    主题

    13

    听众

    359

    积分

    升级  19.67%

  • TA的每日心情
    开心
    2017-9-15 09:46
  • 签到天数: 90 天

    [LV.6]常住居民II

    自我介绍
    不念过去,不恋曾经。

    群组2016国赛备战群组

       每日一建模。坚持60天。转眼间两个月过去了,回想起过去两个月的每一天,我都会登录数学中国网站,发表一篇帖子。逐渐就形成了一种习惯,成为了我生活中的一部分。这次活动也让我收获很多数学建模的知识,很开心,很高兴能参加此类活动,祝数学中国越办越好!   -赤眸

                                                                                                                 -The END
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-8-19 13:36 , Processed in 0.643942 second(s), 93 queries .

    回顶部