交通状态预测评估模块¶
我们实现了若干种评估损失函数,以使得同一任务下的不同的模型可以在同样的标准下进行比较。
评估指标¶
对于交通状态预测任务,本评估器实现了一系列评估指标:
评估指标 |
评估指标(英文) |
公式 |
---|---|---|
平均绝对误差 |
MAE(Mean Absolute Error) |
\[MAE=\frac{1}{n}\sum_{i=1}^n|\hat{y_{i}}-y_i|\]
|
均方误差 |
MSE(Mean Squared Error) |
\[MSE=\frac{1}{n}\sum_{i=1}^n(\hat{y_{i}}-y_i)^2\]
|
均方根误差 |
RMSE(Rooted Mean Squared Error) |
\[RMSE=\sqrt{\frac{1}{n}\sum_{i=1}^n(\hat{y_{i}}-y_i)^2}\]
|
平均绝对百分比误差 |
MAPE(Mean Absolute Percent Error) |
\[MAPE=\frac{1}{n}\sum_{i=1}^n|\frac{\hat{y_{i}}-y_i}{y_i}|*100\%\]
|
决定系数 |
R2(Coefficient of Determination) |
\[R^2=1-\frac{\sum_{i=1}^n(y_i-\hat{y_i})^2}{\sum_{i=1}^n(y_i-\bar{y})^2}\]
|
可释方差值 |
EVAR(Explained variance score) |
\[EVAR =1-\frac{Var(y_i-\hat{y_i})}{Var(y_i)}\]
|
其中,真实值为\(y=\{y_1,y_2,...,y_n\}\),预测值为\(\hat{y} = \{\hat{y_1}, \hat{y_2}, ..., \hat{y_n}\}\),\(n\)为样本个数,均值\(\bar{y}=\frac{1}{n}\sum_{i=1}^ny_i\),方差\(Var(y_i)=\frac{1}{n}\sum_{i=1}^n(y_{i}-\bar{y})^2\)。
评估设置¶
下面是评估器所涉及到的一系列参数:
位置:libcity/config/evaluator/TrafficStateEvaluator.json
metrics
:指定评价指标数组,评估类的allowed_metrics
表示该任务可以接受的指标类型,不能超出此范围。mode
:评估模式,状态预测一般是多个时间步的预测,若设置为average
表示计算前n个时间步平均的结果,设置成single
则计算单独第n个时间步的评估结果。目前的评估函数会返回所有时间步的结果。默认average
。例如,总时间步长为3,则average
模式返回[前1个时间步平均的loss,前2个时间步平均的loss,前3个步平均的loss],single
模式返回[第1个时间步的loss,第2个时间步的loss,第3个时间步的loss]。