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 分钟,则均方根误差没有上限.这会使得均方根误差放大了估计过度的影响,而忽视了
                        估计不足的影响.
                    因此,为了解决这一问题,本文进一步采用以下两种评价指标.
   251   252   253   254   255   256   257   258   259   260   261