Page 256 - 《软件学报》2021年第10期
P. 256
3228 Journal of Software 软件学报 Vol.32, No.10, October 2021
亮或者熄灭屏幕时,会产生一条屏幕显示状态变化的记录.每次当系统发送一条广播时,该广播及其
相关信息也会被记录下来.
基于以上信息,本文最终整理得到了 22 组不同的特征,详细描述见表 3(带*的项表示采用独热编码进行表
示).其中,F0 表示查询时电量与目标电量之间的差值,该信息是最重要的一组特征,是续航时间预测的基础;F1~
F4 为查询时特征;F5~F18 为会话特征;F19~F21 为历史特征.为了保证不同特征处于相同的维度,本文对全部特
征进行了标准正则化,即:通过线性变换,将特征转换为均值为 0、标准差为 1 的形式.
Table 3 Features used in our model
表 3 特征详情
组别 名称 特征数 描述
F0 battery_gap 1 查询时电量与目标电量之间的差值
F1 current_battery 1 查询时电量
F2* current_hour 24 查询时的小时数(即处于一天当中的第几个小时)
F3* current_weekday 7 查询时的星期日(即处于一周当中的第几天)
F4 sensor_T2_last 150 150 个 T2 传感器在发起查询前的最后一次读数
F5 start_battery 1 会话开始时的电量
F6* start_hour 24 会话开始时的小时数(类似 F2)
F7* start_weekday 7 会话开始时的星期日(类似 F3)
F8 age 1 会话从开始直至查询时经过的时间
F9 consumption 1 会话从开始直至查询时已经消耗的电量
F10 history_rate 1 会话从开始直至查询时的平均耗电速率(F10=F9/F8)
F11 naïve_surv 1 假设会话始终保持 F10 的消耗速率得到的续航时间(F11=F0/F10)
F12 past_rate 11 细粒度历史耗电速率,详见正文
F13 sensor_T1 45 发起查询前 1/5/10/30/60 分钟内的 T1 传感器均值
F14 sensor_T2_5min 150 150 个 T2 传感器在发起查询前 5 分钟之内的读数均值
F15 app_occurrence 400 发起查询前 5/10/30/60 分钟内,50 个热门应用的使用情况(前台&后台)
F16 app_usage 100 当前会话内 50 个热门应用的使用时间占比(前台&后台)
F17 screen 2 当前回话内屏幕电量次数&亮屏时间占比
F18 broadcast 86 当前会话内收到的广播次数
F19* user_index 51 用户 ID(0~50)
F20 session_history 8 历史会话中的电量消耗速率,详见正文
F21 screen_history 8 历史会话中的屏幕使用记录,详见正文
5.3 评价指标
为了评价续航时间预测模型的准确性,本文采取了以下 3 种评价指标:均方根误差(root mean square error,
简称 RMSE)、Kendall’s Tau 和 Concordance Index(C-Idx).3 种评价指标的具体含义及选择上述指标的理由如下.
5.3.1 均方根误差
最直观的衡量预测续航时间与实际续航时间差异的方法是计算两种之间的差值.预测续航时间与实际续
航时间之间的差距越小,则说明结果越准确.为了实现这一目标,本文采用均方根误差度量对上述差值进行度
量.均方根误差最大的优点是具有实际意义,比较直观,易于理解.例如:如果均方根误差为 30 分钟,则说明预测续
航时间与实际续航时间之间的平均差距为 30 分钟.
但是,针对续航时间预测,均方根误差也存在局限性.
首先,均方根误差对异常点比较敏感 [25] .如果数据中存在个别数值极大或者极小的异常点,则均方根误
差的值会受到很大的影响;
其次,均方根误差对于估计过度和估计不足的惩罚力度是不同的 [26] .例如:如果对于一次查询,实际的
续航时间是 30 分钟,那么,如果预测的续航时间少于 30 分钟,则均方根误差至多为 30 分钟;如果预测的
续航时间多于 30 分钟,则均方根误差没有上限.这会使得均方根误差放大了估计过度的影响,而忽视了
估计不足的影响.
因此,为了解决这一问题,本文进一步采用以下两种评价指标.