发明名称 无线传感器环境下多属性事件的预测方法
摘要 一种无线传感器环境下多属性事件的预测方法,该方法根据多属性事件流自身的特点,建立多属性事件场,将事件流转化为等间隔,用于构建预测模型的训练样本文件,在此基础上构建垂直和水平的双向预测模型,对多属性事件进行预测,并根据不准确预测的积累程度自适应地进行预测模型重建,使预测更具准确性,本发明可广泛用于事件监控、自然灾害监控与预警、健康监护、气候环境监测与预测等应用中。
申请公布号 CN103745130B 申请公布日期 2016.11.23
申请号 CN201410040442.9 申请日期 2014.01.27
申请人 东北大学 发明人 林树宽;杨礼国;乔建忠
分类号 G06F19/00(2011.01)I 主分类号 G06F19/00(2011.01)I
代理机构 沈阳东大知识产权代理有限公司 21109 代理人 梁焱
主权项 一种无线传感器环境下多属性事件的预测方法,其特征在于:包括以下步骤:(1)对传感器采集的事件数据的所有非数值型属性和非数值型事件类型进行数值编码,形成属性值/事件类型与其编码对应的编码文件输出至磁盘上存储;同时对相关变量进行初始化,是对多属性事件预测过程中的相关变量进行初始化,包括:将建立垂直预测模型的标志model_flag初始化为1,将水平预测模型已建立标志model_count初始化为0,将不准确预测计数inaccu_count初始化为0,建立垂直预测模型的标志model_flag为1意味着需要执行建立垂直预测模型的过程,其值为0意味着不需执行建立垂直预测模型的过程,可利用已有的垂直预测模型直接进行预测,水平预测模型已建立标志model_count为0,表示水平预测模型尚未建立;model_count为1,表示水平预测模型已经建立,不准确预测计数inaccu_count是预测误差超出用户规定阈值的计数;(2)将所有的编码文件从磁盘读入内存,以方便构建多属性事件场MAEF时进行编码转换;同时在内存中建立多属性事件场结构MAEF,并将与MAEF相关的变量初始化,包括:刷新粒度总数n_refresh初始化为0,MAEF中当前最新的行粒度current初始化为0,有效行计数eff_row_count初始化为0,变量current用来记载MAEF中当前最新的行粒度,初始化为0,有效行计数eff_row_count是MAEF中可用来建立预测模型的行粒度计数,初始化为0;所述MAEF是一个d行和n列构成的内存结构,每行对应一个等间隔多属性事件,事件场的长度d与用户建立预测模型需要的样本数量有关,可由用户指定,每列分别为多属性事件的n个属性,多属性事件场结构MAEF如下表:<img file="FDA0000987429110000011.GIF" wi="1429" he="399" />在计算机程序中,结构MAEF体现为一个二维数组,数组元素MAEF[i][j]表示行粒度i中属性j的值;所述多属性事件场MAEF用来存储事件流中最新d个行粒度的事件属性值,d是MAEF的长度,用以构建预测模型的训练样本文件,为保证MAEF中的行粒度是最新的,循环使用MAEF的d个行粒度,通过对过期的行粒度进行覆盖而将其淘汰,当MAEF的d个行粒度都被填满后,事件流当前粒度内的最新事件将填入MAEF的第一个行粒度,先前d个MAEF行粒度将被“刷新”,这里的“刷新”并不是将先前的d个行粒度内的事件全部清空,只是填入新事件的行粒度被覆盖,其余的行粒度仍保留原来的数据,变量n_refresh用来记载MAEF中被“刷新”的粒度总数,初始值设为0,每当MAEF将被刷新时,n_refresh就增加d个行粒度;(3)从传感器事件流读取当前事件,将当前事件的各属性值或非数值型属性编码填入MAEF适当的行粒度,并根据当前事件在MAEF中的位置更新当前最新行粒度current和有效行计数eff_row_count;所述行粒度是用户指定的相邻两个事件之间的时间间隔,传感器实际采集的数据可能是非等间隔的,且可能在一个行粒度内有多个采集值,规定MAEF的每行对应一个行粒度,在一个行粒度内只存储一个事件,且只存储该粒度内最新到达的事件,这样,MAEF中每个事件及其属性的取值以行粒度为时间间隔,实现等间隔;(4)判断在MAEF中是否已生成d行有效数据,即判断有效行计数eff_row_count≥d是否成立,若成立,则转入步骤(5);否则,转入步骤(3);d是MAEF的长度,建立各预测模型将使用MAEF中最新的d行数据,称为有效数据或有效行;(5)在MAEF中确定构建各预测模型训练样本文件的起始行粒度start和终止行粒度end;(6)若建立垂直预测模型的标志model_flag=1,说明需建立垂直预测模型,则基于MAEF中存储的各属性值和步骤(5)确定的起始行粒度start、终止行粒度end,在内存中构建每个属性所对应的垂直预测模型的样本空间,并按照LIBSVM的格式要求将其输出到磁盘上,形成与各属性对应的训练样本文件,转入步骤(7);否则,若标志model_flag≠1,则绕过建立垂直预测模型的步骤,转入步骤(10);(7)针对多属性事件中的每个属性,分别建立其垂直预测模型,并置建立垂直预测模型的标志model_flag为0;(8)若水平预测模型已经建立,即model_count=1,则转入步骤(10);否则,利用属性值和事件类型均已知的d条历史数据,构建水平预测模型的训练样本空间,并将其按照LIBSVM的格式要求输出至磁盘,形成水平预测模型的训练样本文件sensor_trans_train;(9)建立水平预测模型,并将水平预测模型已建立标志置为1;(10)基于步骤(7)所建立的各属性所对应的垂直预测模型,对各属性下一个时间点的值进行预测;(11)首先以各属性的预测值作为输入形成水平预测模型的测试样本,输出到磁盘上,建立水平预测模型的测试数据文件;然后对事件类型进行预测;若事件类型为非数值型,需对照其编码对其进行转换,并将转换结果输出到输出设备上;(12)进行误差统计以决定是否需重建垂直预测模型,以对预测模型进行自适应修改,即根据预测的准确性及时对预测模型进行自适应的修改;(13)检查用户是否终止预测过程,若是,则整个多属性事件预测过程结束;否则,转入步骤(3),读取事件流的下一个事件。
地址 110819 辽宁省沈阳市和平区文化路3号巷11号