通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  新兵

注册:2016-11-11
跳转到指定楼层
1#
发表于 2016-11-11 14:33:25 |只看该作者 |倒序浏览
本帖最后由 大顺粑粑 于 2016-11-11 14:36 编辑

探索机器学习在网络规划中的应用

背景:

我们先提出一个问题,从一段DT测试log来看,有一段弱覆盖区域,现在需要规划新方案给予解决,网格经理提出了2个方案,方案如下所示,那么A方案和B方案哪个方案更好呢?

  
plan
  
  
power(dBm)
  
  
Longitude
  
  
Latitude
  
  
f
  
  
site_type
  
  
high
  
  
azimuth
  
  
Angle
  
  
cover
  
  
B
  
  
55
  
  
118.914
  
  
30.15142
  
  
900
  
  
OMNI
  
  
30
  
  
0
  
  
0
  
  
平原
  
  
A
  
  
55
  
  
118.9041
  
  
30.15584
  
  
900
  
  
SECTOR
  
  
30
  
  
130
  
  
6
  
  
平原
  
  
A
  
  
55
  
  
118.9041
  
  
30.15584
  
  
900
  
  
SECTOR
  
  
30
  
  
250
  
  
10
  
  
平原
  

以往的情况下,网格经理只能根据经验去做大致定性判断,这样就不可避免的会出现判断错误,覆盖效果达不到预期。对于基站建设这样动辄几十万投入的项目来说,损失相当大。我们迫切需要一种能快速定量分析规划方案的方法。
在这,我们提出一种基于机器学习的网络规划评估方案,它解决的问题就是:定量的去评价这2个方案,给出2个方案的合理度,方便网格经理进行判断。
基本思路:
一个地方终端接收信号的强度,基本和如下因素相关,是这些因素糅合之后的结果:我们设置一个信号的函数:
信号优劣 =f(距离基站距离 ,基站功率 ,天馈方位角,天馈下倾角 , 基站高度 ,天馈增益 ,路径情况 ,频率 , 终端高度 , 其他因素)

基于机器学习的网络规划要解决的就是,通过历史DT测试数据来构造一个适应当地无线环境的数据模型,当我们需要预测新规划方案的覆盖效果时,只要构造对应的无线特征,即可预测该地区的大致信号覆盖情况。
实现方法:
我们还是以DT弱覆盖数据作为案例,进行说明。具体DT测试情况如下:

我们把这段DT测试的log截取出,然后在这段路上规划了2个方案,A方案和B方案,方案如下:这里我们特别添加了一组QUO方案,里面填写的是一组极端数据,这主要是用于计算原始状态DT的评估情况,至于为什么要这样设置,后面会提及。
  
plan
  
  
power(dBm)
  
  
Longitude
  
  
Latitude
  
  
f
  
  
site_type
  
  
high
  
  
azimuth
  
  
Angle
  
  
cover
  
  
QUO
  
  
1
  
  
1
  
  
1
  
  
900
  
  
OMNI
  
  
1
  
  
1
  
  
1
  
  
平原
  
  
B
  
  
55
  
  
118.914
  
  
30.15142
  
  
900
  
  
OMNI
  
  
30
  
  
0
  
  
0
  
  
平原
  
  
A
  
  
55
  
  
118.9041
  
  
30.15584
  
  
900
  
  
SECTOR
  
  
30
  
  
130
  
  
6
  
  
平原
  
  
A
  
  
55
  
  
118.9041
  
  
30.15584
  
  
900
  
  
SECTOR
  
  
30
  
  
250
  
  
10
  
  
平原
  
接下来,我们就用机器学习的办法,来对这2个方案进行预测,判断哪个方案更优秀。
一、训练数据整理
构建训练无线模型时,我们需要用到历史DT数据,作为训练的数据。
我们使用DT测试数据作为训练数据,大约一共是124W行数据。测试LOG数据格式如下:

我们对这些数据做一个初步处理,把大量信息缺失和重复的数据进行了删除。我们以BCCH接收功率-80dBm作为信号好坏的分界点,大于-80dBm的我们设置标签1,小于-80dBm的,我们设置标签0。
这样的设置方法,不可避免会出现如下的一种情况:因为信号强度是有一定波动的,即使在同一经纬度,同一CI的情况下,有时BCCH接收功率大于-80dBm,有时小于-80dBm,这样就会出现这样的后果,即各项无线特征相同,但是他们的标签却有0和1两个结果,这样的数据进行训练,就会出现问题。为解决这个情况,我们做了如下操作:把同经纬度、同CI的数据,对BCCH接收功率做一个平均值计算,确保同一特征下标签只有1个。
然后我们根据DT数据中的CI字段和现网数据库进行匹配,然后根据DT点经纬度、基站经纬度、方位角信息,计算出距离和方位角差角。对覆盖类型和基站类型进行了独立热编码,最终我们的特征字段如下:

对以上特征的来源,我们这里做一个解释:

Speed特征:来源于原始DT测试LOG
Power特征:来源于DT数据中的CI字段获得,即服务小区的发射功率(已根据天馈增益,馈线损耗做调整)
f特征:来源于DT数据中的CI字段获得,即服务小区的频段
Angle特征:来源于DT数据中的CI字段获得,即服务小区的下倾角
dis特征:通过DT数据点经纬度和服务小区经纬度计算获得。
Azimuth_diff特征:通过DT数据点经纬度和服务小区经纬度计算出两者的夹角,然后和该小区方位角相减获得。
0~5特征:通过覆盖类型和基站类型,进行独立热编码获得
Bcch特征:即BCCH接收功率,大于-80dBm设置为1,反之设置为0

最终我们选择了终端移动速度、小区功率,室内还是室外,挂高,频率,下倾角,距离,覆盖类型8个特征。理论上特征越多越准确,预测结果越高,但是考虑到实际数据获得的难易程度,我们只采用了这8个特征。
二、训练算法的选择
对已经整理完成数据,我们进行训练,训练前我们并不知道哪种算法对无线模型训练的效果最好,因此我们把机器学习算法都测试一遍,查看训练结果。这里我们采用了KNN,LR,RF,DT,GBDT共5种算法进行比较,测试发现随机森林(RF)算法效果最佳,因此我们采用随机森林算法。

为获得更好的训练结果,我们采用暴力遍历的方法,来寻找最优的算法参数。同时考虑到电脑本身的配置和训练时间的问题,我们最终设置的参数如下:
RandomForestClassifier(n_estimators=250,max_depth=60,min_samples_leaf=1,min_samples_split=3)
最终acc在94%左右。
训练完成后,为后期使用方便,不需要每次都进行训练,我们把训练模型进行了固化,后期能更快更方便的使用。
三、测试数据整理
训练数据和无线模型完成后,我们需要构造预测数据,来完成我们的规划方案评估。从格式上来说,预测数据和之前提到的训练数据是一模一样的。
回到清凉峰方案选择的问题上来,我们现在需要构造预测数据,然后导入到训练模型中进行训练。

构造预测数据和之前提到的构造训练数据虽然格式一样,但实际内容有略微差别,在构造训练数据时,各项特征我们是根据服务小区的信息来构造各种特征字段的,但是在构造预测数据时,我们需要用我们新规划的方案的信息,来构造终端移动速度、小区功率,室内还是室外,挂高,频率,下倾角,距离,覆盖类型这8个特征。
为方便说明,我们以这段log中a点做一个解释说明:
a点在B方案的情况下,a点的小区功率,挂高,下倾角,距离,方位角夹角等特征,我们采用B方案来构造预测数据。我们把特征数据导入到模型中进行预测,即可预测出a点在B方案案下的信号好坏情况。
三、结果预测
我们把这段构造的LOG导入模型进行预测,把电平值大于-80dBm的点去除以总的测试点数,即可得出该方案下-80dBm电平以上的占比情况,我们以此作为该方案的覆盖合理度。下表就是方案的预测情况。实际发现A方案改善度为100%,B方案为86.98%。
  
plan
  
  
power(dBm)
  
  
Longitude
  
  
Latitude
  
  
f
  
  
site_type
  
  
high
  
  
azimuth
  
  
Angle
  
  
cover
  
  
coverage
  
  
QUO
  
  
1
  
  
1
  
  
1
  
  
900
  
  
OMNI
  
  
1
  
  
1
  
  
1
  
  
平原
  
  
76.92%
  
  
B
  
  
55
  
  
118.914
  
  
30.15142
  
  
900
  
  
OMNI
  
  
30
  
  
0
  
  
0
  
  
山区
  
  
86.98%
  
  
A
  
  
55
  
  
118.9041
  
  
30.15584
  
  
900
  
  
SECTOR
  
  
30
  
  
130
  
  
6
  
  
平原
  
  
100.00%
  
  
A
  
  
55
  
  
118.9041
  
  
30.15584
  
  
900
  
  
SECTOR
  
  
30
  
  
250
  
  
10
  
  
平原
  
  
100.00%
  
现在我们可以解释为什么要设置一组QUO方案进行对比了,因为QUO方案里都是极端数据,在QUO方案下,对这段路线无任何影响,因此这实际上也是这段LOG的原始覆盖情况。
四、站址搬迁对比
站址搬迁对比和方案对比其实非常相近,方案规划是在原始数据上增加新方案的影响,并进行判断,站址搬迁判断的是一个方案在2种不同情况下的对比情况。以下例举的是在CI:17473替换成A或者B方案的情况下可能的覆盖率。
  
plan
  
  
power(dBm)
  
  
Longitude
  
  
Latitude
  
  
f
  
  
site_type
  
  
high
  
  
azimuth
  
  
Angle
  
  
cover
  
  
coverage
  
  
QUO
  
  
1
  
  
1
  
  
1
  
  
900
  
  
OMNI
  
  
1
  
  
1
  
  
1
  
  
平原
  
  
76.92%
  
  
A
  
  
55
  
  
118.914
  
  
30.15142
  
  
900
  
  
OMNI
  
  
30
  
  
0
  
  
0
  
  
山区
  
  
65.09%
  
  
B
  
  
55
  
  
118.9041
  
  
30.15584
  
  
900
  
  
SECTOR
  
  
30
  
  
130
  
  
6
  
  
平原
  
  
93.49%
  
  
B
  
  
55
  
  
118.9041
  
  
30.15584
  
  
900
  
  
SECTOR
  
  
30
  
  
250
  
  
10
  
  
平原
  
  
93.49%
  
四、极端情况
有的时候会出现,A和B方案的改善率均为100%的情况,那么是不是A和B方案就无法分辨了呢?实际答案是否定的。我们可以把信号优劣的分界点设置的更高,比如说-70dBm,这样就能进行进一步区分了。
代码部署
编程采用了python语言,机器学习算法采用了sklearn库,数据处理采用了pandas库。具体结构如下:
     
dt_data文件夹:用于放置训练数据,我们放置了临安的广域DT数据,在其他地区使用时,建议放置其他地区的测试数据。
Test_data文件夹:预测数据
Training_template文件夹:用于放置已经固话的训练模型
GSM_template.csv:现网基站数据
Network_training_model.py:程序源代码
Planning_scheme:方案模版,用于填写方案
Result:方案预测结果
总结
目前已有的信号覆盖评估系统,采用的方法是:基于无线传播模型的仿真软件,该类软件属于专业类型软件,价格昂贵,且在区县分公司很少有利用。采用的方法属于根据无线传播模型进行正向仿真。
基于机器学习的网络规划方案,创新的根据当地的DT数据进行无线模型重构,更适应当地的无线使用环境,且基于开源的代码库,完全免费,在无线特征尽可能准确的情况下,能进一步提高预测的准确性。
通过机器学习训练模型,我们解决了本文开头提出的问题,而且还能解决站址搬迁方案选择的问题。网络经理进行方案选择判断时,该模型提供了一个很好的依据,而且该依据是量化的,更加直观。在第一方案现场施工谈站受阻时,如何选择备选方案,我们也有了更好的依据。站址搬迁时,如何尽可能的确保该区域覆盖稳定性,我们可以提前进行预判,这样我们在站址搬迁时也更有底气。


PST测试数据其实是一个非常具备价值的数据,但是传统网络优化规划都没有引起充分的重视,如果在训练模型、算法足够强大,应该能发挥更强大的能量,希望能给大家一些参考价值,转载请注明出处。





举报本楼

本帖有 6 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-11-22 06:52 , Processed in 0.592826 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部