《一种非参数回归方法.pdf》由会员分享,可在线阅读,更多相关《一种非参数回归方法.pdf(19页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN101968780A43申请公布日20110209CN101968780ACN101968780A21申请号201010295321022申请日20100928G06F17/0020060171申请人天津大学地址300072天津市南开区卫津路92号72发明人贾宁马寿峰朱宁郑亮王鹏飞74专利代理机构天津市北洋有限责任专利代理事务所12201代理人温国林54发明名称一种非参数回归方法57摘要本发明公开了一种非参数回归方法,涉及预测方法领域,根据预测对象确定预测量;从预测对象中获取预测量的属性P1PN,将属性P1PN作为预测对象状态的各个分量,N为属性的个数;收集模式;根据收集到的。
2、模式,利用KD树数据结构构建模式库;采集预测对象状态的参数,由参数构成预测对象当前状态向量,按照预设准则在模式库中搜索与当前状态向量相似的K个模式,并获取K个模式对应的待预测量的值Y1YN;将获取到的待预测量的值Y1YN代入预测函数中,得到预测值YFORCAST;经过时间T,采集待预测量的真实值YREAL,根据预测值YFORCAST和真实值YREAL计算预测误差E,根据预测误差E对预设准则中的权值、模式库的结构进行调整。通过该方法提高了非参数回归预测的计算速度和预测精度,满足实际应用中的需要。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书11页附图5页CN1。
3、01968780A1/2页21一种非参数回归方法,其特征在于,所述方法包括以下步骤1根据预测对象确定预测量;2从所述预测对象中获取预测量的属性P1PN,将所述属性P1PN作为所述预测对象状态的各个分量,N为属性的个数;3收集模式;4根据收集到的所述模式,利用KD树数据结构构建模式库;5采集所述预测对象状态的参数,由所述参数构成所述预测对象当前状态向量,按照预设准则在所述模式库中搜索与当前状态向量相似的K个模式,并获取所述K个模式对应的待预测量的值Y1YN;6将获取到的所述待预测量的值Y1YN代入预测函数中,得到预测值YFORCAST;7经过时间T,采集待预测量的真实值YREAL,根据所述预测值。
4、YFORCAST和所述真实值YREAL计算预测误差E,根据所述预测误差E对所述预设准则中的权值、所述模式库的结构进行调整。2根据权利要求1所述的非参数回归方法,其特征在于,步骤4中的所述根据收集到的所述模式,利用KD树数据结构构建模式库具体为构建第一参数P、第二参数DEPTH和第三参数DS,第一参数P用于构造KD树的点集、第二参数DEPTH用于表示递归深度,第三参数DS用于表示点集中每个点的维数D;判断第一参数P是否只有一个节点,如果是,建立并储存节点的叶子并返回;如果否,令维数DDEPTHDS,找出第一参数P内各点第D维中值,以中值为分割线将第一参数P划分成两部分,分别记为第一部分P1,第二。
5、部分P2,同时生成一个节点V用来存储分割第一参数P的中值;将第一部分P1、DEPTH1和第三参数DS作为参数,递归执行,直到返回,并将返回的节点存储为VL;将第二部分P2、DEPTH1和第三参数DS作为参数,递归执行,直到返回,并将返回的节点存储为VR;分别将VL和VR置为节点V的左右孩子。3根据权利要求1所述的非参数回归方法,其特征在于,步骤5中的所述预设准则具体为在所述模式库中获取K个与所述当前状态向量距离最近的模式,所述距离为其中,H1为当前状态向量,H2为模式,H1为当前状态向量的分量,H2为模式的分量,A1,A2,AN为属性P1PN的权值,其中满足A1A2LAN1,0AI1,1IN。。
6、4根据权利要求3所述的非参数回归方法,其特征在于,所述K的取值具体为设定一个区域半径R,在以所述当前状态向量为圆心,R为半径的区域内搜索K个最接近的模式,如果区域内的历史模式小于等于K个,就以所有历史模式作为相似模式;当区域内的历史模式大于K个,根据距离找最近的K个模式作为相似模式。5根据权利要求1所述的非参数回归方法,其特征在于,步骤5中所述按照预设准则在模式库中搜索与当前状态向量相似的K个模式,具体为权利要求书CN101968780A2/2页3在搜索区域内搜索到的模式个数为N,当N大于K时,对于这N个模式中的每一个模式,构造一个数据对,其中V是模式本身,B表示模式到当前状态向量的距离,以N。
7、个数据对为元素,B为关键字构造一个大顶堆,输出并删除堆顶元素,将剩余部分重新调整为大顶堆,重复以上步骤NK次,则堆内剩余的K个元素就是与所述当前状态向量距离最近的K个模式;当N小于等于K时,则,以这N个模式作为与所述当前状态向量距离最近的模式。6根据权利要求1所述的非参数回归方法,其特征在于,步骤7中所述根据预测误差E对预设准则中的权值进行调整具体为定义能量误差函数EDISTANCE,E为预测误差,A1,A2,AN为属性P1PN的权值,DISTANCE为当前状态向量X与已有模式之间的距离,为调整后的权值,为调整前的权值,7根据权利要求1所述的非参数回归方法,其特征在于,步骤7中所述根据预测误差。
8、E对模式库的结构进行调整具体为对模式库进行增加模式的操作、对模式库进行删除模式的操作和对模式库进行平衡的操作。8根据权利要求7所述的非参数回归方法,其特征在于,所述对模式库进行增加模式的操作具体为设定第一阈值和第二阈值,测得预测对象当前的状态,在模式库中搜寻以当前的状态为中心,第一阈值为半径的区域,如果区域内存在的已有模式数小于第二阈值,则将当前的状态加入模式库中,否则不做处理。9根据权利要求7所述的非参数回归方法,其特征在于,所述对模式库进行删除模式的操作具体为;为模式库中的每个模式增加一个标识和一个计数器,标识等于1表示为正常模式,标识等于0表示为不良模式,设置误差阈值ET和第三阈值,在T。
9、时刻,如果|YREALYI|/YIET,则计数器加1,当计数器的值大于第三阈值,则将标识置为0,并在模式库中删除不良模式,其中,YI为与当前状态向量相似的模式对应的待预测量P0的值,1IN。10根据权利要求7所述的非参数回归方法,其特征在于,所述对模式库进行平衡的操作具体为设定一个不平衡阈值,当子树的左右子树深度之差大于不平衡阈值时,对模式库进行平衡的操作,否则,不对模式库进行平衡的操作,平衡的操作具体为设置一个列表的最大长度,当叶子节点的列表长度大于最大长度时,则将列表分裂成一个根节点和两个叶子节点。权利要求书CN101968780A1/11页4一种非参数回归方法技术领域0001本发明涉及预。
10、测方法的领域,特别涉及一种非参数回归方法。背景技术0002非参数回归NPR是一种数据驱动的预测技术,是近些年来兴起的一种适合不确定性的、非线性的动态系统的非参数估计方法。非参数回归预测的原理如下假设预测对象的状态X与关心的某个变量Y之间存在某种关系YMX,如果预测对象当前的状态是如果使用非参数回归的方法,则可以运用如下的过程来预测当预测对象的状态为时的值00031、收集足够多的已知数据X1,Y1XN,YN,并存储成数据集。00042、找出数据集的一个子集合XN,满足对于其中R是由方法使用者定义的“相似”关系,即满足这种关系的X和被认为是类似的。00053、F为和XN之间的映射关系。0006从上。
11、面的过程中可以发现,非参数回归的实质是在模式库中寻找与当前状态相似的历史状态,并把与当前状态相似的历史状态应用于状态预测。将已知数据X1,Y1称作一个模式。模式X,Y中的X称作状态,或者自变量,它是与预测结果有直接影响的量。Y称作状态X对应的结果,或者因变量,是系统的管理者或使用者所关心的量。从模式库中找出与当前状态相似的历史状态过程被称作相似模式搜索,它是非参数回归预测方法的核心,决定了非参数回归预测的计算速度和预测精度。0007在计算速度方面,现有的方法大多是使用线性结构来建立模式库,虽然简单,易于搜索算法的实现,但是由于其结构决定了搜索算法的实现只能按照一维顺序执行,所以其搜索操作所需时。
12、间耗费太长,尤其是样本数据库的规模比较大时,更是无法满足实时性要求。在预测精度方面,现有的方法大多是开环系统,模式库和系统参数一旦设定就不再改变,不能再运行过程中进行调节,因而影响了实际的预测效果。发明内容0008为了解决上述问题,本发明提供了一种非参数回归方法,该方法提高了非参数回归预测的计算速度和预测精度,所述方法包括以下步骤00091根据预测对象确定预测量;00102从所述预测对象中获取预测量的属性P1PN,将所述属性P1PN作为所述预测对象状态的各个分量,N为属性的个数;00113收集模式;00124根据收集到的所述模式,利用KD树数据结构构建模式库;00135采集所述预测对象状态的参。
13、数,由所述参数构成所述预测对象当前状态向量,按照预设准则在所述模式库中搜索与当前状态向量相似的K个模式,并获取所述K个模式对应的待预测量的值Y1YN;说明书CN101968780A2/11页500146将获取到的所述待预测量的值Y1YN代入预测函数中,得到预测值YFORCAST;00157经过时间T,采集待预测量的真实值YREAL,根据所述预测值YFORCAST和所述真实值YREAL计算预测误差E,根据所述预测误差E对所述预设准则中的权值、所述模式库的结构进行调整。0016步骤4中的所述根据收集到的所述模式,利用KD树数据结构构建模式库具体为0017构建第一参数P、第二参数DEPTH和第三参数。
14、DS,第一参数P用于构造KD树的点集、第二参数DEPTH用于表示递归深度,第三参数DS用于表示点集中每个点的维数D;0018判断第一参数P是否只有一个节点,如果是,建立并储存节点的叶子并返回;如果否,令维数DDEPTHDS,找出第一参数P内各点第D维中值,以中值为分割线将第一参数P划分成两部分,分别记为第一部分P1,第二部分P2,同时生成一个节点V用来存储分割第一参数P的中值;0019将第一部分P1、DEPTH1和第三参数DS作为参数,递归执行,直到返回,并将返回的节点存储为VL;0020将第二部分P2、DEPTH1和第三参数DS作为参数,递归执行,直到返回,并将返回的节点存储为VR;0021。
15、分别将VL和VR置为节点V的左右孩子。0022步骤5中的所述预设准则具体为0023在所述模式库中获取K个与所述当前状态向量距离最近的模式,所述距离为其中,H1为当前状态向量,H2为模式,H1为当前状态向量的分量,H2为模式的分量,A1,A2,AN为属性P1PN的权值,其中满足A1A2LAN1,0AI1,1IN。0024所述K的取值具体为设定一个区域半径R,在以所述当前状态向量为圆心,R为半径的区域内搜索K个最接近的模式,如果区域内的历史模式小于等于K个,就以所有历史模式作为相似模式;当区域内的历史模式大于K个,根据距离找最近的K个模式作为相似模式。0025步骤5中所述按照预设准则在模式库中搜索。
16、与当前状态向量相似的K个模式,具体为0026在搜索区域内搜索到的模式个数为N,当N大于K时,对于这N个模式中的每一个模式,构造一个数据对,其中V是模式本身,B表示模式到当前状态向量的距离,以N个数据对为元素,B为关键字构造一个大顶堆,输出并删除堆顶元素,将剩余部分重新调整为大顶堆,重复以上步骤NK次,则堆内剩余的K个元素就是与所述当前状态向量距离最近的K个模式;当N小于等于K时,则,以这N个模式作为与所述当前状态向量距离最近的模式。0027步骤7中所述根据预测误差E对预设准则中的权值进行调整具体为0028定义能量误差函数EDISTANCE,E为预测误差,A1,A2,AN为属性P1PN的权值,D。
17、ISTANCE为当前状态向量X与已有模式之间的距离,为调整后的权值,为调整前的权值,说明书CN101968780A3/11页60029003000310032步骤7中所述根据预测误差E对模式库的结构进行调整具体为0033对模式库进行增加模式的操作、对模式库进行删除模式的操作和对模式库进行平衡的操作。0034所述对模式库进行增加模式的操作具体为0035设定第一阈值和第二阈值,测得预测对象当前的状态,在模式库中搜寻以当前的状态为中心,第一阈值为半径的区域,如果区域内存在的已有模式数小于第二阈值,则将当前的状态加入模式库中,否则不做处理。0036所述对模式库进行删除模式的操作具体为;0037为模式库。
18、中的每个模式增加一个标识和一个计数器,标识等于1表示为正常模式,标识等于0表示为不良模式,设置误差阈值ET和第三阈值,在T时刻,如果|YREALYI|/YIET,则计数器加1,当计数器的值大于第三阈值,则将标识置为0,并在模式库中删除不良模式,其中,YI为与当前状态向量相似的模式对应的待预测量P0的值,1IN。0038所述对模式库进行平衡的操作具体为0039设定一个不平衡阈值,当子树的左右子树深度之差大于不平衡阈值时,对模式库进行平衡的操作,否则,不对模式库进行平衡的操作,平衡的操作具体为设置一个列表的最大长度,当叶子节点的列表长度大于最大长度时,则将列表分裂成一个根节点和两个叶子节点。004。
19、0本发明提供的技术方案的有益效果是0041通过本发明提供的一种非参数回归方法,提高了非参数回归预测的计算速度和预测精度,满足了实际应用中的需要。附图说明0042图1为本发明提供的2维KD树示意图;0043图2为本发明提供的2维KD树划分结果示意图;0044图3为本发明提供的非参数回归过程结构示意图;0045图4为本发明提供的非参数回归方法的流程图;0046图5为本发明提供的2维状态空间中的区域示意图;0047图6为本发明提供的KD树节点与状态空间的对应关系示意图;0048图7为本发明提供的最近模式集合示意图;0049图8为本发明提供的从最近模式集合中找出K个计算结果的示意图;0050图9为本发。
20、明提供的修改后的KD树的叶子结构示意图;0051图10为本发明提供的预测路段示意图。说明书CN101968780A4/11页7具体实施方式0052为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。0053为了解决上述问题,本发明实施例提供了一种非参数回归方法,该方法主要包括以下内容,详见下文描述0054由于利用非参数回归方法进行的预测都是通过分析已有模式做出的,因此它的结构包括逻辑结构和物理结构和搜索数据算法的时空效率都对非参数回归方法性能的优劣起到决定性的作用。对于非参数回归方法,影响其实际应用的一个重要问题是其依赖于对大量历史数据的分析,导致计算速。
21、度较慢,而许多应用非参数回归的问题对实时性的要求是比较高的。如果样本数据库的逻辑结构采用一维线性结构,虽然简单,易于搜索算法的实现,但是由于其结构决定了搜索算法的实现只能按照一维顺序执行,所以其搜索操作所需时间耗费太长,尤其是样本数据库的规模比较大时,更是无法满足实时性要求。因此在本发明中,使用KD树这种非线性的数据结构作为模式库的数据结构。0055KD树是一种由二分搜索树推广而来的用于多维检索的树的结构形式K即为空间的维数。它与二分搜索树不同的是它的每个结点表示K维空间的一个点。在一个二分搜索树中,每一个节点只有一个关键字,对于某一节点来说,数据集合中关键字小于等于该节点的节点成为其做孩子,。
22、大于该节点的节点成为其右孩子。对于多维数据,其形式如多维向量,这种数据的任何一维都可以用来分割数据集合。因此将一个有多维数据构成的数据集合构造成一棵KD树的过程也就是循环的使用数据的每一维划分数据集的过程。也就是说,根节点依据其第一维将整个数据集划分为两部分,凡是第一维小于等于根节点第一维的节点为根节点的左子树,其它的作为根节点的右子树,然后在子树中用第二维进行划分,如此进行,直到将所有节点划分完毕。参见图1,例如对于一个2维的KD树,它对状态空间的划分和最后形成树的形状如图2所示,通过KD树可以较好的实现多维检索。参见图3和图4,对本发明实施例进行详细的介绍,详见下文描述0056101根据预。
23、测对象确定预测量P0;0057其中,当预测对象为高速公路时,通常预测量P0为交通流量、速度等,具体实现时,预测对象P0还可以为其他的对象,本发明实施例对此不做限制。0058102从预测对象中获取预测量P0的属性P1PN,将属性P1PN作为预测对象的状态X的各个分量,N为属性的个数;0059103收集模式;0060其中,模式的形式为其中,是T时刻预测对象的状态X的向量,即属性P1PN在T时刻的值,YTT是TT时刻预测量P0的值,T为预测的时间;即预测量P0在TT时刻的值,一个模式的意义为如果当前时刻预测对象的状态X的向量为X1,LXN,那么经过时间T后待预测量P0的值为Y。0061104根据收集。
24、到的模式,利用KD树数据结构构建模式库;0062其中,模式库中的每一条记录都是一个模式,模式库的容量通常可以存储百万个数量的模式,具体实现时,模式库的容量根据实际应用情况进行设定,本发明实施例对此不做限制。利用KD树数据结构构建模式库的构造算法如下输入三个参数,第一个参数P是用来构造KD树的点集,第二个参数是一个整数DEPTH,表示递归深度。第三个是一个整数说明书CN101968780A5/11页8DS,表示点集中每个点的维数。程序最终返回构造好的KD树根节点,具体为0063构建第一参数P、第二参数DEPTH和第三参数DS,第一参数P用于构造KD树的点集、第二参数DEPTH用于表示递归深度,第。
25、三参数DS用于表示点集中每个点的维数D;0064判断第一参数P是否只有一个节点,如果是,建立并储存节点的叶子并返回;如果否,令维数DDEPTHDS,找出第一参数P内各点第D维中值,以中值为分割线将第一参数P划分成两部分,分别记为第一部分P1,第二部分P2,同时生成一个节点V用来存储分割第一参数P的中值;0065将第一部分P1、DEPTH1和第三参数DS作为参数,递归执行,直到返回,并将返回的节点存储为VL,其中,VLBUILDKDTREEP1,DEPTH1,DS;0066将第二部分P2、DEPTH1和第三参数DS作为参数,递归执行,直到返回,并将返回的节点存储为VR,其中,VRBUILDKDT。
26、REEP2,DEPTH1,DS;0067分别将VL和VR置为节点V的左右孩子。算法的伪代码如下0068BUILDKDTREEP,DEPTH,DS0069IFP只有一个节点0070THENRETURN存储该节点的叶子0071ELSE0072DDEPTHDS0073沿着通过P内各点第D维中值的分割线,将P划分成两部分0074记P1,P2分别为将P划分后的两部分0075VLBUILDKDTREEP1,DEPTH1,DS0076VRBUILDKDTREEP2,DEPTH1,DS0077生成一个节点V用来存储分割集合P的中值,并分别将VL,VR置为V的左右孩子0078RETURNV0079105采集预测。
27、对象的状态X的参数,由参数构成预测对象的当前状态向量,按照预设准则在步骤104构建的模式库中搜索与当前状态向量相似的K个模式,并获取K个模式对应的待预测量P0的值Y1YN;0080其中,由参数构成预测对象当前状态向量的构成方法为现有技术中惯用的方法,具体实现时,本发明实施例对此不做限制。0081其中,预设准则具体为在模式库中获取K个与当前状态向量距离最近的模式,该K个距离最近的模式即与当前状态向量相似的模式。0082该距离为其中,H1为当前状态向量,H2为模式,H1为当前状态向量的分量,H2为模式的分量,A1,A2,AN为属性P1PN的权值,其中满足A1A2LAM1,0AI1,1IN。0083。
28、即通过该式的计算和比较就可以获取到与当前向量距离最近的K个模式。0084其中,K的取值具体为设定一个区域半径R,在以当前状态向量为圆心,R为半径的区域称作查找区域内搜索K个最接近的模式。如果区域内的历史模式小于等于K个,就以所有这些历史模式作为相似模式;当区域内的历史模式大于K个,根据距离找最近的K个模式作为相似模式,参见图5,其中,L1,L2,L3为2维区域的坐标系,REGIONV为状态空间中的一个区域,通过使用KD树,可以得到图6中的KD树节点与状态空间的对应关系。说明书CN101968780A6/11页90085其中,搜索与当前状态向量相似的K个模式的步骤具体为建立一个最近模式集合,储存。
29、搜索区域内的模式,然后对KD树进行遍历,只访问那些与查找区域相交的模式。如果遇到某个区域完全包含于查找区域之中,就将其中所有的模式放入最近模式集合;如果遇到某个区域与待查找区域相交,就遍历这个区域内所有的模式,找出处于查找区域内的模式存入最近模式集合。在搜索区域内搜索到的模式个数为N,当N大于K时,还需要在查找出来的N个模式中寻找K个与当前状态向量距离最近的模式,参见图7P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13为模式集合中的13个模式,图8中给出了从最近模式集合中找出K个计算结果的示意图,过程描述如下0086对于这N个模式中的每一个模式,构造一个数据。
30、对,其中V是模式本身,B表示该模式到当前状态向量的距离,以N个数据对为元素,B为关键字构造一个大顶堆,输出并删除堆顶元素,将剩余部分重新调整为大顶堆,重复以上步骤NK次,则堆内剩余的K个元素就是与当前状态向量距离最近的K个模式。当N小于等于K时,则,以这N个模式作为与所述当前状态向量距离最近的模式。其中,大顶堆就是一个二叉树,对于每一个节点,节点的孩子节点的值都小于节点本身的值。0087下面,给出了搜索与当前状态向量SNOW相似的模式S1SN的程序代码,详见下文描述0088用REGIONV表示节点V代表的区域,LCV,RCV分别表示节点V的左、右子树根节点。包括两个参数,KD树的根节点V和待查。
31、询区域R,并需要一个额外的线性表作为最近点列表0089SEARCHKDTREEV,R0090IFV是叶子0091THEN如果V在R之内,将它存入最近点列表0092ELSEIFREGIONLCV完全包含于R之中0093将LCV内所有的数据点存入最近点列表0094ELSEIFREGIONLCV与R相交0095SEARCHKDTREELCV,R0096ELSEIFREGIONRCV完全包含于R之中0097将RCV内所有的数据点存入最近点列表0098ELSEIFREGIONRCV与R相交0099SEARCHKDTREERCV,R0100可以看到这个算法仍然是递归进行的,可以证明,查找算法的时间复杂度上。
32、界是由于能找出所有点的总数相比是很小的,因此可以认为算法时间复杂度的上界是0101106将步骤105获取到的待预测量P0的值Y1YN代入预测函数中,得到预测值YFORCAST;0102其中,预测函数可以为加权平均函数、神经网络函数等,具体实现时,本发明实施例对此不做限制。0103107经过时间T,采集待预测量P0的真实值YREAL,根据预测值YFORCAST和真实值YREAL说明书CN101968780A7/11页10计算预测误差E,根据预测误差E对预设准则中的权值、模式库的结构进行调整。0104其中,预测误差E|YREALYFORCAST|。0105进一步地,根据预测误差E对预设准则中的权值。
33、进行调整,具体为0106设当前状态向量为XX1,X2,XM,设模式库中与当前状态向量X距离最近的模式是PI,由于模式的属性P1PN的权值A1AM影响了当前状态向量X与已有模式之间的距离DISTANCE,而距离是决定模式是否被选择的关键因素。预测误差E是被测路段真实值YREAL与预测值YFORCAST之间的差值,DISTANCE和E的变化方向是一致的如果当前模式X与数据库中存储的模式差异较大,即DISTANCE较大,则匹配误差E较大;相反,如果DISTANCE较小,X与PI差异较小,则匹配误差E也会较小。因此,DISTANCE和E虽然含义不同,但是可以用E来调节主成分系数,0107定义能量误差函。
34、数EDISTANCE,E为预测误差,A1,A2,AN为属性P1PN的权值,DISTANCE为当前状态向量X与已有模式之间的距离,为调整后的权值,为调整前的权值,0108010901100111即通过上述方法即可对预设准则中的权值A1AM进行了调整,就实现了A1AM随着预测对象的运行而实时的进行调节。0112进一步地,根据预测误差E对模式库的结构进行调整,包括对模式库进行增加模式的操作、对模式库进行删除模式的操作和对模式库进行平衡模式的操作,具体为01131、根据预测误差E对模式库进行增加模式的操作;0114非参数回归方法的一个重要要求是对数据库规模的要求。由于非参数回归往往被应用于对一些复杂实。
35、际系统的分析预测当中,这就意味着最初用建立的历史数据库必然不会包含所有的模式,因此,需要在系统的实时运行过程中,一种情况是需要不断发现历史数据库中不存在的模式,并将其加入模式库中。另一种情况是,系统状态空间中某个区域在模式库内只有很少的数据,当有某个当前状态匹配到该区域时,只有很少的已知模式被找到,特别是当这几个模式中含有某些不良模式时,预测精度将受到影响。因此对历史数据库的反馈环节目的是保证数据有一定的稠密度,又不使数据过分冗余。设定第一阈值W和第二阈值Q,测得预测对象当前的状态为S,在模式库中搜寻以当前的状态S为中心,第一阈值W为半径的区域,如果区域内存在的已有模式数小于第二阈值Q,则将当。
36、前的状态S加入模式库中,否则不做处理,其中,第一阈值W和第二阈值Q根据实际应用情况进行设定,具体实现时,本发明实施例对此不做限制。0115在实际使用中,KD树的插入操作与二叉排序树类似,也可以归纳为一个递归过程。首先从根结点出发,按照一定的标准,选择其中一个孩子插入新的结点。插入的具体算法可以用下面的伪代码描述首先定义函数KIP,表示向量数据点P的第I个分量,再定义函数SEARCHNODE,它接受三个参数,第一个是待查询向量P,第二个是已经建好的KD树根节点,说明书CN101968780A8/11页11第三个表示根节点所在的层数。0116SEARCHNODEP,ROOT,L0117IFROOT。
37、NULL0118RETURNPARENTROOT0119ELSEIF对于0IK1都有KIPKIQ0120RETURNROOT0121ELSEIFKLPKLQ0122RETURNSEARCHNODEP,LCROOT,L1DSDS表示向量的维数0123ELSE0124RETURNSEARCHNODEP,RCROOT,L1DS0125算法INSERTNODE向一棵KD树中插入节点,它接受两个参数,参数一是要插入的点P,参数2是已经建立的KD树的根节点ROOT。如果树内没有与P相等的节点,返回NULL。如果有则返回相等节点指针。0126INSERTNODEP,ROOT0127QSEARCHNODEP,。
38、ROOT,00128IFQNULL0129LLNQDSLNQ是点Q的层数0130IFKLPKLQ0131LCQP0132ELSE0133RCQP0134RETURNNULL0135ELSE0136RETURNQ01372、根据预测误差E对模式库进行删除模式的操作;0138在非参数回归方法的实际运用中,经常需要将新发现的模式加入模式库中,这就难以避免“不良”模式进入模式库。这里对“不良模式”做如下的定义它首先是指实际已经发生的某种模式,是在真实检测到的数据。其次,在这种模式中,状态向量与模式库中已有的模式相似,但该状态对应的因变量与模式库中已有模式的因变量却又很大不同。可见,不良模式的存在可能会。
39、严重影响预测结果的精度。而在实际应用,有多种可能导致不良模式的产生,例如预测对象受到外界的突发干扰等。因此需要有一种机制来消除“不良模式”的影响。在本项目中,采用如下的方式来排除“不良模式”0139为模式库中的每个模式增加一个标识I和一个计数器C,标识I1表示为正常模式,标识I0表示不良模式,模式库中的一个模式就成为,其中X是自变量,Y是因变量,设置误差阈值ET和第三阈值Z,在某个时刻T,如果|YREALYI|/YIET,则计数器C加1,当计数器C的值大于第三阈值Z,则认为PI是不良模式,将标识I置为0,并在模式库中删除不良模式PI,其中,YI为与当前状态向量相似的模式对应的待预测量P0的值,。
40、1IN。具体删除操作与插入操作类似,首先找到要删除的点,然后按照插入操作中所叙述的方法进行相应的调整即可,在此不再赘述。说明书CN101968780A9/11页1201403、根据预测误差E对模式库进行平衡操作。0141与二叉排序树类似,如果频繁的向KD树内插入节点,有可能导致KD树的结构发生“退化”,导致查询操作失去效率。要保证搜索效率,可以引入与平衡二叉树类似的“平衡度”概念,在新的节点插入之后检查节点所在子树的平衡性,如果平衡,则插入结束,如果不平衡则进行相应调整。尽管频繁的对KD树进行插入和删除节点操作并保证其平衡性在理论上是可行的,但是因为KD树的各层节点不能互换,因此它的平衡操作相。
41、比平衡二叉树要困难很多,在最差情况下必须进行整个子树的重建,因此像平衡二叉树那样频繁的平衡调整是不经济的。为了在查找效率和数据维护之间达到平衡,本项目中采用了如下的策略0142原始的KD树中叶子节点只保存有1个元素,本发明实施例中使用的KD树对叶子节点进行了修改,令每个叶子节点为一个线性表,可以存储多个模式。参见图9,图9为修改后的KD树的叶子结构,其中,A、B、C、D和E为叶子节点,ROOT为根节点,经过上述的修改,每个叶子节点将存储若干个数据,当搜索到叶子内部时,就变为线性查找,但由于桶内的元素数量相对整个数据集较小,并不会带来大的效率损失。当有新的模式要插入时,最终需要将模式添加到叶子节。
42、点的数据列表之中。设定一个不平衡阈值R,当子树的左右子树深度之差大于不平衡阈值R时,对模式库进行平衡的操作;否则,当子树的左右子树深度之差小于等于不平衡阈值R时,不对模式库进行平衡的操作,平衡的操作具体为设置一个列表的最大长度,当叶子节点的列表长度大于最大长度时,则将列表分裂成一个根节点和两个叶子节点。其中,平衡阈值R的取值根据实际应用情况进行设定,具体实现时,本发明实施例对此不做限制。其中,具体的平衡操作步骤可以为现有技术中的任意一种平衡操作,具体实现时,本发明实施例对此不做限制。0143综上所述,本发明实施例提供了一种非参数回归方法,通过本发明实施例提供的非参数回归方法提高了非参数回归预测。
43、的计算速度和预测精度,满足了实际应用中的需要。0144下面结合2个实验来验证本发明实施例提供的方法的可行性,详见下文描述表1是使用线性表数据结构的非参数回归方法和本发明实施例提供的方法进行的搜索速度对比,分别使用随机生成的3000个3维模式、30000个5维模式和300000个10维模式构成模式库,其中每一维都是整数;利用随机生成的状态向量作为待匹配点,搜索区域的半径为100,搜索20个最近邻。实验所用的计算机系统双核CPU最高峰值213GHZ,内存为2G,程序使用C语言编写,进行实验0145表1A3000个3维节点搜索耗时01460147表1B30000个5维节点搜索耗时0148说明书CN1。
44、01968780A10/11页130149表1C300000个10维节点搜索耗时01500151从表中可以看出,随着节点数及节点维数上升,线性结构的耗时增长与数据规模基本呈线性、所用时间最多;而本发明实施例提供的方法在数据量小时优势并不明显,而随着数据规模的增大,搜索速度的提升越来越明显。在一些典型的非参数回归的应用中例如短时交通流预测中,模式库的大小非常有可能达到105数量级,因此非线性搜索结构的使用对非参数回归方法非常具有实际意义。0152针对一个经常使用非参数回归来解决的问题交通流短时预测问题来验证本发明实施例提供的方法对预测精度的改进,实验使用的交通流数据来自美国明尼苏达德卢斯大学HT。
45、TP/WWWDUMNEDU/TDRL/INDEXHTM,覆盖了明尼苏达大学双城分校周围的高速公路。这些数据由4000个环形线圈检测器全年不断的采集,并压缩成专有格式,可以根据需要提取任意检测器任意时刻的流量和占有率数据。本实验选用了如图10所示路段,预测路段1如图10所示位置画圈处的交通流情况。收集了2010年1月1日到2010年6月30日的50000条数据,根据路段长度计算,上游检测器处的车辆在一个预测周期左右可以到达下游检测器处,因此选择上游路段2和路段3第T1个预测周期的流量作为自变量,预测第T个周期下游路段1的流量,利用平均相对误差来衡量预测结果的优劣,平均相对误差定义为0153015。
46、4设计了两组对比试验,分别用不带有反馈修正的非参数回归预测方法一般方法和本发明实施例提供的方法对交通流进行预测。0155在使用不带有反馈修正的非参数回归预测方法的实验中,使用前30000条数据建立模式库,剩下的数据作为实验数据;在使用带有反馈修正的预测方法的实验中,用前30000条数据建立模式库,剩下的数据作为实验数据,在预测过程中使用本发明实施例提供的方法,不断改进预设准则中的权值,将新模式加入模式库,删除不良模式以及平衡模式库,得到实验结果如下0156说明书CN101968780A11/11页140157从实验结果中可以看到,本发明实施例提供的方法的精度从总体上好于一般方法,并且40001。
47、50000条数据的预测精度高于3000140000条,说明对预设准则中的权值以及模式库的修正对预测精度的提高有一定作用。0158本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。0159以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。说明书CN101968780A1/5页15图1图2图3说明书附图CN101968780A2/5页16图4说明书附图CN101968780A3/5页17图5图6说明书附图CN101968780A4/5页18图7图8说明书附图CN101968780A5/5页19图9图10说明书附图。