一种GIS异常数据的检测方法技术

技术编号:18763931 阅读:43 留言:0更新日期:2018-08-25 10:33
本发明专利技术公开了一种GIS异常数据的检测方法,在GIS数据的预处理时,先处理其常见的数据长度不标准,数据格式不规范,经度和纬度的交叉错误;然后对预处理后相对标准的数据我们再使用孤立森林对数据建立异常检测模型,识别出其中的异常坐标,并且对新增的数据此模型可以迅速的识别其是正常值还是异常值;本方法复杂度较低,非常适用于大数据的异常检测,能够适应GIS数据日益增长的趋势。

【技术实现步骤摘要】
一种GIS异常数据的检测方法
本专利技术属于电力系统
,更为具体地讲,涉及一种GIS异常数据的检测方法。
技术介绍
GIS数据是重要的记录变电站地理位置信息的数据。变电站地理位置信息数据是非常重要的数据,其直接影响到所有基于地理位置信息构建的服务和应用。但是电网的GIS数据却存在大量异常问题,数据存在格式混乱,如:数据长短不一,部分列数据缺失;坐标记录错误,如:经纬度的值有度分秒与小数两种格式混用,经度与纬度记录位置交叉等问题。由于GIS数据会随时的增加,而如果每次增加数据都把所有数据重新再处理一遍,就会太过低效。isolationForest(孤立森林)是一种高效的异常检测算法,检测速度快,性能好,特别适合大数据做实时的异常检测。所以在经过规范处理之后,将规范的数据作为,isolationForest的训练数据,得到异常检测模型。以后对GIS增加的数据,都先通过这个模型进行判断,如果通过异常检测则插入数据库,如果识别为异常数据则标记。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种GIS异常数据的检测方法,利用孤立森林异常检测模型来判断待检测数据,具体简单、快速且准确等特点。为实现上述专利技术目的,本专利技术一种GIS异常数据的检测方法,其特征在于,包括以下步骤:(1)、GIS异常数据预处理对存储GIS异常数据的数据表进行按行读取,再以每一行中单个GIS异常数据为单位,将每一行GIS异常数据分割为一个数组,并取数组长度;以数据表表头规定长度为标准,判断每一个数组长度是否出现异常,如果出现异常,则将数组长度小于表头规定长度的数组,在数组尾部补空字符,使其长度相等,或者将数组长度大于表头规定长度的数组,在数组尾部截掉大于表头规定长度的部分,使其长度相等;如果未出现异常,则保持不变;(2)、数据表中存储的坐标数据并处理读取数据表中坐标数据,包括经度和纬度,统一成[经度,纬度]的形式,再将[经度,纬度]统一为浮点数;比较[经度,纬度]中经度数值与纬度数值的大小,如果经度数值小于纬度数值,则将经度数值与纬度数值交换位置,否则保持不变;(3)、对经度数值(longitude)与纬度数值(latitude)的范围做判断设给定区域的经度范围为(lngmin,lngmax),纬度范围为(latmin,latmax);将不满足lngmin<longitude<lngmax且latmin<latitude<latmax的经纬度值全部置空,将满足上述条件的经纬度值存放在数组X中,X={x1,x2,…,xn},共计n组满足上述条件的经纬度值,xn为第n组满足上述条件的经纬度值;(4)、建立孤立森林异常检测模型(4.1)、建立单棵孤立树随机选择一个属性值q和分割值P,通过递归方法分割数组X,直到满足:孤立树达到设定的高度限制,且子节点中仅有一个数据,从而建立起单棵孤立树;(4.2)、建立孤立森林重复执行步骤(4.1)s次,得到s棵孤立树,再将这s棵树组成孤立森林,得到孤立森林异常检测模型;(5)、利用孤立森林异常检测模型进行GIS异常数据的检测(5.1)、计算待检测数据d的路径长度把待检测数据d在每一棵孤立树中遍历,从每棵树的根节点开始,按照构建该棵孤立树时选择的属性值q和分割值P从根节点到叶子节点,其中,如果某一棵孤立树中属性值q小于分割值P,则待检测数据d遍历到左子树,否则待检测数据d遍历到右子树,直到达到叶子节点,并记录这过程中所走过的边的数量,得到单棵孤立树的路径长度h(d);(5.2)、利用数组X计算变量c(n);c(n)=2H(n-1)-(2(n-1)/n)其中,H(n)=ln(n)+k,ln为以自然数e为底数的对数,k为欧拉常数,k=0.5772156649;(5.3)、计算待检测数据d的异常分数ξ;其中,E(h(d))是遍历所有孤立树后得到的平均路径长度;(5.4)、利用异常分数ξ判断待检测数据d是否出现异常;如果异常分数ξ∈[0.5,1),则判定待检测数据d为异常数据;如果异常分数ξ(0,0.5),则判定待检测数据d为正常数据,并增加到数据库中。本专利技术的专利技术目的是这样实现的:本专利技术一种GIS异常数据的检测方法,在GIS数据的预处理时,先处理其常见的数据长度不标准,数据格式不规范,经度和纬度的交叉错误;然后对预处理后相对标准的数据我们再使用孤立森林对数据建立异常检测模型,识别出其中的异常坐标,并且对新增的数据此模型可以迅速的识别其是正常值还是异常值;本方法复杂度较低,非常适用于大数据的异常检测,能够适应GIS数据日益增长的趋势。同时,本专利技术一种GIS异常数据的检测方法还具有以下有益效果:(1)、本方法通过对数据的预先处理再结合孤立森林算法,对GIS数据的异常检测具有非常高的准确度;(2)、使用孤立森林算法,使对GIS数据的异常检测具有较低的空间复杂度和时间复杂度,所以本方法可以适用于大规模的GIS数据的异常检测,同时由于孤立森林快速的检测能力,也满足实时的异常检测的要求;(3)、本方法针对GIS数据各种的错误问题提出高效的有针对性的解决方法,并将处理方法编写为一套流程化的工作步骤。针对数据中错误的格式,提出规范合理的格式。针对错误数据和缺失的数据,提出合理的处理方式。最终将GIS数据处理为比较规范高质量的数据。附图说明图1是本专利技术一种GIS异常数据的检测方法流程图;具体实施方式下面结合附图对本专利技术的具体实施方式进行描述,以便本领域的技术人员更好地理解本专利技术。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本专利技术的主要内容时,这些描述在这里将被忽略。实施例图1是本专利技术一种GIS异常数据的检测方法流程图。在本实施例中,为了使本专利技术的目的、技术方案和优点更加清楚明白,我们以实际的变电站GIS数据为例做详细说明。如图1所示,本专利技术一种GIS异常数据的检测方法,包括以下步骤:S1、GIS异常数据预处理表1是变电站GIS数据表;表1如表1所示,对存储GIS异常数据的数据表进行按行读取,再以每一行中单个GIS异常数据为单位,将每一行GIS异常数据分割为一个数组,并取数组长度;在本实施例中,变电站GIS数据共有38个属性,我们按行读取每条数据,并按照分割符,将其分割为长度为38的数组,如果长度不等于38说明其长度异常,这种数据我们直接剔除。以数据表表头规定长度为标准,判断每一个数组长度是否出现异常,如果出现异常,则将数组长度小于表头规定长度的数组,在数组尾部补空字符,使其长度相等,或者将数组长度大于表头规定长度的数组,在数组尾部截掉大于表头规定长度的部分,使其长度相等;如果未出现异常,则保持不变;S2、数据表中存储的坐标数据并处理读取数据表中坐标数据,包括经度和纬度,我们将坐标数据统一成[经度,纬度]的形式,即先记录经度,再记录纬度,再将[经度,纬度]统一为浮点数;因为其中有的变电站坐标是用度分秒表示的,这种方式不利于计算机进行计算,统一为浮点数即可克服此缺点;然后判断转换后的经度与纬度的大小关系,因为有的坐标存在经度纬度交叉的错误,即记录经度值的地方记录的是纬度的值,记录纬度的值的地方记录的是经度值,因此,比较[经度,纬度]中经本文档来自技高网...

【技术保护点】
1.一种GIS异常数据的检测方法,其特征在于,包括以下步骤:(1)、GIS异常数据预处理对存储GIS异常数据的数据表进行按行读取,再以每一行中单个GIS异常数据为单位,将每一行GIS异常数据分割为一个数组,并取数组长度;以数据表表头规定长度为标准,判断每一个数组长度是否出现异常,如果出现异常,则将数组长度小于表头规定长度的数组,在数组尾部补空字符,使其长度相等,或者将数组长度大于表头规定长度的数组,在数组尾部截掉大于表头规定长度的部分,使其长度相等;如果未出现异常,则保持不变;(2)、数据表中存储的坐标数据并处理读取数据表中坐标数据,包括经度和纬度,统一成[经度,纬度]的形式,再将[经度,纬度]统一为浮点数;比较[经度,纬度]中经度数值与纬度数值的大小,如果经度数值小于纬度数值,则将经度数值与纬度数值交换位置,否则保持不变;(3)、对经度数值(longitude)与纬度数值(latitude)的范围做判断设给定区域的经度范围为(lngmin,lngmax),纬度范围为(latmin,latmax);将不满足lngmin

【技术特征摘要】
1.一种GIS异常数据的检测方法,其特征在于,包括以下步骤:(1)、GIS异常数据预处理对存储GIS异常数据的数据表进行按行读取,再以每一行中单个GIS异常数据为单位,将每一行GIS异常数据分割为一个数组,并取数组长度;以数据表表头规定长度为标准,判断每一个数组长度是否出现异常,如果出现异常,则将数组长度小于表头规定长度的数组,在数组尾部补空字符,使其长度相等,或者将数组长度大于表头规定长度的数组,在数组尾部截掉大于表头规定长度的部分,使其长度相等;如果未出现异常,则保持不变;(2)、数据表中存储的坐标数据并处理读取数据表中坐标数据,包括经度和纬度,统一成[经度,纬度]的形式,再将[经度,纬度]统一为浮点数;比较[经度,纬度]中经度数值与纬度数值的大小,如果经度数值小于纬度数值,则将经度数值与纬度数值交换位置,否则保持不变;(3)、对经度数值(longitude)与纬度数值(latitude)的范围做判断设给定区域的经度范围为(lngmin,lngmax),纬度范围为(latmin,latmax);将不满足lngmin<longitude<lngmax且latmin<latitude<latmax的经纬度值全部置空,将满足上述条件的经纬度值存放在数组X中,X={x1,x2,…,xn},共计n组满足上述条件的经纬度值,xn为第n组满足...

【专利技术属性】
技术研发人员:李熠冯世林何明高剑李坚罗荣森张燃黄琦滕予非张为金
申请(专利权)人:国网四川省电力公司电力科学研究院电子科技大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1