本文数据集指的是从多名志愿者的安卓移动端设备中采集到的近一个月时间跨度的设备性能情况。 该数据集分为两种类型的(*.txt)文本,一种以”gps”开头,一种以”usage”开头。 以”usage”开头的是安卓日志,与本文的实验无关; 而以”gps”开头的数据集则是本文使用的不同时刻关于移动端设备性能的各种数据。 本数据集共11列,对应的分别为: Latitude(纬度)、Longitude(经度)、Date and Time(具体时间)、Available Memory(可用的内存)、 Upload Rate(网络上传率)、Download Rate(网络下载率)、Battery Remain(剩余电量)、 Max CPU Frequency(最大CPU频率)、Current CPU Frequency(当前CPU频率)以及Min CPU Frequency(最小CPU频率)。 下面简述数据处理步骤: 1 数据采集与处理 (1)Step 1: Raw Data 目的:利用Tracer App采集志愿者的Android机器数据。 数据包括: ①Latitude,Longitude(地理位置,经纬度信息) ②Date_and_Time(日期+当前时刻) ③Available_Memory, Total_Memory(可用内存,总内存) ④Upload_Rate, Download_Rate(上传速率,下载速率) ⑤Battery_Remain(剩余电量百分比) ⑥Max_CPU_Frequency, Current_CPU_Frequency, Min_CPU_Frequency(最大CPU频率,当前CPU频率,最小CPU频率) (2)Step 2: DBSCAN 目的:将杂乱的GPS经纬度信息分成多个类别,代表了某个user去过的某些位置 (例如,某些users经常在学校、饭堂、宿舍、商场等地方) 效果:user设备的网络和算力与这些常去的地点存在一定相关性, 提取出这些地点分了能够提高对算力和网络情况的预测准确率。 方法:利用DBSCAN算法将Latitude,Longitude,也就是经纬度信息,进行聚类得到POI (Position of Interest), 这个POI就代表了user常去的几个地点每个user有一个单独的聚类而不是所有user的数据一起聚类。 2 状态预测 (1)数据与预测方法 目的:这一步介绍的我们使用的预测模型和用于训练模型的数据。 方法(模型): <1>预测模型:使用GRU/RNN/LSTM三类深度学习模型。 <2>训练和测试模型使用的数据:使用DBSCAN聚类后的数据(包含POI,不包含经纬度)。 数据(特征): 用于训练的数据包括下述内容: <1>daytype(星期几) <2>whatday(是否节假日) <3>date(当前日期) <4>time(当前时刻) <5>POI(用户去过的地理位置分类) <6>memory_percentage(可用内存百分比) <7>upload(网络上传率) <8>download(网络下载率) <9>bat-rem(剩余电量) <10>cur_cpu_fre(当前CPU频率) <11>Comm_Class(通信分类,4分类) <12>Comp_Class(算力分类,4分类) 使用上述特征数据训练GRU/RNN/LSTM模型。 (2)算力与网络分类标准 目的:这一步是人为定义算力和网络的分类情况,而不是使用GRU/RNN/LSTM去预测算力或网络。 ①网络质量分类:根据设备的所有上传率和下载率的平均值信息, 若设备某个阶段上传率/下载率大于平均值,则判定为“不好的上传率/下载率”, 上传率和下载率分别有2种分类,那么网络一共就是4分类。 ②算力情况分类:算力和网络分类思路是一样的,利用“内存百分比”和“当前CPU频率”进行二分类,得到了4个算力的分类。 (注意:FLOAPS信息在cMAB方法中使用) (3)算力与网络预测效果 目的:这一步展示GRU/RNN/LSTM对算力和网络预测的准确率 网络预测准确率: ①GRU: 90.51% ②RNN: 86.90% ③LSTM: 86.72% 算力预测准确率: ①GRU: 87.72% ②RNN: 85.08% ③LSTM: 84.84% 我们可以发现:这三个方法的准确率相差不大,其中GRU模型有较高准确率(网络:90.51%,算力:87.72%)。