室内WiFi位置指纹定位实验报告

一、实验目的

       全球定位系统是迄今为止应用最为成功的地位系统,具备高精度的定位能力,但在室内和高楼密布的城区等信号遮挡严重的密集环境中,由于接受机捕获不到足够强度的卫星信号,GPS的定位质量难以保证甚至无法完成定位,使其可用性受到严重制约。由于室内环境下都普及了WiFi,因此利用WiFi进行定位无需额外部署硬件设备,是一个非常节省成本的方法。我们想通过wifi指纹定位技术来解决目前存在的这个瓶颈,通过记录空间的WiFi信号特征,形成wifi指纹库,将WiFi信号与空间位置进行绑定,利用移动终端或查询终端提供实时定位信息以及路径规划等功能,动态实现方向指引。帮助用户用最短的时间寻找目标,从而提高公共场所的服务水平与用户体验,为解决当前GPS全球定位系统所存在的问题,提供了一个可行的方案。

二、数据采集

       选择北京工商大学艺A301教室进行数据采集,以该教室中心为原点,建立坐标系,确立坐标点,每隔两点测试一组数据(横轴两点间以三个座位为一个单位,纵轴以两排座位为一个单位,二者近似相等),对每个点进行RSSI信号强度测试,针对每一个点测量5个信号强度。

       由于校园网BTBU的信号强度以及信号AP的不确定性,为了增加信号的稳定性,我们使用了两台手机的热点信号(手机位置固定不变)以及三个BTBU信号。

       

      我们完成数据采集后,利用EXCEL表格按照数据采样的顺序,录入每个点的(X,Y)坐标以及在这个点测到的所有AP的mac地址和信号强度。录入完成后,将数据随机分为训练集和测试集,比例约为7:3。

部分测试集数据如下:(c4:ff:1f:e8:f7:20;c4:ff:1f:e8:f4:a0 ;c4:ff:1f:e8:f8:40是三个BTBU的mac地址,111222和panda是两个手机热点)

       训练集数据如下:

三、决策树算法原理

       决策树(Decision Tree)是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。决策树算法容易理解,适用各种数据,在解决各种问题时都有良好表现,尤其是以树模型为核心的各种集成算法,在各个行业和领域都有广泛的应用。

       为了要将表格转化为一棵树,决策树需要找出最佳节点和最佳的分枝方法,对分类树来说,衡量这个“最佳”的指标叫做“不纯度”。Criterion这个参数正是用来决定不纯度的计算方法的。sklearn提供了两种选择:

输入”entropy“,使用信息熵(Entropy)

输入”gini“,使用基尼系数(Gini Impurity)

回归树衡量分枝质量的指标,支持的标准有三种:

输入"mse"使用均方误差mean squared error(MSE),父节点和叶子节点之间的均方误差的差额将被用来作为特征选择的标准,这种方法通过使用叶子节点的均值来最小化L2损失。

输入“friedman_mse”使用费尔德曼均方误差,这种指标使用弗里德曼针对潜在分枝中的问题改进后的均方误差。

输入"mae"使用绝对平均误差MAE(mean absolute error),这种指标使用叶节点的中值来最小化L1损失属性中最重要的依然是feature_importances_,接口依然是apply, fit, predict, score最核心。

四、实验代码

五、实验结果


由结果可知:

       gini的误差距离为5.85,entropy的误差距离为7.16,mse的误差距离为9.32,friedman_mse的误差距离为8.83,mae的误差距离为8.49

       因此,参数为gini的错误误差最短,为5.85。

六、实验中遇到的问题

1、数据采集中遇到的问题

       一开始在文二二层的不同教室采集数据找不到相同的BTBUmac地址,后来集中到一个小教室里测,发现粒度太小,强度差异小。

       解决方案:寻找了一个大教室:艺A301教室,该教室所测量到的数据,BTBU信号稳定,强度有了明显差异。

2、程序运行中的问题

运行此处时出现过报错,原因是我们的curpre值超出了traincoor长度,因此程序无法运行出结果。

解决方案:经过与同学探讨后,修改了此处代码。

七、实验评价

此次实验优缺分析如下:

       WiFi室内指纹定位具有成本低、准确率高的优点,实验依托的决策树算法,属于监督性的分类算法,适合指纹定位的应用。通过小组成员的共同努力,代码成功输出五个参数的误差距离。

       但是实验也存在欠缺:首先,在收集WiFi信号强度、采集数据库信息时,动态变化的数据会产生预测误差,小组实验对于误差处理方面有些欠缺。其次,在代码编写过程中,主要借鉴网上开源项目,对于组内考虑的一些因素未能编进代码。最后,代码操作不熟练导致实验进程坎坷。

       最后,小组成员在此次实验过程中收获满满,希望在接下来的实验中,能积累经验,运用所学,能有更好的发挥。

小组成员:刘鑫,李瑶,韩亚娟,潘晓杰

你可能感兴趣的:(室内WiFi位置指纹定位实验报告)