Page 252 - 《软件学报》2021年第10期
P. 252
3224 Journal of Software 软件学报 Vol.32, No.10, October 2021
分比.例如,数据记录(0a50e09262,1426245782,discharge,54)表示用户 0a50e09262 的设备在时刻 1426245782 处
于放电状态,且电池电量水平为 54%.
为了抽取会话,本文首先舍弃掉了所有处于充电状态下的数据样本.对于一串连续的处于放电状态的、中
间不含任何充电状态样本的样本,理论上来说,其可以被认为是一个会话.但在实际中,可能存在以下两种情况
使得上述论断不一定成立.
(1) 相邻两条样本之间的时间间隔过长.如果用户在一段时间内关闭了手机,或者由于数据收集的故障导
致一段时间内的数据没有被有效收集,都会出现相邻两条样本之间时间间隔过长的现象.在上述情况
下,这段较长时间内的电池充放电状态及电量信息是无从得知的.为了保证数据的可靠性,本文从过
长的间隔处(本文选取的阈值为 10 分钟)将样本序列分割开来,将其前后分别作为一个会话处理;
(2) 在连续的两条记录中,后一条的电量水平高于前一条.前文已经讨论过,在一个会话中,电量是随着时
间单调递减的,因此不可能出现电量升高的情况.唯一可能的原因是,用户在两条记录之间的时间内
更换了电池.在这种情况下,本文也从上述两条记录中间将样本序列分割,将其前后分别作为一个会
话处理.
通过上述方法,本文可以从原始数据中抽取出会话以供后续分析.为了使得分析更加可靠,本文去除了持续
时间过短的会话,仅保留了持续时长至少为 1 小时的会话.最终,本文共从原始数据中抽取得到了 37 088 个会话.
3.3 描述性分析
在生成会话后,我们随即可以获知对应会话的若干信息,例如在该会话内,用户的使用行为和系统状态等.
当用户发起一个续航时间查询请求时,从会话开始的时间 t s 直到查询时刻 t q 这段时间内的上下文信息能够体现
用户的使用行为和系统状态,从而很有可能为续航时间预测提供信息.为了检验这一假设是否成立,本小节基于
抽取得到的会话及相关上下文信息,对数据进行简单的描述性分析.
用户在发起查询时的电量和目标电量之间的差值越大,续航时间会倾向于更长.因此,预测续航时间不能脱
离上述电量差值进行,否则会失去实际意义.为了使得表述更加统一,本文取而代之地对发起查询后的电量消耗
速率进行预测:
bt () bt bt () bt
( )
( )
R q e q e .
1 t t Δt
e q
需要说明的是:在 b(t q )和 b(t e )给定的情况下,R 1 和t 呈现反比关系.因此,预测 R 1 和预测t 是等价的.
为了进行描述性分析,本文对全部 37 088 个会话进行了采样,从每个会话中随机选取了一个时间点作为发
起查询的点 t q ,分析发起查询前的相关信息与发起查询后的耗电速率的关系.
首先,从直觉上看,电池的电量消耗速率和用户发起查询时剩余电量是有关的.为了验证这一点,本文采用
Bin-Bin 图展示了两者之间的关系,如图 1(a)所示.可以看出:当发起查询电量为 30%时,查询后的耗电速率更高.
在 30%之前的部分,查询时电量越低,后续耗电速率越低,说明用户会倾向于保守使用;在 30%之后的部分,查询
时电量越高,后续耗电速率越低,说明在剩余电量较为充沛时用户的使用强度通常更低.
进一步地,本文希望了解在用户发起查询前后,电量消耗的速度是否相对恒定.如果电池的消耗速率整体来
说比较不稳定,则续航时间预测本质上的可预测性相对较低.本文按照与计算 R 1 类似的方式,计算发起查询前的
平均耗电速率 R 0 :
() bt
bt ( )
R s q .
0
t t s
q
图 1(b)用 Bin-Bin 图的方式展示了 R 0 和 R 1 之间的相关性.可以看出,两者呈现出了比较明显的正相关,即:
在同一会话内,用户发起查询前后的耗电速率是相对一致的.这说明续航时间是可预测的.
接下来,本文探索哪些使用行为信息可能与 R 1 紧密相关,能够对预测续航时间带来帮助.本文首先分析了用
户的电池使用习惯与续航时间之间的相关性.本文定义 R 为用户在所有会话中 R 0 的平均值,该值表示了用户本
身的电池使用习惯,即用户总体上习惯于重度使用还是轻度使用.图 1(c)展示了 R 与 R 1 之间的关联,可以看