system: [SYSTEM]

user: 3. 实例分析 3.1. 数据准备 本研究采用的实验数据为某城市2017年6月26日~8月29日的移动用户轨迹数据，脱敏后的轨迹数据以手机基站的经纬度坐标记录用户的位置信息，以连接时间记录用户的时间信息，如表1所示。 Table 1 Mobile user trajectory data instanc 加密 ID 基站 ID 连接 时间 基站 经度 基站 纬度 078***a5 5****6 14***950 12*** 3*** a20***e6 6****E 14***951 12*** 3*** 0ed***51 6****B 14***956 12*** 3*** ∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙ 99f***1d 5****A 15***340 12*** 3*** d3e***12 5****0 15***400 12*** 3*** 表1. 移动用户轨迹数据样例 在研究中，我们需要对移动用户轨迹数据进行清洗，去除重复、无效、缺失日期的数据。然后以10分钟作为间隔时段，统计基站的负载数据及基站之间的转移，作为实验的样本数据，如表2所示。 Table 2 Base station load statistical result 基站ID 统计时间 基站负载 5****6 h8m0 1*** 6****E h8m0 2*** ∙∙∙ ∙∙∙ ∙∙∙ 5****A h23m6 1*** 5****0 h23m6 2*** 表2. 每基站负载统计表 3.2. 影响因素选取 3.2.1. 时间因子 在基站的分钟级多步预测中，本文首先基于人群白天活动夜晚休息的规律，选择9点~21点作为待预测时段。在预测时段的时间影响因子选取时，考虑下一时刻的负载数据可以认为是当前时刻负载的聚集及影响。因此选定当前时刻的6个负载数据作为时间因子。例如预测6月26日的9:10， 9:20， 9:30， 9:40， 9:50， 9:60六个时段的负载数据，选定6月26日的8:10， 8:20， 8:30， 8:40， 8:50， 8:60作为时间因子输入到模型中，结果如图2所示。 图2. 部分日期9:00~21:00基站负载变化 3.2.2. 周期因子 在对数据进行周期性统计的过程中，可以发现基站的人群运动模式呈现星期稳定性。在不同时间段的基站负载数据中，呈现着相同的周期模式。因此，可以采用周期因子作为预测模型的影响因素。例如预测7月3日的9:10， 9:20， 9:30， 9:40， 9:50， 9:60六个时段的负载数据，选定7月3日的8:10， 8:20， 8:30， 8:40， 8:50， 8:60以及9:10， 9:20， 9:30， 9:40， 9:50， 9:60作为周期因子输入到模型中，结果如图3和图4所示。 图3. 某基站周一负载变化图 图4. 某基站周日负载变化图 3.2.3. 空间因子 在空间因子的选取过程中，首先统计不同时段各基站的负载数据以及基站之间人群相互转移的数据，计算手机用户群体在基站间的转移概率矩阵，矩阵部分数据如下图5所示。 同时基于选定的预测目标基站A，在转移概率矩阵中可发现有向基站A转移负载的概率矩阵如下表3所示，从表中发现有21个基站的人群会向A基站转移。在该矩阵中，概率最大的前五个基站转移人流占据总人流的80.8%，因此选择向该基站转移人群数的概率最大的前5个基站B， R， I， T， U作为影响基站下一时刻负载的空间因子。例如预测6月26日A基站的9:10， 9:20， 9:30， 9:40， 9:50， 9:60六个时段的负载数据，选定6月26日B， R， I， T， U五个基站的8:10， 8:20， 8:30， 8:40， 8:50， 8:60作为空间因子输入到模型中，如表3所示。 图5. 某区域基站转移概率矩阵 Table 3 A base station load transition probability matri A A B 0.049 M 0.002 C 0.01 N 0.001 D 0.011 O 0.001 E 0.023 P 0.002 F 0.012 Q 0.001 G 0.047 R 0.112 H 0.007 S 0.001 I 0.167 T 0.192 J 0.003 U 0.353 K 0.001 V 0.006 L 0.002 表3. A基站负载转移概率矩阵 3.3. 模型构建 在上文的时间因子、周期因子和空间因子确定之后，因为需要提前一周数据作为周期因子并且预测时段为9点~21点，可选择的样本数据共为7月3日~8月29日共60天，每天预测时段为12个小时，共有样本数据为720组。随机选择N组样本数据作为训练样本，720-N组样本数据作为测试样本。 在设计BP神经网络模型的输入和输出时，假设选择输出为A基站的7月3日的9:10， 9:20， 9:30， 9:40， 9:50， 9:60，那么对应的输入则为A基站7月3日的8点6个数据、6月26日的8点和9点12个数据，5个关联基站的7月3日的8点的(6 × 5) 30个数据，总共48个数据作为输入数据。为了提高网络的训练速率，便于网络的计算，本文使用premnmx函数对原始数据样本进行归一化处理，使处理后的数据均匀地分布在[−1，1]的范围内。预测结果采用平均相对误差MAPE，平均绝对误差MAE，均方误差MSE，均方根误差RMSE等指标进行评价。各指标的计算公式如下： M A P E = 1 N ∑ ​ | Y p r e t − Y t e s t t Y t e s t t | (2) M A E = 1 N ∑ ​ | Y p r e t − Y t e s t t | (3) M S E = 1 N ∑ ​ | Y p r e t − Y t e s t t | 2 (4) R M S E = 1 N ∑ ​ | Y p r e t − Y t e s t t | 2 (5) 本文采用单隐层的BP神经网络进行实现，输入层节点数为48个，隐含层节点数采用试算法得到为14个，输出层节点数为6个，设置的BP神经网络结构为48-14-6，共有48 × 14 + 6个权值，14 + 6个阈值。其节点传递函数采用对数型S函数和线性函数，训练函数采用 L-M 优化算法。BP神经网络训练次数取100，学习率取0.1。 遗传算法用来优化BP神经网络的初始权值和阈值，因此遗传算法个体编码长度为698。遗传算法初始种群规模取20，进化代数取30次，交叉概率取0.3，变异概率取 0.01。 3.4. 结果分析 神经网络的预测准确性和训练数据的多少有较大的关系，尤其对于一个多输入和多输出的网络，所以本文首先基于不同的训练样本数据进行模型训练，对多步预测结果的误差进行均值计算。最后结果显示当样本数据为660，测试数据为60时，多次试验结果的评价较好，因此选用当前样本数据集合进行模型预测(表4)。 Table 4 Different number of training data prediction erro 训练数据 测试数据 预测误差百分比 360 360 28.80% 420 300 25.43% 480 240 17.20% 540 180 14.38% 600 120 11.43% 660 60 10.34% 表4. 不同数目训练样本预测误差 使用处理好的数据分别对BP神经网络和遗传算法优化的神经网络进行测试，多步预测结果中的6个被预测时刻的预测结果如图6、图7、图8、图9、图10、图11所示。 从图6~图11中可以看出，使用遗传算法优化过的模型得出的预测结果与期望输出的结果值更加接近，误差值更小。在多步预测的结果值中，越接近当前时刻，预测的准确度更高，T + 1时刻的预测值相比T + 2之后时段的预测值准确度更高，说明随着时间的推移，基站负载的转移具有了变化，模型还不能通过时段之间的变化更好的把握这种变化规律，多步预测的结果随着预测时间段的加长，准确率会逐渐降低。 预测结果的评价指标如表5所示。通过实验评价指标可以看出，优化后的预测模型在平均相对误差MAPE，平均绝对误差MAE，均方误差MSE，均方根误差RMSE四个指标上对于基本的BP模型都有所降低，说明遗传算法优化后的BP神经网络能够提高预测的精度。