3.1 KiB
懂电化学(锂离子迁移率、内阻随温度变化、Peukert效应) 不要直接上机器学习 不能忽视温度 模型要动态
在建立微分方程时,需要决定哪些 $P_{component}$(组件功率)是必须项。论文1通过数据证明了以下因素最关键,你可以直接引用作为你建模的依据:
- 屏幕 (Screen):论文中 F17 特征(屏幕点亮次数和时间)被证明高度相关 。这支撑你在方程中加入 $P_{screen}(t)$。
- 应用状态 (App Usage):论文提取了前台和后台应用的使用情况 。这支撑你将负载分为“前台高功耗”和“后台保活”两类。
- 历史惯性 (
R_0vsR_1):论文发现“查询前的耗电速率(R_0)”与“查询后的耗电速率(R_1)”呈正相关 。- 建模启发:这意味你的物理模型中,负载电流
I(t)不能是纯随机的,它具有时间相关性(自相关)。你可以用一个马尔可夫链或时间序列模型来生成I(t)的输入函数。
- 建模启发:这意味你的物理模型中,负载电流
放电会话”的定义 (Session Definition) 题目要求建立连续时间模型。论文1对“放电会话”的定义非常科学,你可以直接借用这个定义来设定你的模拟边界: 定义:从断开充电器开始,直到重新连接充电器 。 处理:去除了小于1小时的短会话 。这可以作为你模型验证时的“数据预处理标准”。
验证指标 (Evaluation Metrics) A题要求你“量化不确定性”。论文1提供的评估指标非常适合写入你的论文:
- 均方根误差 (RMSE):衡量预测时间与真实时间的绝对差距 。
- Kendall's Tau:衡量排序一致性 。这在A题中很有用,比如预测“打游戏”比“待机”耗电快,如果模型算反了,这个指标就会很低。
- Concordance Index (C-Index):用于处理“截断数据”(即用户没等到没电就充电了) 。这是一个加分项,如果你在模型验证中提到了如何处理“未完全放电的数据”,评委眼晴会一亮。
A题究竟需要什么样的“数据集”?针对A题的机理建模(物理建模),你需要两类数据。论文1的Sherlock数据集属于第二类。
第一类:组件级功耗参数(用于构建方程系数)你需要知道每个部件到底消耗多少瓦特,才能写出 $P_{total} = P_{cpu} + P_{screen} + \dots$这类数据通常来自硬件评测网站(如AnandTech, NotebookCheck)或Datasheet,而不是用户行为日志。屏幕:亮度(nits) vs 功耗(W) 的曲线。(通常是非线性的,如 $P \propto B^{1.5}$)。CPU:不同频率(GHz)和负载(%)下的电压(V)和电流(A)。基带/WiFi:发送功率 vs 信号强度(dBm)。
第二类:用户行为序列(用于输入方程进行模拟/验证)这是Sherlock数据集(论文1)的用武之地。你需要输入序列 u(t) 来驱动你的微分方程:t=0 \to 10min: 屏幕亮,CPU 20%(看小说)t=10 \to 40min: 屏幕亮,CPU 80%,GPU 60%(玩原神)t=40 \to 60min: 屏幕灭,后台下载(听歌)论文中的数据 可以帮你构建这些典型场景(Scenario)。