| |
| |
| |
| |
| |
|
|
| import numpy as np |
|
|
| def RSE(pred, true): |
| return np.sqrt(np.sum((true - pred) ** 2)) / np.sqrt(np.sum((true - true.mean()) ** 2)) |
|
|
|
|
| def CORR(pred, true): |
| u = ((true - true.mean(0)) * (pred - pred.mean(0))).sum(0) |
| d = np.sqrt(((true - true.mean(0)) ** 2 * (pred - pred.mean(0)) ** 2).sum(0)) |
| d += 1e-12 |
| return 0.01*(u / d).mean(-1) |
|
|
|
|
| def MAE(pred, true): |
| return np.mean(np.abs(pred - true)) |
|
|
|
|
| def MSE(pred, true): |
| return np.mean((pred - true) ** 2) |
|
|
|
|
| def RMSE(pred, true): |
| return np.sqrt(MSE(pred, true)) |
|
|
|
|
| def MAPE(pred, true): |
| return np.mean(np.abs((pred - true) / true)) |
|
|
|
|
| def MSPE(pred, true): |
| return np.mean(np.square((pred - true) / true)) |
|
|
|
|
| def metric(pred, true): |
| mae = MAE(pred, true) |
| mse = MSE(pred, true) |
| rmse = RMSE(pred, true) |
| mape = MAPE(pred, true) |
| mspe = MSPE(pred, true) |
| rse = RSE(pred, true) |
| corr = CORR(pred, true) |
|
|
| return mae, mse, rmse, mape, mspe, rse, corr |