一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于iForest和低秩矩阵分解的WiFi指纹定位异常数据处理方法

2022-12-03 00:59:49 来源:中国专利 TAG:

基于iforest和低秩矩阵分解的wifi指纹定位异常数据处理方法
技术领域
1.本发明涉及室内定位技术领域,具体涉及一种iforest和低秩矩阵分解的wifi指纹定位异常数据处理方法,应用于解决实际定位时采集到的信号出现异常值和缺失值导致定位精度下降的问题。


背景技术:

2.近年来,随着基于位置的服务(location based services,lbs)这一围绕地理位置数据而展开的服务的普及与应用,室内定位也逐渐成为了研究的热门。目前在室内定位领域,依托于计算机硬件设备的快速发展,深度学习和室内定位相结合的趋势成为主流。在深度学习技术中对于数据的可靠性要求较高,数据的突变或是数据的缺失等均会对最后的模型的鲁棒性和精确度造成较大影响。因此,对所采得的数据源的补全和异常处理对于室内定位精度的提升显得尤为重要。
3.在目前的wifi室内定位中,移动设备所采集的实时指纹和离线指纹库对比,大多存在着特征值缺失、突变、冗余等导致的指纹不可靠问题,从而降低在线定位环节的精确度。本发明基于对实时采集指纹数据的缺失值补全和异常值修正的要求,提出一种基于iforest和低秩矩阵分解的wifi指纹异常数据处理算法。一方面,解决了对于实时采集wifi指纹数据的可靠性要求,另一方面,能够将异常值识别并利用低秩矩阵分解还原,有利于提高定位精度。


技术实现要素:

4.本发明要克服现有技术的上述缺点,利用iforest算法和低秩矩阵分解,对实时采集的wifi指纹异常数据进行识别和恢复处理,解决室内定位的实时采集数据不可靠的问题,提供一种wifi指纹数据异常值处理的方法。
5.关于本发明的相关具体定义如下:
6.wifi指纹库数据对于在某一楼层(x,y)点所采集的原始指纹数据,用不同ap的rss值表示,rssi表示指纹信号中的第i个ap的接收信号强度rss值。
7.在线采集的wifi指纹数据对于在某一楼层(x,y)点在线采集的指纹数据,用不同ap的rss值表示,rssi′
表示指纹信号中的第i个ap的rss值。
8.rss总指纹数据库:
[0009][0010]
其中rss
mn
表示在第m个采样点接收到的第n个ap的rss值。
[0011]
iforest算法中的切割点p,用于分割异常值和正常值。
[0012]
iforest算法中用于异常分数的判断函数其中x表示所进行异常判断的参数,表示用于构建孤立树的元素个数。h(x)为x元素在孤独森林中的平均高度。表示为:
[0013][0014]
低秩矩阵分解中的损失函数其中为正则项,用于提升还原精度,r为实际矩阵,为含还原值的估计矩阵,u和v为分解矩阵。
[0015]
本发明的目的是通过以下技术方案实现的:一种基于iforest和低秩矩阵分解的wifi指纹异常数据处理方法,包括以下步骤:
[0016]
(1)离线建立wifi指纹库,利用移动设备实时采集wifi指纹数据和地磁数据进行最邻近(nn)粗定位,设定阈值对定位的欧氏距离进行比较,判断实时采集的wifi指纹数据是否可靠。
[0017]
(2)对于wifi指纹数据进行异常值处理,结合离线指纹库中最邻近点的指纹数据,利用iforest算法分离异常值,将其设为缺失值。
[0018]
(3)对于在经过(2)处理的存在缺失值的实时wifi指纹数据,替换对应的离线指纹库中最邻近指纹的数据,进行低秩矩阵分解,预测还原对应的缺失值。
[0019]
(4)将所采集到的经过处理后的wifi指纹数据,用于深度学习模型的验证,并纳入wifi离线指纹库进行指纹库的更新。
[0020]
进一步地,所述步骤(1)中,对于实时采集wifi指纹数据和地磁数据进行nn粗定位的方法步骤如下:
[0021]
(1.1)完成室内wifi指纹数据库建立。
[0022]
(1.2)利用移动设备对所在位置的wifi的rss值和地磁进行读取,形成所在点的位置指纹数据
[0023]
(1.3)利用最邻近(nn)算法对采取的指纹数据进行匹配,两种信号匹配结果在一定误差内,则可认为此时wifi指纹信号为可靠的。其中最邻近(nn)算法的操作具体如下:
[0024][0025]
output=argmin(li)
ꢀꢀ
(2)
[0026]
其中li为实时采集的rss和指纹库中的第i个采样点的rss的欧式距离,选择最小的距离记录的对应点作为结果输出,其中n为总的ap维数,rss
ij
为对应的中的指纹特征,rssj′
为当前实时指纹数据中的rss。
[0027]
同样的对于实时采集的地磁和数据库中的地磁指纹利用最邻近算法进行比对,具体过程类似对rss值进行分析。
[0028]
设定阈值t,其中(xa,ya)为基于wifi指纹的最邻近算法输出点,(xb,yb)为基于地磁指纹的最邻近算法输出点,判断采集的wifi指纹数据是否可靠。
[0029][0030]
所述步骤(2)中,对于采集的wifi的rss指纹数据用iforest算法分离异常值的方法如下:
[0031]
(2.1)对于在某一楼层(x,y)点所采集的原始指纹数据,用不同ap的rss值表示,rssi表示指纹信号中的第i个ap的rss值:
[0032][0033]
(2.2)在原有的离线指纹库中提取最邻近点的wifi指纹信息:
[0034][0035]
(2.3)利用原有的最邻近点指纹信息对采集的数据进行iforest奇异值分离,其过程可以写成:
[0036]
先将离线指纹库和采集的指纹数据进行做差取绝对值处理,得到矩阵x:
[0037]
x=[|rss
1-rss1′
|,|rss
2-rss2′
|,

,|rss
i-rssi′
|]
ꢀꢀ
(6)
[0038]
先对矩阵x进行孤立树处理,形成对应的孤立森林,具体步骤如下:
[0039]
从x中随机抽取个样本点构成的x子集x

放入根节点。从d个维度中随机指定一个维度q,在当前数据中随机产生一个切割点p,
[0040]
min(x
ij
,j=q,x
ij
∈x

)《p《max(x
ij
,j=q,x
ij
∈x

)
ꢀꢀ
(7)
[0041]
此切割点p生成了一个超平面,将当前数据空间划分为两个子空间:指定维度小于p的样本点放入左子节点,大于或等于p的放入右子节点。不断递归至所有的叶子节点只有一个样本点,生成孤立树。
[0042]
对于矩阵x中的每一个数据点xi,令其遍历每个孤立树,计算其平均高度h(xi),对其进行归一化处理,再利用以下公式对其进行异常值打分:
[0043][0044]
其中表示为:
[0045][0046]
从异常分值的公式看,如果数据x在多棵itree中的平均路径长度越短,得分越接近1,表明数据x越异常;如果数据x在多棵itree中的平均路径长度越长,得分越接近0,表示数据x越正常;如果数据x在多棵itree中的平均路径长度接近整体均值,则打分会在0.5附近。对其得分进行阈值设定,高于阈值的得分判断为异常值,对其在采集的wifi指纹数据中进行缺失处理,设置为null。将处理完成的指纹数据矩阵定义为
[0047]
(2.4)对更新完成的采集指纹rss矩阵进行保存,用于后续低秩矩阵分解。
[0048]
所述步骤(3)中,基于低秩矩阵分解预测还原缺失值的方法如下:
[0049]
(3.1)先将经过iforest处理后的rss矩阵:
[0050][0051]
代替离线数据库中的最邻近点的形成新的指纹库数据矩阵r:
[0052][0053]
(3.2)若矩阵r不包含缺失值,利用矩阵分解的相关知识将其分解为:
[0054]
r=uv
t
ꢀꢀ
(12)
[0055]
现在r中含了缺失值,故没有办法用线性代数的知识直接进行矩阵分解,我们需要一种近似的解法——梯度下降法。目标是找到矩阵r的近似矩阵使得二者的相差最小,要找矩阵u和v。为了达到最优效果,在函数上的体现就是即定义损失函数j:
[0056][0057]
带入化简可得:
[0058][0059]
其中的u
il
,v
jl
就是u矩阵和v矩阵的所求参数。基于该误差计算梯度,而想要更新u矩阵和v矩阵,按照梯度下降的公式:
[0060][0061]
为了使u
il
,v
jl
元素不要过大,加入正则项β,完善预测过程,损失函数改变为
[0062]
[0063]
则梯度为:
[0064][0065]
梯度下降公式更新为:
[0066][0067]
(3.3)将其缺失值利用低秩矩阵分解补全后保存,形成新的具有预测补全的指纹数据用于后续的指纹库更新和模型的预测定位。
[0068]
本发明提出的一种基于iforest和低秩矩阵分解的wifi指纹定位异常数据处理方法,先用最邻近算法对数据可靠性和数据参考点的选取,后利用iforest算法对数据奇异值进行打分判断,得到具有缺失值的指纹矩阵,对其进行低秩矩阵分解,还原指纹矩阵中的缺失值。与现有技术相比,本发明具有如下优点:
[0069]
1.现有技术针对指纹数据处理时,默认所采集的指纹是可靠的,并没有针对提升测试数据可靠性进行分析,本方法中基于信号融合的前期匹配可以完成相关的可靠性判断。
[0070]
2.现有技术多采用深度学习模型,对于内存和计算要求较高,不利于直接在移动设备中完成数据清洗和补全工作。本发明不用在移动端部署相关深度模型,可缓解移动端的计算压力。
[0071]
3.现有技术大多仅对数据集的缺失值补全,但是复杂环境中数据会出现突变、冗余、缺失等等多种情况,需要对其进行较为全面的处理,本发明对于wifi的指纹数据可能出现的问题解决的较为全面,适用性较强。
附图说明
[0072]
图1是本发明方法的流程图;
具体实施方式
[0073]
下面结合附图和实施例对本发明作进一步详细说明。
[0074]
参照图1,应用本发明的基于iforest和低秩矩阵分解的wifi指纹定位异常数据处理方法的室内定位方法,包括以下步骤:
[0075]
(1)离线建立wifi指纹库,利用移动设备实时采集wifi指纹数据和地磁数据进行最邻近(nn)粗定位,设定阈值对定位的欧氏距离进行比较,判断实时采集的wifi指纹数据是否可靠。
[0076]
(1.1)完成室内wifi指纹数据库建立。
[0077]
(1.1)完成室内wifi指纹数据库建立。
[0078]
(1.2)利用移动设备对所在位置的wifi的rss值和地磁进行读取,形成所在点的位置指纹数据
[0079]
(1.3)利用最邻近(nn)算法对采取的指纹数据进行匹配,两种信号匹配结果在一定误差内,则可认为此时wifi指纹信号为可靠的。其中最邻近(nn)算法的操作具体如下:
[0080][0081]
output=argmin(li)
ꢀꢀ
(2)
[0082]
其中li为实时采集的rss和指纹库中的第i个采样点的rss的欧式距离,选择最小的距离记录的对应点作为结果输出,其中n为总的ap维数,rss
ij
为对应的中的指纹特征,rssj′
为当前实时指纹数据中的rss。
[0083]
同样的对于实时采集的地磁和数据库中的地磁指纹利用最邻近算法进行比对,具体过程类似对rss值进行分析。
[0084]
设定阈值t,其中(xa,ya)为基于wifi指纹的最邻近算法输出点,(xb,yb)为基于地磁指纹的最邻近算法输出点,判断采集的wifi指纹数据是否可靠。
[0085][0086]
(2)对于的wifi指纹数据进行异常值处理,结合离线指纹库中最邻近点的指纹数据,利用iforest算法分离异常值,将其设为缺失值。
[0087]
所述步骤(2)中,对于采集的wifi的rss指纹数据用iforest算法分离奇异值的方法如下:
[0088]
(2.1)对于在某一楼层(x,y)点所采集的原始指纹数据,用不同ap的rss值表示,rssi表示指纹信号中的第i个ap的rss值:
[0089][0090]
(2.2)在原有的离线指纹库中提取最邻近点的wifi指纹信息:
[0091][0092]
(2.3)利用原有的最邻近点指纹信息对采集的数据进行iforest奇异值分离,其过程可以写成:
[0093]
先将离线指纹库和采集的指纹数据进行做差取绝对值处理,得到矩阵x:
[0094]
x=[|rss
1-rss1′
|,|rss
2-rss2′
|,

,|rss
i-rssi′
|]
ꢀꢀ
(6)
[0095]
先对矩阵x进行孤立树处理,形成对应的孤立森林,具体步骤如下:
[0096]
从x中随机抽取个样本点构成的x子集x

放入根节点。从d个维度中随机指定一个维度q,在当前数据中随机产生一个切割点p,
[0097]
min(x
ij
,j=q,x
ij
∈x

)《p《max(x
ij
,j=q,x
ij
∈x

)
ꢀꢀ
(7)
[0098]
此切割点p生成了一个超平面,将当前数据空间划分为两个子空间:指定维度小于
p的样本点放入左子节点,大于或等于p的放入右子节点。不断递归至所有的叶子节点只有一个样本点,生成孤立树。
[0099]
对于矩阵x中的每一个数据点xi,令其遍历每个孤立树,计算其平均高度h(xi),对其进行归一化处理,再利用以下公式对其进行异常值打分:
[0100][0101]
其中表示为:
[0102][0103]
从异常分值的公式看,如果数据x在多棵itree中的平均路径长度越短,得分越接近1,表明数据x越异常;如果数据x在多棵itree中的平均路径长度越长,得分越接近0,表示数据x越正常;如果数据x在多棵itree中的平均路径长度接近整体均值,则打分会在0.5附近。对其得分进行阈值设定,高于阈值的得分判断为异常值,对其在采集的wifi指纹数据中进行缺失处理,设置为null。将处理完成的指纹数据矩阵定义为
[0104]
(2.4)对更新完成的采集指纹rss矩阵进行保存,用于后续低秩矩阵分解。
[0105]
(3)对于在经过(2)处理的存在缺失值的实时wifi指纹数据,替换对应的离线指纹库中最邻近指纹的数据,进行低秩矩阵分解,预测还原对应的缺失值。
[0106]
所述步骤(3)中,基于低秩矩阵分解预测还原缺失值的方法如下:
[0107]
(3.1)先将经过iforest处理后的rss矩阵:
[0108][0109]
代替离线数据库中的最邻近点的形成新的指纹库数据矩阵r:
[0110][0111]
(3.2)若矩阵r不包含缺失值,利用矩阵分解的相关知识将其分解为:
[0112]
r=uv
t
ꢀꢀ
(12)
[0113]
现在r中含了缺失值,故没有办法用线性代数的知识直接进行矩阵分解,我们需要一种近似的解法——梯度下降法。目标是找到矩阵r的近似矩阵使得二者的相差最小,要找矩阵u和v。为了达到最优效果,在函数上的体现就是即定义损失函数j:
[0114][0115]
带入化简可得:
[0116][0117]
其中的u
il
,v
jl
就是u矩阵和v矩阵的所求参数。基于该误差计算梯度,而想要更新u矩阵和v矩阵,按照梯度下降的公式:
[0118][0119]
为了使u
il
,v
jl
元素不要过大,加入正则项β,完善预测过程,损失函数改变为
[0120][0121]
则梯度为:
[0122][0123]
梯度下降公式更新为:
[0124][0125]
(3.3)将其缺失值利用低秩矩阵分解补全后保存,形成新的具有预测补全的指纹数据用于后续的指纹库更新和模型的预测定位。
[0126]
(4)利用经过本发明数据处理方法后的指纹数据,对其进行wifi的实时指纹进行wknn算法指纹在线定位。
[0127]
所述步骤(4)中,对于经过异常数据算法处理后的在线定位步骤如下:
[0128]
(4.1)对于处理完成的不包含异常信息的wifi的ap和对应的rss值,利用最邻近算法(nn)得到相关的k个最邻近点坐标。
[0129]
(4.2)对于得到的k个最邻近点的坐标求其rss矩阵和数据处理完成的rss矩阵的欧式距离,并求其倒数作为权值备用。
[0130]
(4.3)利用wknn算法对其进行分析定位,wknn算法中考虑了指纹库中k个与实时处理坐标最近欧式距离的参考点坐标,需从实时定位坐标与k个参考点的欧式距离的倒数作为每个参考点的权值信息,其表达式为:
[0131][0132]
其中ωi为第k个参考点中第i个坐标的权值,为所预测的定位坐标。
[0133]
(4.4)完成定位,输出定位预测坐标
[0134]
(5)将数据处理完成的ap和rss数据进行上传wifi指纹数据库,与在线定位的预测点所处于的指纹位置进行平均,完成wifi指纹库的更新操作。
[0135]
实施例:
[0136]
本次发明主要实施在基于群智感知的机会信号融合定位,首先要求对于多种机会信号进行数据可靠性判断,再由于群智感知的特点,用户上传的数据会存在异常值和缺失值的缺点,为了解决其数据的缺点和提升整体的定位精度,利用本方法的数据处理后,可以得到能正确表征位置的wifi指纹信号,该信号可以用于在线指纹数据库的更新,也可用于基于wifi的rss的指纹数据定位。
[0137]
该方法的评价指标是,利用原有数据(存在异常值和缺失值等的问题数据)进行定位误差分析和经过本方法进行数据处理后进行定位的误差分析进行对比,通过判断本方法是否具有能够提升wifi室内定位精度和正确还原缺失数据的能力。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献