old
This commit is contained in:
parent
720f21a85b
commit
43076bcbb1
42 changed files with 237415 additions and 7831 deletions
24
archive/loss.py
Normal file
24
archive/loss.py
Normal file
|
@ -0,0 +1,24 @@
|
|||
def calc_loss(df):
|
||||
"""
|
||||
Geometric-mean log error between prediction bands and golden bands.
|
||||
Assumes all columns are strictly positive.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
df : pandas.DataFrame
|
||||
Must contain the columns:
|
||||
- 'pred_lower', 'pred_upper'
|
||||
- 'golden_lower', 'golden_upper'
|
||||
|
||||
Returns
|
||||
-------
|
||||
float
|
||||
Scalar loss value (the smaller, the better).
|
||||
"""
|
||||
# Element-wise absolute log-ratios
|
||||
loss_lower = np.abs(np.log(df["pred_lower"] / df["golden_lower"]))
|
||||
loss_upper = np.abs(np.log(df["pred_upper"] / df["golden_upper"]))
|
||||
|
||||
# Average the two means, then exponentiate
|
||||
loss = np.exp(0.5 * (loss_lower.mean() + loss_upper.mean()))
|
||||
return loss
|
Loading…
Add table
Add a link
Reference in a new issue