规则挖掘方法和装置、电子设备和计算机可读存储介质与流程

文档序号:18884933发布日期:2019-10-15 20:45阅读:164来源:国知局
规则挖掘方法和装置、电子设备和计算机可读存储介质与流程
本公开涉及计算机
技术领域
,更具体地,涉及一种获取时空关联规则的方法和装置、电子设备和计算机可读存储介质。
背景技术
:随着计算技术、存储技术和高速数据获取技术的迅猛发展,在环境监控、交通、物流、工业生产等领域积累了大量与时间和空间相关的数据资源,发现时空数据之间的关联规则,对于规划建设、信息服务等具有重要的应用价值。例如,空气质量监测站的数据、气象站的数据、交通轨迹数据、工厂排放数据等等海量、多源、不同领域的数据在同一时空内发生,它们中往往包含了多种潜在关联关系。关联规则挖掘是一种在大量数据中发现变量之间的有趣性关系的方法,目的是从数据集中分析数据项之间潜在的关联关系,揭示其中蕴含的对于用户有价值的模式。在实现本发明公开构思的过程中,发明人发现现有技术中至少存在如下问题:现有关联规则的挖掘都是基于显式的事务,如存在于同一购物清单中的所有物品构成一个事务,但是多源异构的时空数据没有显式的这种关系,现有的时空数据分析技术,只能挖掘极值与极值之间的,如较大、较小之类的模糊关系,而没有更为明确的取值区间之间的量化的关系。因此,如何得到时空数据之间的量化的关联关系成为亟需解决的技术问题。技术实现要素:有鉴于此,本公开提供了一种由电子设备实现的获取时空关联规则的方法,包括:获得多个特征,以及每个特征在初始时空粒度上的初始值;基于所述初始值,获得每个特征在多个高层次时空粒度上的取值,其中,所述时空粒度包括时间粒度和空间粒度;所述高层次时空粒度的时间粒度大于所述初始时空粒度的时间粒度,和/或所述高层次时空粒度的空间粒度大于所述初始时空粒度的空间粒度;基于所述每个特征在多个高层次时空粒度上的取值,生成多个时空事务;获得所述多个特征中的条件特征和目标特征,并从所述多个时空事务中获取关于所述条件特征和目标特征的事务信息;基于所述条件特征和目标特征的事务信息,创建时空关联规则。根据本公开的实施例,每个所述时空粒度包括多个时空范围;所述特征的初始值包括特征在初始时空粒度下的多个时空范围内的取值;所述特征在多个高层次时空粒度上的取值包括特征在各个高层次时空粒度下的多个时空范围内的取值;每个所述时空事务包括一个时空范围内的特征和特征在所述时空范围内的取值。根据本公开的实施例,所述从所述多个时空事务中获取关于所述条件特征和目标特征的事务信息包括:确定所述条件特征和所述目标特征的最小公共时空粒度;从所述多个时空事务中获取在所述最小公共时空粒度上的关于所述条件特征和所述目标特征的事务信息。根据本公开的实施例,所述基于所述条件特征和目标特征的事务信息,创建时空关联规则包括:在所述目标特征的数量为一个的情况下,基于层次聚类算法对所述目标特征进行离散化,得到目标特征的多个离散化区间,将每个离散化区间作为一个目标项目;在所述条件特征的数量为多个的情况下,采用多维树形结构同时对多个条件特征进行离散化,得到每个条件特征的离散化区间,将每个离散化区间作为一个条件项目;以及基于所述条件项目和所述目标项目构建时空关联规则。根据本公开的实施例,所述基于所述条件项目和所述目标项目构建时空关联规则包括:依据各条件项目的组合方式,得到多种条件项目集合;在多种时空模式下,构建关于每种所述条件项目集合与所述目标项目的时空关联规则;确定每种时空模式下的各个时空关联规则的支持度和置信度;以及筛选出支持度和置信度满足预设条件的时空关联规则,作为有趣的时空关联规则。根据本公开的实施例,所述基于所述条件项目和所述目标项目构建时空关联规则还包括:确定所述有趣的时空关联规则中各个时空关联规则的支配关系;从所述有趣的时空关联规则中筛选出不被其他时空关联规则所支配的时空关联规则;其中,所述有趣的时空关联规则包括第一关联规则和第二关联规则,若第一关联规则的空间模式和时间模式比第二关联规则大,第一关联规则的前件约束比第二关联规则宽松,第一关联规则的后件约束比第二关联规则紧凑,且第一关联规则的支持度和置信度比第二关联规则高,则认为第一关联规则支配第二关联规则。根据本公开的实施例,对于每种时空模式,确定各个时空关联规则的支持度和置信度包括:将所述各个时空关联规则构成分布式弹性数据集;将所述多个时空事务广播到分布式系统的从节点上,分布式并行计算所述各个时空关联规则的支持度和置信度。本公开另一方面提供了一种获取时空关联规则的装置,包括:初始模块,用于获得多个特征,以及每个特征在初始时空粒度上的初始值;层次模块,基于所述初始值,获得每个特征在多个高层次时空粒度上的取值,其中,所述高层次时空粒度的时间粒度粗于所述初始时空粒度的时间粒度,和/或所述高层次时空粒度的空间粒度粗于所述初始时空粒度的空间粒度;记录模块,用于基于所述每个特征在多个高层次时空粒度上的取值,生成多个时空事务;特征模块,用于获得所述多个特征中的条件特征和目标特征,并从所述多个时空事务中获取关于所述条件特征和目标特征的事务信息;规则模块,用于基于所述条件特征和目标特征的事务信息,创建时空关联规则。本公开另一方面提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据上述任意一项所述的方法。本公开提供了一种计算机可读介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据上述任意一项所述的方法。根据本公开的实施例,可以至少部分地解决现有技术中由于多源异构的时空数据没有显式的这种关系,现有的时空数据分析技术只能提供定性的指导意见的问题,并因此可以实现将时间粒度和空间粒度各不相同的原始时空数据集处理为可供挖掘时空关联规则的特征,得到时空数据之间的量化的关联关系的技术效果。附图说明通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:图1示意性示出了根据本公开实施例的获取时空关联规则的方法的示例性应用场景;图2示意性示出了根据本公开实施例的获取时空关联规则的方法的流程图;图3示意性示出了根据本公开实施例的由初始时间粒度向高层次时间粒度上聚合的示意图;图4示意性示出了根据本公开实施例的由初始空间粒度向高层次空间粒度上聚合的示意图;图5示意性示出了根据本公开实施例的基于层次聚类算法对所述目标特征进行离散化的示意图;图6示意性示出了根据本公开实施例的采用多维树形结构同时对多个条件特征进行离散化的示意图;图7示意性示出了根据本公开另一实施例的获取时空关联规则的方法的流程示意图;图8示意性示出了根据本公开实施例的获取时空关联规则的装置的框图;以及图9示意性示出了根据本公开实施例的适于实现获取时空关联规则的方法的计算机系统的方框图。具体实施方式以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。本公开的实施例提供了一种由电子设备实现的获取时空关联规则的方法,包括:获得多个特征,以及每个特征在初始时空粒度上的初始值;基于初始值,获得每个特征在多个高层次时空粒度上的取值,其中,时空粒度包括时间粒度和空间粒度;高层次时空粒度的时间粒度大于初始时空粒度的时间粒度,和/或高层次时空粒度的空间粒度大于初始时空粒度的空间粒度;基于每个特征在多个高层次时空粒度上的取值,生成多个时空事务;获得多个特征中的条件特征和目标特征,并从多个时空事务中获取关于条件特征和目标特征的事务信息;基于条件特征和目标特征的事务信息,创建时空关联规则。根据本公开的实施例,本公开通过提取时空数据的特征,并在多个时空粒度上进行计算取值,并将多个时空粒度的数据进行时空连接,生成事务,基于用户指定的条件特征和目标特征,查询对应的事务,并取出用户关心的特征数据,基于取出的特征数据进行时空关联规则的创建,这样,可以解决了多源异构的时空数据没有事务,无法直接应用关联规则挖掘的问题,并将时空数据的关联关系进行了量化,形成了精确的关联规则。图1示意性示出了根据本公开实施例的获取时空关联规则的方法的示例性应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的获取时空关联规则的方法的应用场景示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。如图1所示,本公开实施例的获取时空关联规则的方法可以用于挖掘空气污染的各个因素与空气质量之间的量化的关联关系。空气污染问题越来越严峻,严重影响人们的出行和健康,但是,空气污染成因复杂,导致空气污染的因素有很多,例如,车辆110排放的尾气、工厂烟囱120排放的烟气、天气130都是影响空气质量的因素,但是现有技术中,不能确定影响因素的数值范围与空气质量之间的量化的关系,例如,车流量在多大时会导致空气质量差,风速处于什么数值范围时空气质量优。本公开实施例的获取时空关联规则的方法可以用于获得空气污染的各个因素与空气质量之间的量化的关联关系,可以得到例如“无风,温度在[0,8]摄氏度,某火电厂烟气排放量为[1000,1200]毫克每立方米→空气质量差”、“在北京海淀区的周末,车流量在[2,3]千辆每小时,风速在[10,15]米每秒→空气质量优”等较为精确的结论。通过影响因素与空气质量之间的量化的关联关系,可以使政府等决策机构洞悉影响因素的主要影响范围,从而可以采取相应的措施改善空气质量,例如控制车流量或者控制工厂烟气排放量等措施。图2示意性示出了根据本公开实施例的获取时空关联规则的方法的流程图。如图2所示,本公开实施例的获取时空关联规则的方法包括操作s210~操作s250。在操作s210,获得多个特征,以及获得每个特征在初始时空粒度上的初始值。例如,特征可以是pm2.5污染值、车流量、风速、工厂烟气排放量、工厂数量、路段信息、车辆轨迹等。特征可以归为三类:时空静态数据,空间静态时间动态数据,时空动态数据。工厂等兴趣点(poi)、路段信息等数据不随着时间和空间发生改变,属于时空静态数据;空气质量监测站位置、气象站位置、工厂位置固定不变,但是读数随着时间改变,因此pm2.5污染值、风速和工厂烟气排放量等数据属于空间静态时间动态数据;车辆轨迹数据等,时间和空间都会变化,属于时空动态数据。空间表示一般为点(如poi)、线段(如路网)、封闭多边形(如行政边界)等等,时间表示通常为时间戳,或者时间段。根据本公开的实施例,时空粒度包括时间粒度和空间粒度,空间粒度由细到粗可以划分为:栅格——行政区——城市,其中栅格例如可以是1kmx1km的地理区域,每个行政区包括特定的若干个栅格,例如海淀区包括栅格1、栅格2、栅格3等,城市包括特定的若干个行政区,例如北京包括海淀区、朝阳区、西城区等。时间粒度由细到粗可以划分为:5分钟——30分钟——小时——天——周——月。根据本公开的实施例,多源数据在同一时空领域内共同出现认为是一个事务,因此若要建立各个时空特征之间的关联关系,需要对特征进行预处理,目的是将时间粒度、空间粒度各不相同的原始时空数据处理为可供挖掘时空关联规则的数据,根据不同需求进行多层次时空聚合,并通过建立混合索引,加速挖掘。首先,进行特征初始粒度和初始值提取。对于同时具有空间信息和时间信息的数据,例如空气质量数据、气象数据等传感器可以监测的数据,可以以采样周期作为初始时间粒度,以监测范围作为初始空间粒度,不同特征可能具有不同的初始时空粒度,例如,空气质量监测站每隔1小时监测一次,且监测的是各个行政区的空气质量,则空气质量数据(例如pm2.5)的初始时间粒度是1小时,初始空间粒度是行政区,空气质量数据的初始时空粒度是(行政区,1小时)。再例如,气象数据每隔半小时监测一次,且监测范围是各个行政区,则气象数据的初始时空粒度是(行政区,30分钟)。对于车流量等统计数据,可以将统计时的时空粒度作为初始时空粒度,例如,车流量每5分钟统计一次,且统计的是各个栅格内的车流量,则车流量的初始时空粒度是(栅格,5分钟)。如果特征被监测或统计时的粒度低于上述的最小时间粒度或者最小空间粒度,则初始时空粒度可以处理为最小时间粒度或者最小空间粒度,例如,若车流量的统计范围是各个路段,则计算得到各个路段所在栅格内的平均车流量,并将栅格作为车流量的初始空间粒度。每个所述时空粒度包括多个时空范围,例如,时空粒度(行政区、一小时)包括(海淀区,8:00~9:00)、(朝阳区,12:00~13:00)、(西城区,15:00~16:00)等时空范围;时空粒度(栅格,天)包括(栅格1,2019年1月1号)、(栅格2,2019年2月5号)等时空范围。时空粒度(行政区,月)包括(海淀区,2019年1月)、(东城区,2019年2月)等时空范围。例如,获得特征在初始时空粒度上的初始值包括获得特征在初始时空粒度下的多个时空范围内的取值。例如,pm2.5的初始时空粒度是(行政区,1小时),统计获得pm2.5在时空粒度(行政区,1小时)下的各个时空范围内的取值,作为pm2.5初始时空粒度下的初始值,统计结果例如表1所示。表1空间范围时间范围初始值海淀区0:00~1:0064海淀区1:00~2:0070………朝阳区0:00~1:0080朝阳区1:00~2:0060………西城区0:00~1:0075………对于非时间段数据,即没有时间信息的数据,例如火电厂数量、路段信息等数据,因为该些数据在长时间内是固定不变的,因而其时间粒度的影响很小,可以将其处理成最小时间粒度(例如5分钟)。火电厂数量、路段信息等数据的空间粒度可以是栅格,可以统计各个栅格内火电厂的数量作为火电厂数量的初始值,统计各个栅格内一级路、二级路、交叉路口数量作为路段信息的初始值。对于非地理区域数据,非时间段数据即为没有空间信息的数据,可以处理成最小空间粒度(例如1km*1km的栅格)。根据本公开的实施例,提取得到各个特征的初始时空粒度和初始值后,将各个特征在各个高层次时空粒度上进行聚合。由于时空数据源的差异,有一些数据源空间粒度或时间粒度很大,如气象数据的空间粒度是行政区,空气质量数据的时间粒度是半小时。由于不同数据源时空粒度不同,在最小公共时空粒度以上连接生成的事务才有意义。用户需要挖掘的特征是由用户输入的,但等待用户输入后,再去处理不同数据集的特征,导致计算量较大。所以可以先通过操作s220预先计算特征在各个高层次时空粒度上聚合的结果,统计每个特征在各个时空粒度上的取值情况。在操作s220,基于初始值,获得每个特征在多个高层次时空粒度上的取值。其中,高层次时空粒度的时间粒度大于初始时空粒度的时间粒度,和/或高层次时空粒度的空间粒度大于初始时空粒度的空间粒度。即高层次时空粒度的时间粒度和空间粒度中的至少一者大于初始时空粒度。例如,若初始时空粒度为(栅格,天),高层次时空粒度例如可以是(栅格,周)、(栅格,月)、(行政区,天)、(行政区,周)、(行政区,月)。获得特征在多个高层次时空粒度上的取值可以包括:获得特征在各个高层次时空粒度下的多个时空范围内的取值。例如,可以由初始时间粒度向高层次时间粒度上聚合取值,以及由初始空间粒度向高层次空间粒度上聚合取值。图3示意性示出了根据本公开实施例的由初始时间粒度向高层次时间粒度上聚合的示意图。如图3所示,以pm2.5为例,通过以上步骤已经获知了海淀区pm2.5在时空粒度(行政区,小时)上的取值,即获知了pm2.5在(海淀区,2019年1月1日0:00~1:00)、(海淀区,2019年1月1日1:00~2:00)、…、(海淀区,2019年1月1日23:00~24:00)等时空范围内的初始值。可以将pm2.5在海淀区一天24小时内的数据取均值,得到pm2.5在海淀区2019年1月1日取值,以此类推,得到pm2.5在海淀区2019年1月每天内的取值。然后,将pm2.5在海淀区1月31天内的数据取均值,得到pm2.5在海淀区2019年1月的取值,以这种时间范围逐级向上的方式得到各个特征在高层次时间粒度上聚合的结果。图4示意性示出了根据本公开实施例的由初始空间粒度向高层次空间粒度上聚合的示意图。如图4所示,通过以上步骤例如已经获知了某一特征2019年1月1日0:00~1:00时间段内pm2.5在各个栅格内的初始值,可以将该特征在海淀区内各个栅格(栅格1、栅格2、…、栅格10)的数据取均值,得到该特征在该时间段内在海淀区的取值,以此类推,得到该特征在该时间段内在朝阳区、和西城区的取值,以这种空间范围逐级向上的方式得到各个特征在高层次时间粒度上聚合的结果。通过以上聚合方式,可以得到各个特征在各个高层次时空粒度上的取值。然后,通过操作s230利用各个特征在各个高层次时空粒度上的取值生成时空事务,将对应时空粒度的跨域特征进行时空连接。在操作s230,基于每个特征在多个高层次时空粒度上的取值,生成多个时空事务。其中,生成时空事务包括:将每个时空范围内的特征和特征在时空范围内的取值统计为一个时空事务。每个时空事务对应一个时空范围,将空间范围和时间范围相同的各项特征构成一条时空事务,并为不同时空粒度的事务构建不同的数据表。例如,时空范围(行政区,1小时)内涉及的特征包括pm2.5、风速、车流量、烟气排放量、工厂数量等特征,则将各个特征以及各特征在该时空范围内的取值构成一条时空事务。一个时空事务d为一个三元组<a,srange,trange>。a为一个二元组<a,q>构成的集合。其中a为某一个特征,q为该特征在该时间范围内的取值。srange为该事务对应的空间范围,trange为该事务对应的时间范围。以下,将所有时空事务d的集合称为全局时空事务d。在统计得到各个时空事务后,用户可以输入自己感兴趣的目标特征iy(也可称为后件特征或后继特征)和可能与该目标特征相关的一个或多个条件特征(也可称为前件特征或先导特征),挖掘条件特征与目标特征之间的关联关系。在操作s240,获得多个特征中的条件特征和目标特征,并从多个时空事务中获取关于条件特征和目标特征的事务信息。例如,用户输入的目标特征为pm2.5,条件特征为风速和车流量,则接下来可以从上述全局时空事务中取出关于条件特征和目标特征的时空事务,并基于取出的相关时空事务挖掘pm2.5与风速和车流量之间的关联关系。根据本公开的实施例,操作s240中的从多个时空事务中获取关于条件特征和目标特征的事务信息包括操作s241~操作s242。在操作s241,确定条件特征和目标特征的最小公共时空粒度。其中,特征a、b和c的最小公共时间粒度可以a、b和c的初始时间粒度中最大的时间粒度,特征a、b和c的最小公共空间粒度可以a、b和c的初始空间粒度中最大的空间粒度,例如,特征a的初始时空粒度为(行政区,小时),特征b的初始时空粒度为(栅格,分钟),特征c的初始时空粒度为(栅格,天),则a,b,c三个特征的最小公共时空粒度为(行政区,天)。pm2.5的初始时空粒度例如是(行政区,1小时),风速的初始时空粒度例如是(行政区,30分钟)、车流量的初始时空粒度例如是(栅格,5分钟),则pm2.5、风速和车流量的最小公共时空粒度为(行政区,1小时)。在操作s242,从多个时空事务中获取在最小公共时空粒度上的关于条件特征和目标特征的事务信息。例如,最小公共时空粒度(行政区,1小时)包括(海淀区,0:00~1:00)、(海淀区,1:00~2:00)、…、(朝阳区,0:00~1:00)、(朝阳区,1:00~2:00)等时空范围,每个时空范围对应一个时空事务。从上述全局时空事务d中取出该些时空事务中包含pm2.5、风速和车流量三个特征的时空事务子集d1。在操作s250,基于条件特征和目标特征的事务信息,创建时空关联规则。即,基于上述的时空事务子集d1进行时空关联规则的挖掘。在传统的布尔关联规则挖掘中,一个商品只有出现或不出现两种可能。布尔关联规则的挖掘方法是:先构造包含一个项目的集合,遍历全体事务,计算支持度。将满足支持度阈值的1项集进行组合生成候选2项集。再遍历全体事务,得出频繁2项集。以此类推,直到没有频繁项集产生。再从所有频繁项集中,得出关联规则。由于我们挖掘的关联规则是量化的,如果要套用布尔关联规则挖掘,直接的做法是将每个特征预先进行离散化(比如等宽划分、等频划分等),然后将每一个离散化特征区间当做一个项目,再运用传统挖掘方法。但这种预划分的方法并有没有指导,很有可能得不出有用的信息。由于特征离散化的方式受其他特征的共同影响,所以考虑到特征之间的相互关系,本公开实施例对全部特征同时进行离散化。同时需要避免同一特征挖掘得到的区间出现相交,以及产生关联规则过细的情况。基于上述需求,本公开实施例提出了基于树结构的特征离散化的方式。对于目标特征,使用层次聚类构建层次性的区间。对于条件特征,同时考虑所有特征的分布,利用n维r-树构造层次性的区间。根据本公开的实施例,操作s250包括操作s251~操作s253。在操作s251,在目标特征的数量为一个的情况下,基于层次聚类算法对目标特征进行离散化,得到目标特征的多个离散化区间,将每个离散化区间作为一个目标项目(也可称为后件项目)。对于目标特征,通常只包含一个特征,可以使用层次聚类的方法对时空事物在目标特征上的取值聚类,来离散化后件,并且只保留满足支持度阈值的区间。图5示意性示出了根据本公开实施例的基于层次聚类算法对所述目标特征进行离散化的示意图。如图5所示,目标特征例如是pm2.5,y轴上由小到大依次列出时空事务子集d1中pm2.5的全部取值,根据目标特征取值分布,将距离近的取值优先合并为区间,然后逐层向上形成层次化的后件取值区间,例如得到区间[30,50]、[50,80]、…、[182,261]、[30,105]、[130,261]、[30,261]。目标特征的每个离散化区间形成一个目标项目iy,每个项目iy为一个三元组<a,l,u>,其中,a为某一个目标特征,l和u为这个特征的最小和最大取值,即区间两端的取值。为了统一起见,如果一个特征的取值为类别(如天气的取值为晴、雨等),令l=u,l和u例如可以取0、1、2等数值来代表不同的天气类型。在操作s252,在条件特征的数量为多个的情况下,采用多维树形结构同时对多个条件特征进行离散化,得到每个条件特征的离散化区间,将每个离散化区间作为一个条件项目(也可称为前件项目)。图6示意性示出了根据本公开实施例的采用多维树形结构同时对多个条件特征进行离散化的示意图。如图6所示,对于各条件特征构成的n维空间而言,为n维空间内的一个点。基于这些点构建一棵n维r树。条件特征例如是风速和车流量,由于条件特征的数量为2,所以可以创建一棵2维r树,x1轴上由小到大依次列出时空事务子集d1中风速的全部取值,x2轴上由小到大依次列出时空事务子集d1中车流量的全部取值,每一个事务对应该2维平面上的一个点,图中每个矩形包围盒形成一个2维区间。n维r树的叶子节点中包含的点的数量需要满足最小支持度阈值,叶子节点和内部节点代表一个n维长方体结构,例如在条件特征为3个的情况下,叶子节点和内部节点构成一个3维长方体,利用r-树可以将这些点按层次地构成矩形包围盒,得到层次化的离散区间。将各个矩形包围盒所限定的x1轴的各个取值范围作为风速的各个离散化区间,将各个矩形包围盒所限定的x2轴的各个取值范围作为车流量的各个离散化区间,依次得到每个条件特征的离散化区间,将每个离散化区间作为一个条件项目。例如,风速(单位例如为m/s)的离散化区间包括[0.3,1.0]、[1.0,2.8]、[2.8,3.1]、…,车流量(单位例如为千辆/小时)的离散化区间包括[0.8,1.9]、[1.9,2.6]、[2.6,4.2]、…。条件特征的每个离散化区间形成一个项目,每个项目为一个三元组<a,l,u<,其中,a为某一个条件特征,l和u为这个特征的最小和最大取值,即区间两端的取值。为了统一起见,如果一个特征的取值为类别(如天气的取值为晴、雨等),令l=u,l和u例如可以取0、1、2等数值来代表不同的天气类型。在操作s253,基于以上得到的条件项目和目标项目构建时空关联规则。基于以上条件项目和目标项目可以组成时空项集cst,其中,时空项集cst为一个三元组其中为所有条件项目和目标项目构成的集合(相同特征最多出现一次),spattern为该项集的空间模式,tpattern为该项集的时间模式。其中,spattern例如可以是海淀区、北京等空间模式,tpattern例如可以是每天8点、每天上午、每天白天等时间模式。如果说一个时空事务d支持项集cst,当且仅当时空事务d和支持项集cst满足(使得l≤q≤u)成立。其中,d.srange表示时空事务d的空间范围,cst.spattern表示时空项集cst的空间模式,可以表示时空事务d的空间范围落在时空项集cst的空间模式里,例如,时空事务d的空间范围为栅格,时空项集cst的空间模式为行政区,则认为时空事务d的空间范围落在时空项集cst的空间模式里。d.trange表示时空事务d的时间范围,cst.tpattern表示时空项集cst的时间模式,可以表示时空事务d的时间范围包含时空项集cst的时间模式,例如时空事务d的时间范围为6:00~7:00,时空项集cst的时间模式为每天6:30,则认为时空事务d的时间范围包含时空项集cst的时间模式。表示时空事务d的特征包含在时空项集所涉及的特征内,且时空事务d的特征的取值q位于时空项集内相关特征的取值区间[1,u]内。根据本公开的实施例,操作s253基于条件项目和目标项目构建时空关联规则包括:(1)依据各条件项目的组合方式,得到多种条件项目集合。假设前件包含n个特征,则可以产生2n-1种前件的特征的组合。例如,条件项目包括ia、ib和ic,组合方式可以是先构造包含一个项目的集合,则一个项目的集合为:ia、ib和ic;然后,构造包含2个项目的集合:iaib、iaic和ibic;之后,构造包含3个项目的集合:iaibic。(2)在多种时空模式下,构建关于每种条件项目集合与目标项目的时空关联规则。其中,时空关联规则r为一个三元组<x→iy,spattern,tpattern>,x为条件项目集合,iy是目标项目,前件中不存在后件中的特征。spattern为该时空关联规则的空间模式,tpattern为该时空关联规则的时间模式。例如,spattern为海淀区,tpattern为每天8点,在该时空模式下,构建每种条件项目集合与目标项目的时空关联规则,例如<ia→iy,海淀区,每天8点>、<iaib→iy,海淀区,每天8点>等时空关联规则。这样,可以得到各个时空模式下,关于每种条件项目集合与目标项目的时空关联规则。(3)确定每种时空模式下的各个时空关联规则的支持度和置信度。时空关联规则r的支持度support定义为:在上述时空事务子集d1中的时空事务支持时空项集<x∪{iy},spattern,tpattern>的占比。其中,当且仅当时空事务d和支持项集cst满足(使得l≤q≤u)时成立,认为时空事务d支持项集cst。时空关联规则r的置信度confidence定义为:在支持时空项集<x,spattern,tpattern>的事务中,同时支持时空项集<x∪{iy},spattern,tpattern>的占比。这样,可以通过时空事务子集d1中的各个时空事务d和上述计算方式,得到每种时空模式下的各个时空关联规则的支持度和置信度。(4)筛选出支持度和置信度满足预设条件的时空关联规则,作为有趣的时空关联规则。如果时空关联规则r的支持度满足用户预设的最小支持度阈值minsup,置信度满足用户定义的最小置信度阈值minconf,则认为该时空关联规则r是有效的,也可称为时空关联规则r是有趣的。由于所挖掘的时空关联规则需要保证支持度满足最小支持度阈值,当一个较大的spattern或较大的tpattern都不能保证所包含的时空项集的支持度满足最小支持度阈值时,由它们得出的所有较小的spattern或tpattern的支持度都不会满足最小支持度阈值,不需要再进行检验。通过以上方式能够减少不必要的计算,故在枚举计算时空关联规则的spattern和tpattern时,由粗到细枚举。根据本公开的实施例,对于每种时空模式,确定各个时空关联规则的支持度和置信度包括:将各个时空关联规则构成分布式弹性数据集;将时空事务子集d1中的各个时空事务广播到分布式系统的从节点上,分布式并行计算各个时空关联规则的支持度和置信度。其中,对于每一个spattern和tpattern的组合,假设前件包含n个特征,则可以产生2n-1种前件的特征的组合,计算量比较大,故可以利用分布式计算的能力,并行检验各个时空关联规则。利用分布式计算平台spark,将每种时空模式下的所有时空关联规则构成分布式弹性数据集rdd,并将spattern和tpattern组合内的时空事务广播到分布式系统从节点上,利用分布式并行计算的能力,计算每个时空关联规则的支持度和置信度。最后可以根据支配关系,筛选出所有不被支配的感兴趣的时空关联规则。这样,将离散化后的各时空关联规则构造成弹性分布式数据集rdd,将时空事务作为广播变量存储在从节点上,分布式计算各时空关联规则的支持度和置信度,加速计算。根据本公开的实施例,操作s253还可以包括:(5)确定有趣的时空关联规则中各个时空关联规则的支配关系;时空关联规则存在支配关系。对于第一时空关联规则r1和第二时空关联规则r2,如果满足:a)b)c)使得d)对于r1的后件<a1,l1,u1>和r2的后件<a2,l2,u2>,a1=a2,且e)support(r1)≥support(r2);f)confidence(r1)≥confidence(r2)。即r1的空间和时间模式比r2更大,r1的前件约束比r2更宽松,r1的后件约束比r2更紧凑,且r1的支持度和置信度比r2高,则认为时空关联规则r1支配时空关联规则r2。例如,若r1的空间模式为海淀区,r2的空间模式为栅格,则r1的空间模式比r2大。若r2的时间模式为每天8点,r2的时间模式为每天白天,则r1的时间模式比r2大;若r1的前件取值范围为[2,15],r2的前件取值范围为[5,10],r1的前件取值范围比r2大,则r1的前件约束比r2更宽松。若r1的后件取值范围为[6,7],r2的取值范围为[2,20],r1的后件取值范围比r2的取值范围小,则r1的后件约束比r2更紧凑。(6)从有趣的时空关联规则中筛选出不被其他时空关联规则所支配的时空关联规则。支配的定义能够帮助减少冗余规则的产生,最终得到的时空关联规则的概括能力更强、结论更准确,可以通过更宽泛的前期条件得到更精确的目标结果。图7示意性示出了根据本公开另一实施例的获取时空关联规则的方法的流程示意图。如图7所示,时空数据进入系统后,系统自动提取时空数据的特征,并在多个时空层次上进行聚合,将不同领域的、多个时空粒度的数据进行时空连接(join),生成事务,方面后续查询需求。用户需要指定潜在的感兴趣的可能导致空气污染的因素。系统会根据用户的输入的特征,计算这些特征最小公共时空粒度,并在该粒度上,查询对应粒度的事务,并取出用户关心的特征的相关数据。基于返回的事务,系统会挖掘在最小公共时空粒度以上,各时空粒度上的导致空气污染的量化结论,并将符合一定条件的结论展示给用户。本公开的实施例还提供了一种获取时空关联规则的装置。图8示意性示出了根据本公开实施例的获取时空关联规则的装置的框图。如图8所示,获取时空关联规则的装置800包括初始模块810、层次模块820、记录模块830、特征模块840和规则模块850。初始模块810用于获得多个特征,以及每个特征在初始时空粒度上的初始值。层次模块820用于基于所述初始值,获得每个特征在多个高层次时空粒度上的取值,其中,所述高层次时空粒度的时间粒度粗于所述初始时空粒度的时间粒度,和/或所述高层次时空粒度的空间粒度粗于所述初始时空粒度的空间粒度。记录模块830用于基于所述每个特征在多个高层次时空粒度上的取值,生成多个时空事务。特征模块840用于获得所述多个特征中的条件特征和目标特征,并从所述多个时空事务中获取关于所述条件特征和目标特征的事务信息。规则模块850用于基于所述条件特征和目标特征的事务信息,创建时空关联规则。具体地,初始模块810例如可以执行上文描述的操作s210,层次模块820例如可以执行上文描述的操作s220,记录模块830例如可以执行上文描述的操作s230,特征模块840例如可以执行上文描述的操作s240,规则模块850例如可以执行上文描述的操作s250,在此不再赘述。根据本公开的实施例,获得特征在初始时空粒度上的初始值包括:获得特征在初始时空粒度下的多个时空范围内的取值;获得特征在多个高层次时空粒度上的取值包括:获得特征在各个高层次时空粒度下的多个时空范围内的取值;生成时空事务包括:将每个时空范围内的特征和特征在时空范围内的取值统计为一个时空事务。根据本公开的实施例,从多个时空事务中获取关于条件特征和目标特征的事务信息包括:确定条件特征和目标特征的最小公共时空粒度;从多个时空事务中获取在最小公共时空粒度上的关于条件特征和目标特征的事务信息。根据本公开的实施例,基于条件特征和目标特征的事务信息,创建时空关联规则包括:在目标特征的数量为一个的情况下,基于层次聚类算法对目标特征进行离散化,得到目标特征的多个离散化区间,将每个离散化区间作为一个目标项目;在条件特征的数量为多个的情况下,采用多维树形结构同时对多个条件特征进行离散化,得到每个条件特征的离散化区间,将每个离散化区间作为一个条件项目;以及基于条件项目和目标项目构建时空关联规则。根据本公开的实施例,基于条件项目和目标项目构建时空关联规则包括:依据各条件项目的组合方式,得到多种条件项目集合;在多种时空模式下,构建关于每种条件项目集合与目标项目的时空关联规则;确定每种时空模式下的各个时空关联规则的支持度和置信度;以及筛选出支持度和置信度满足预设条件的时空关联规则,作为有趣的时空关联规则。根据本公开的实施例,基于条件项目和目标项目构建时空关联规则还包括:确定有趣的时空关联规则中各个时空关联规则的支配关系;从有趣的时空关联规则中筛选出不被其他时空关联规则所支配的时空关联规则;其中,有趣的时空关联规则包括第一关联规则和第二关联规则,若第一关联规则的空间模式和时间模式比第二关联规则大,第一关联规则的前件约束比第二关联规则宽松,第一关联规则的后件约束比第二关联规则紧凑,且第一关联规则的支持度和置信度比第二关联规则高,则认为第一关联规则支配第二关联规则。根据本公开的实施例,对于每种时空模式,确定各个时空关联规则的支持度和置信度包括:将各个时空关联规则构成分布式弹性数据集;将多个时空事务广播到分布式系统的从节点上,分布式并行计算各个时空关联规则的支持度和置信度。根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。例如,初始模块810、层次模块820、记录模块830、特征模块840和规则模块850中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,初始模块810、层次模块820、记录模块830、特征模块840和规则模块850中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,初始模块810、层次模块820、记录模块830、特征模块840和规则模块850中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。图9示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图9示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。如图9所示,根据本公开实施例的计算机系统900包括处理器901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。在ram903中,存储有系统900操作所需的各种程序和数据。处理器901、rom902以及ram903通过总线1304彼此相连。处理器901通过执行rom902和/或ram903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom902和ram903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。根据本公开的实施例,系统900还可以包括输入/输出(i/o)接口905,输入/输出(i/o)接口905也连接至总线904。系统900还可以包括连接至i/o接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现如上所述的获取时空关联规则的方法。根据本公开的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。例如,根据本公开的实施例,计算机可读介质可以包括上文描述的rom902和/或ram903和/或rom902和ram903以外的一个或多个存储器。附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1