Skip to content
Snippets Groups Projects
Commit 363994d4 authored by leufen1's avatar leufen1
Browse files

new methods to calculate mae and a bunch of error metrics

parent 6f64a485
No related branches found
No related tags found
6 merge requests!319add all changes of dev into release v1.4.0 branch,!318Resolve "release v1.4.0",!283Merge latest develop into falcos issue,!264Merge develop into felix_issue287_tech-wrf-datahandler-should-inherit-from-singlestationdatahandler,!259Draft: Resolve "WRF-Datahandler should inherit from SingleStationDatahandler",!257Resolve "store performance measures"
......@@ -196,9 +196,23 @@ def log_apply(data: Data, mean: Data, std: Data) -> Data:
return standardise_apply(np.log1p(data), mean, std)
def mean_squared_error(a, b):
def mean_squared_error(a, b, dim=None):
"""Calculate mean squared error."""
return np.square(a - b).mean()
return np.square(a - b).mean(dim)
def mean_absolute_error(a, b, dim=None):
"""Calculate mean absolute error."""
return np.abs(a - b).mean(dim)
def calculate_error_metrics(a, b, dim):
"""Calculate MSE, RMSE, and MAE. Additionally return number of used values for calculation."""
mse = mean_squared_error(a, b, dim)
rmse = np.sqrt(mse)
mae = mean_absolute_error(a, b, dim)
n = (a - b).notnull().sum(dim)
return {"mse": mse, "rmse": rmse, "mae": mae, "n": n}
class SkillScores:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment