发明内容
本发明实施例提供了一种基于卫星时序关联关系算法的优化方法及装置,以解决卫星时序关联关系算法中挖掘出来的规则混杂的问题,减少挖掘出无意义规则数量。
根据本发明的一实施例,提供了一种基于卫星时序关联关系算法的优化方法,包括以下步骤:
获取经过预处理的卫星时序数据,并将卫星时序数据输入至关联关系分析算法;
关联关系分析算法基于卫星时序数据,对卫星时序数据中的多条时间序列进行知识挖掘,以挖掘出序列间的频繁模式;
对挖掘出的序列间的频繁模式进行优化,筛选出更具有关联性的频繁模式,删减无意义频繁模式。
进一步地,在挖掘出序列间的频繁模式之前还包括:挖掘序列内的频繁模式。
进一步地,在挖掘序列内的频繁模式中包括:
设定的最小支持度计数、最大支持度计数及连接的最大长度;其中,最小支持度计数记为min_s,最大支持度计数记为max_s,连接的最大长度记为windowsize;
选出长度为1的序列内的频繁模式,长度为1的频繁模式为还未连接的序列内的频繁模式集,将未连接的序列内的频繁模式集计为IFPS_1;
将IFPS_1内的符号两两相连,生成长度为2的候选频繁模式集,对候选频繁模式集进行扫描,找出每个候选频繁模式的位置列表,并记录为候选频繁模式集位置列表;
基于候选频繁模式集位置列表,将一个候选频繁模式的位置列表长度分别与设定的min_s及max_s进行比较,如果候选频繁模式在min_s至max_s范围内,即认定该候选频繁模式为频繁模式,将候选频繁模式加入IFPS_2中,否则,则删除该候选频繁模式;其中,IFPS_2为长度为2的频繁模式集;
用两个长度为k-1的频繁模式生成长度为k的候选频繁模式,判断两个长度为K-1的频繁模式中的第一个频繁模式去除第一个符号后的序列是否和第二个模式去除最后一个符号后的序列相同,如果相同,则将这两个频繁模式进行连接;
利用该两个频繁模式的位置列表生成新的位置列表,若新位置列表长度符合min_s及max_s的支持度范围,则将该候选频繁模式加入长度为k的频繁模式集中;
重复执行“在用两个长度为k-1的频繁模式生成长度为k的候选频繁模式时”和“利用这两个频繁模式的位置列表生成新的位置列表”的步骤及之后的步骤,直至频繁模式长度达到设定的windowsize,以挖掘出所有的序列内频繁模式。
进一步地,在挖掘出序列间的频繁模式中包括:
将FPS_1中的不同卫星参数间的频繁模式两两连接,生成长度为2的序列间候选频繁模式;其中,FPS_1为序列内的单序列频繁模式;
通过序列内频繁模式的位置列表,生成长度为2的序列间候选频繁模式的位置列表,若该位置列表长度符合min_s至max_s支持度范围,则将该候选频繁模式加入到长度为2的FPS_2中;其中,min_s最小支持度计数,max_s为最大支持度数,FPS_2为序列间频繁模式集;
用两个长度为k-1的频繁模式生成长度为k的序列间候选频繁模式,判断两个长度为K-1的频繁模式中的第一个频繁模式与第二频繁模块是否有符号完全相同的参数,如果有完全相同的参数,则将两个频繁模式进行连接;
利用该两个频繁模式的位置列表生成新的位置列表,若新位置列表长度符合min_s及max_s的支持度范围,则将该候选频繁模式加入长度为k的FPS_k中;其中,FPS_k为序列间频繁模式集;
重复以上步骤,直至频繁模式的长度达到了规定的maxBlocks,以挖掘出所有序列间频繁模式;其中,maxBlocks为序列间频繁模式最大连接长度。
进一步地,在对挖掘出的序列间的频繁模式进行优化中包括:
对n个源参数频繁模式指向1个目标参数频繁模式进行优化,删除其余无意义的源参数频繁模式;
对1个源参数频繁模式指向n个目标参数频繁模式进行优化,删除其余无意义的目标参数频繁模式。
进一步地,在对n个源参数频繁模式指向1个目标参数频繁模式进行优化,删除其余无意义的源参数频繁模式中包括:
对挖掘出的长度为2的频繁模式,设左侧为源参数频繁模式,右侧为目标参数频繁模式;
将左侧的n个源参数频繁模式的位置与右侧的1个目标参数频繁模式的位置进行比较;
选择与目标参数最近的源参数频繁模式作为所有频繁模式的代表,并删除其余无意义的源参数频繁模式。
进一步地,在对1个源参数频繁模式指向n个目标参数频繁模式进行优化,删除其余无意义的目标参数频繁模式中包括:
对挖掘出的长度为2的频繁模式,设左侧为1个源参数频繁模式,右侧为n个目标参数频繁模式;
将左侧的1个源参数频繁模式的位置与右侧的n个目标参数频繁模式的位置进行比较;
选择与目标参数最近的源参数频繁模式作为所有频繁模式的代表,并删除其余无意义的目标参数频繁模式。
一种基于卫星时序关联关系算法的优化装置,包括:
数据获取模块,用于获取经过预处理的卫星时序数据,并将卫星时序数据输入至关联关系分析算法;
算法挖掘模块,用于关联关系分析算法基于卫星时序数据,对卫星时序数据中的多条时间序列进行知识挖掘,以挖掘出序列间的频繁模式;
模式优化模块,用于对挖掘出的序列间的频繁模式进行优化,筛选出更具有关联性的频繁模式,删减无意义频繁模式。
进一步地,在模式优化模块包括:
源参数优化单元,用于对n个源参数频繁模式指向1个目标参数频繁模式进行优化,删除其余无意义的源参数频繁模式;
目标参数优化单元,对1个源参数频繁模式指向n个目标参数频繁模式进行优化,删除其余无意义的目标参数频繁模式。
进一步地,源参数优化单元删除其余无意义的源参数频繁模式中包括:
对挖掘出的长度为2的频繁模式,设左侧为源参数频繁模式,右侧为目标参数频繁模式;
将左侧的n个源参数频繁模式的位置与右侧的1个目标参数频繁模式的位置进行比较;
选择与目标参数最近的源参数频繁模式作为所有频繁模式的代表,并删除其余无意义的源参数频繁模式;
目标参数优化单元删除其余无意义的目标参数频繁模式中包括:
对挖掘出的长度为2的频繁模式,设左侧为源参数频繁模式,右侧为目标参数频繁模式;
将左侧的n个源参数频繁模式的位置与右侧的1个目标参数频繁模式的位置进行比较;
选择与目标参数最近的源参数频繁模式作为所有频繁模式的代表,并删除其余无意义的源参数频繁模式。
本发明实施例中的基于卫星时序关联关系算法的优化方法及装置中,方法包括:获取经过预处理的卫星时序数据,并将卫星时序数据输入至关联关系分析算法;关联关系分析算法基于卫星时序数据,对卫星时序数据中的多条时间序列进行知识挖掘,以挖掘出序列间的频繁模式;对挖掘出的序列间的频繁模式进行优化,筛选出更具有关联性的频繁模式,删减无意义频繁模式。对卫星时序数据中挖掘出序列间的频繁模式,并且对挖掘出的序列间的频繁模式进行优化,删减无意义频繁模式;通过对卫星时序关联关系分析算法进行优化,筛选出来有意义的时序关联规则,以解决卫星时序关联关系算法中挖掘出来的规则混杂的问题,大量减少卫星时序关联关系分析算法中挖掘出来的无意义规则的数量。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
参见图2至图7,根据本发明一实施例,提供了一种基于卫星时序关联关系算法的优化方法,包括以下步骤:
S101:获取经过预处理的卫星时序数据,并将卫星时序数据输入至关联关系分析算法;
S102:关联关系分析算法基于卫星时序数据,对卫星时序数据中的多条时间序列进行知识挖掘,以挖掘出序列间的频繁模式;
S103:对挖掘出的序列间的频繁模式进行优化,筛选出更具有关联性的频繁模式,删减无意义频繁模式。
本发明实施例中的基于卫星时序关联关系算法的优化方法及装置中,方法包括:获取经过预处理的卫星时序数据,并将卫星时序数据输入至关联关系分析算法;关联关系分析算法基于卫星时序数据,对卫星时序数据中的多条时间序列进行知识挖掘,以挖掘出序列间的频繁模式;对挖掘出的序列间的频繁模式进行优化,筛选出更具有关联性的频繁模式,删减无意义频繁模式。对卫星时序数据中挖掘出序列间的频繁模式,并且对挖掘出的序列间的频繁模式进行优化,删减无意义频繁模式;通过对卫星时序关联关系分析算法进行优化,筛选出来有意义的时序关联规则,以解决卫星时序关联关系算法中挖掘出来的规则混杂的问题,大量减少卫星时序关联关系分析算法中挖掘出来的无意义规则的数量。
实施例中,在挖掘出序列间的频繁模式之前还包括:挖掘序列内的频繁模式。
时间序列的频繁模式相当于经典关联关系分析算法中的频繁项集,不同的是频繁模式引入了顺序性,即若两个模式中的内容即使一样,如果顺序不同的话,这两个模式就是两种不同的模式。
频繁模式的挖掘通过“连接->生成候选频繁模式->依据支持度生成频繁模式”的流程进行。在挖掘出序列间的频繁模式之前先进行挖掘序列内的频繁模式。
实施例中,在挖掘序列内的频繁模式中包括:
S201:设定的最小支持度计数、最大支持度计数及连接的最大长度;其中,最小支持度计数记为min_s,最大支持度计数记为max_s,连接的最大长度记为windowsize;
S202:选出长度为1的序列内的频繁模式,长度为1的频繁模式为还未连接的序列内的频繁模式集,将未连接的序列内的频繁模式集计为IFPS_1;
S203:将IFPS_1内的符号两两相连,生成长度为2的候选频繁模式集,对候选频繁模式集进行扫描,找出每个候选频繁模式的位置列表,并记录为候选频繁模式集位置列表;
S204:基于候选频繁模式集位置列表,将一个候选频繁模式的位置列表长度分别与设定的min_s及max_s进行比较,如果候选频繁模式在min_s至max_s范围内,即认定该候选频繁模式为频繁模式,将候选频繁模式加入IFPS_2中,否则,则删除该候选频繁模式;其中,IFPS_2为长度为2的频繁模式集;
S205:用两个长度为k-1的频繁模式生成长度为k的候选频繁模式,判断两个长度为K-1的频繁模式中的第一个频繁模式去除第一个符号后的序列是否和第二个模式去除最后一个符号后的序列相同,如果相同,则将这两个频繁模式进行连接;
S206:利用该两个频繁模式的位置列表生成新的位置列表,若新位置列表长度符合min_s及max_s的支持度范围,则将该候选频繁模式加入长度为k的频繁模式集中;
S207:重复执行“在用两个长度为k-1的频繁模式生成长度为k的候选频繁模式时”和“利用这两个频繁模式的位置列表生成新的位置列表”的步骤及之后的步骤,直至频繁模式长度达到设定的windowsize,以挖掘出所有的序列内频繁模式。
以下为挖掘序列内频繁模式的具体步骤:
步骤一:首先给定最小支持度计数min_s,最大支持度计数max_s,连接的最大长度windowsize。
步骤二:选出长度为1,即还未连接的序列内频繁模式集(IFPS_1)。本发明中,IFPS_1即为所有离散化符号:f,u,l,d,s。
步骤三:将IFPS_1内的符号两两连接,生成长度为2的候选频繁模式集;考虑到顺序性,候选频繁模式共有5*5=25个。然后对候选频繁模式集进行扫描一遍,将这25个频繁模式的所有位置列表找出并记录;
具体地,频繁模式的位置列表记录了一个模式的起始位置和结束位置。例如,模式“ud”的位置列表为[[22,23],[60.61],…,[3304,3305]]。该位置列表记录下后,之后频繁模式的挖掘,无论是序列内挖掘还是序列间挖掘,都无需重复扫描数据集,而只需要根据不断迭代的位置列表进行挖掘,大大缩短了挖掘时间。因此,有多少个卫星参数,就扫描多少次数据集。
步骤四:找出频繁模式的位置列表后,将一个频繁模式的位置列表长度(即出现了多少次)与设定的最小支持度计数(min_s)、最大支持度计数(max_s)进行比较;如果候选频繁模式在min_s至max_s范围内,即认定该模式为频繁模式,将其加入长度为2的频繁模式集(IFPS_2)中。反之,则删除该模式。
步骤五:在用两个长度为k-1的频繁模式生成长度为k的候选频繁模式时,如图6所示的方法进行连接,判断第一个频繁模式的去除第一个符号后的序列是否和第二个模式去除最后一个符号后的序列相同;如果相同,则将这两个频繁模式进行连接。
步骤六:利用该两个频繁模式的位置列表生成新的位置列表;如果新位置列表长度符合min_s及max_s支持度范围,则将该候选模式加入长度为k的频繁模式集(IFPS_k)中。
步骤七:重复步骤五和步骤六,直至频繁模式长度达到了设定的最大长度windowsize;至此,挖掘出所有的序列内频繁模式。
实施例中,在挖掘出序列间的频繁模式中包括:
S301:将FPS_1中的不同卫星参数间的频繁模式两两连接,生成长度为2的序列间候选频繁模式;其中,FPS_1为序列内的单序列频繁模式;
S302:通过序列内频繁模式的位置列表,生成长度为2的序列间候选频繁模式的位置列表,若该位置列表长度符合min_s至max_s支持度范围,则将该候选频繁模式加入到长度为2的FPS_2中;其中,min_s最小支持度计数,max_s为最大支持度数,FPS_2为序列间频繁模式集;
S303:用两个长度为k-1的频繁模式生成长度为k的序列间候选频繁模式,判断两个长度为K-1的频繁模式中的第一个频繁模式与第二频繁模块是否有符号完全相同的参数,如果有完全相同的参数,则将两个频繁模式进行连接;
S304:利用该两个频繁模式的位置列表生成新的位置列表,若新位置列表长度符合min_s及max_s的支持度范围,则将该候选频繁模式加入长度为k的FPS_k中;其中,FPS_k为序列间频繁模式集;
S305:重复以上步骤,直至频繁模式的长度达到了规定的maxBlocks,以挖掘出所有序列间频繁模式;其中,maxBlocks为序列间频繁模式最大连接长度。
以下为挖掘序列间频繁模式的具体步骤:
首先给定单序列(序列内)频繁模式FPS_1,最小支持度计数min_s和序列间模式最大连接长度maxBlocks;定义一个序列间模式的位置为第一个序列内模式和最后一个序列内模式的起始位置。从FPS_1开始,将不同序列之间的频繁模式进行连接,生成序列间频繁模式集。
步骤一:将FPS_1中的不同卫星参数间的频繁模式两两连接(同一卫星参数的频繁模式的连接无意义),生成长度为2的序列间候选频繁模式。
步骤二:通过序列内频繁模式的位置列表,生成长度为2的序列间候选频繁模式的位置列表;如果该位置列表长度符合支持度范围,则将该候选频繁模式加入到长度为2的序列间频繁模式集(FPS_2)中。
进一步地,我们最终生成的关联规则形式为A(T)->B,表示在A事件发生后的T时间内,很有可能发生B事件。因此需要考虑两个模式之间的时间间隔条件。该时间间隔t由这两个模式的起始位置s1,s2决定,即t=s2-s1。这个时间间隔如果太长,则无法体现“短时间内改变”的概念。因此t不能太长。本发明中设置t的范围为t∈[1,4]。
步骤三:用两个长度为k-1的频繁模式生成长度为k的序列间候选频繁模式,方法和序列内的类似,如图7所示。
步骤四:通过生成的位置列表长度来判断是否将该模式加入长度为k的序列间频繁模式集FPS_k中。
步骤五:重复以上步骤,直到频繁模式的长度达到了规定的最大长度maxBlocks。至此,挖掘出了所有序列间频繁模式。
实施例中,在对挖掘出的序列间的频繁模式进行优化中包括:
对n个源参数频繁模式指向1个目标参数频繁模式进行优化,删除其余无意义的源参数频繁模式;
对1个源参数频繁模式指向n个目标参数频繁模式进行优化,删除其余无意义的目标参数频繁模式。
具体地,对挖掘出的序列间频繁模式进行优化中包括,序列间频繁模式可能会出现两种需要优化的情况:
一、n个源参数频繁模式指向1个目标参数频繁模式;
二、1个源参数频繁模式指向n个目标参数频繁模式。
针对第一种情况,需要舍弃n-1个源参数频繁模式;针对第二种情况,需要舍弃n-1个目标参数频繁模式。舍弃采用“舍远求近”的原则,即舍弃时间间隔较远的频繁模式,保留时间间隔最近的频繁模式。一般来说,上述两种情况会同时出现,那么在算法设计中需要同时进行考量。
实施例中,在对n个源参数频繁模式指向1个目标参数频繁模式进行优化,删除其余无意义的源参数频繁模式中包括:
对挖掘出的长度为2的频繁模式,设左侧为源参数序列内频繁模式,右侧为目标参数序列内频繁模式;
将左侧的n个源参数频繁模式的位置与右侧的1个目标参数频繁模式的位置进行比较;
选择与目标参数最近的源参数频繁模式作为所有频繁模式的代表,并删除其余无意义的源参数频繁模式。
具体地,n个源参数频繁模式指向1个目标参数频繁模式中:
对挖掘出的长度为2的频繁模式,设左侧为源参数序列内频繁模式,右侧为目标参数序列内频繁模式。该种情况在位置列表上的表现为,在一定时间范围内,源参数频繁模式的位置有n个,目标参数频繁模式的位置只有1个;拿n个源参数频繁模式的位置与这1个目标参数频繁模式的位置进行比较,选择与之间隔最近的源参数频繁模式,作为所有频繁模式的代表,并删除其余源参数频繁模式。
实施例中,在对1个源参数频繁模式指向n个目标参数频繁模式进行优化,删除其余无意义的目标参数频繁模式中包括:
对挖掘出的长度为2的频繁模式,设左侧为1个源参数频繁模式,右侧为n个目标参数频繁模式;
将左侧的1个源参数频繁模式的位置与右侧的n个目标参数频繁模式的位置进行比较;
选择与目标参数最近的源参数频繁模式作为所有频繁模式的代表,并删除其余无意义的目标参数频繁模式。
具体地,1个源参数频繁模式指向n个目标参数频繁模式中:
与第一种情况类似,只需将源参数频繁模式和目标参数频繁模式调换处理即可。
使用以上两步进行优化后,会筛掉大量无意义序列间频繁模式,避免了之后无意义规则的生成。
实施例2
参见图5,根据本发明的另一实施例,提供了一种基于卫星时序关联关系算法的优化装置,包括:
数据获取模块100,用于获取经过预处理的卫星时序数据,并将卫星时序数据输入至关联关系分析算法;
算法挖掘模块200,用于关联关系分析算法基于卫星时序数据,对卫星时序数据中的多条时间序列进行知识挖掘,以挖掘出序列间的频繁模式;
模式优化模块300,用于对挖掘出的序列间的频繁模式进行优化,筛选出更具有关联性的频繁模式,删减无意义频繁模式。
本发明实施例中的基于卫星时序关联关系算法的优化方法及装置中,装置包括:数据获取模块100、算法挖掘模块200及模式优化模块300;对卫星时序数据中挖掘出序列间的频繁模式,并且对挖掘出的序列间的频繁模式进行优化,删减无意义频繁模式;通过对卫星时序关联关系分析算法进行优化,筛选出来有意义的时序关联规则,以解决卫星时序关联关系算法中挖掘出来的规则混杂的问题,大量减少卫星时序关联关系分析算法中挖掘出来的无意义规则的数量。
实施例中,在模式优化模块包括:
源参数优化单元,用于对n个源参数频繁模式指向1个目标参数频繁模式进行优化,删除其余无意义的源参数频繁模式;
目标参数优化单元,对1个源参数频繁模式指向n个目标参数频繁模式进行优化,删除其余无意义的目标参数频繁模式。
具体地,对挖掘出的序列间频繁模式进行优化中包括,序列间频繁模式可能会出现两种需要优化的情况:
一、n个源参数频繁模式指向1个目标参数频繁模式;
二、1个源参数频繁模式指向n个目标参数频繁模式。
针对第一种情况,需要舍弃n-1个源参数频繁模式;针对第二种情况,需要舍弃n-1个目标参数频繁模式。舍弃采用“舍远求近”的原则,即舍弃时间间隔较远的频繁模式,保留时间间隔最近的频繁模式。一般来说,上述两种情况会同时出现,那么在算法设计中需要同时进行考量。
实施例中,源参数优化单元删除其余无意义的源参数频繁模式中包括:
对挖掘出的长度为2的频繁模式,设左侧为源参数序列内频繁模式,右侧为目标参数序列内频繁模式;
将左侧的n个源参数频繁模式的位置与右侧的1个目标参数频繁模式的位置进行比较;
选择与目标参数最近的源参数频繁模式作为所有频繁模式的代表,并删除其余无意义的源参数频繁模式;
目标参数优化单元删除其余无意义的目标参数频繁模式中包括:
对挖掘出的长度为2的频繁模式,设左侧为源参数频繁模式,右侧为目标参数频繁模式;
将左侧的n个源参数频繁模式的位置与右侧的1个目标参数频繁模式的位置进行比较;
选择与目标参数最近的源参数频繁模式作为所有频繁模式的代表,并删除其余无意义的源参数频繁模式。
具体地,n个源参数频繁模式指向1个目标参数频繁模式中:
对挖掘出的长度为2的频繁模式,设左侧为源参数序列内频繁模式,右侧为目标参数序列内频繁模式。该种情况在位置列表上的表现为,在一定时间范围内,源参数频繁模式的位置有n个,目标参数频繁模式的位置只有1个;拿n个源参数频繁模式的位置与这1个目标参数频繁模式的位置进行比较,选择与之间隔最近的源参数频繁模式,作为所有频繁模式的代表,并删除其余源参数频繁模式。
具体地,1个源参数频繁模式指向n个目标参数频繁模式中:
与第一种情况类似,只需将源参数频繁模式和目标参数频繁模式调换处理即可。
使用以上两步进行优化后,会筛掉大量无意义序列间频繁模式,避免了之后无意义规则的生成。
本发明的有益效果在于:
1.获取经过预处理的卫星时序数据,并将卫星时序数据输入至关联关系分析算法;关联关系分析算法基于卫星时序数据,对卫星时序数据中的多条时间序列进行知识挖掘,以挖掘出序列间的频繁模式;对挖掘出的序列间的频繁模式进行优化,筛选出更具有关联性的频繁模式,删减无意义频繁模式。对卫星时序数据中挖掘出序列间的频繁模式,并且对挖掘出的序列间的频繁模式进行优化,删减无意义频繁模式;通过对卫星时序关联关系分析算法进行优化,筛选出来有意义的时序关联规则,以解决卫星时序关联关系算法中挖掘出来的规则混杂的问题,大量减少卫星时序关联关系分析算法中挖掘出来的无意义规则的数量。
2.本发明将该关联关系分析算法对实时卫星遥测参数进行分析,并能适用于多条卫星参数序列。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。