交通轨迹预测评估模块¶
评估指标¶
对于轨迹下一跳预测任务,本评估器实现了一系列基于 TopK 的评估指标。
评估指标公式符号表
符号 |
含义 |
---|---|
\(N\) |
测试集的大小 |
\(i\) |
第 \(i\) 条测试数据 |
\(K\) |
取置信度前 \(K\) 个预测输出进行评估 |
\(T(i)\) |
第 \(i\) 条测试数据中的真实下一跳位置 |
\(R(i)\) |
模型对于第 \(i\) 条测试数据预测结果中置信度前 \(K\) 的位置集合 |
\(Hit(i)\) |
第 \(i\) 条测试数据中预测命中的位置集合,即 \(T(i) \cap R(i)\) |
\(Rank(i)\) |
第 \(i\) 条测试数据中的 \(T(i)\) 在 \(R(i)\) 中的排名 |
\(|*|\) |
集合的取模运算符 |
使用上述符号,TopK 评估指标的计算公式为:
指标 |
公式 |
---|---|
精准率 |
\[Precision@K=\frac{\sum_{i=1}^{N}|\operatorname{Hit}(i)|}{N \times K}\]
|
召回率 |
\[Recall@K=\frac{\sum_{i=1}^{N}|\operatorname{Hit}(i)|}{N}\]
|
F1 分数 |
\[F1@K=\frac{2 \times \text { Precision@ } \times \text { Recall@ } K}{\text { Precision } @+\text { Recall@ } K}\]
|
平均倒数排名 |
\[MRR@K=\frac{1}{N} \sum_{i=1}^{N} \frac{1}{\operatorname{Rank}(i)}\]
|
归一化折损累计增益 |
\[NDCG@K=\frac{1}{N} \sum_{i=1}^{N} \frac{1}{\log _{2}(\operatorname{rank}(i)+1)}\]
|
可以通过在用户自定义 Config 文件中加入 metrics
与 topk
两个参数,来控制本评估器使用哪些评估方法。
评估设置¶
下面是评估器所涉及到的一系列参数:
位置:libcity/config/evaluator/TrajLocPredEvaluator.json
metrics (list of string)
: 默认值为["Recall"]
。可选参数为["Precision", "Recall", "F1", "MRR", "MAP", "NDCG"]
。topk (int)
: 默认值为1
。