1. Learn
  2. /
  3. Courses
  4. /
  5. Designing Forecasting Pipelines for Production

Connected

Exercise

Building a model leaderboard

Now that the data is in long format, you can score the model's results using the following helper functions:

def mape(y, yhat):
    mape = mean(abs(y - yhat)/ y) 
    return mape

def rmse(y, yhat):
    rmse = (mean((y - yhat) ** 2 )) ** 0.5
    return rmse

def coverage(y, lower, upper):
    coverage = sum((y <= upper) & (y >= lower)) / len(y)
    return coverage

def score(df):
    mape_score = mape(y = df["y"], yhat = df["forecast"])
    rmse_score = rmse(y = df["y"], yhat = df["forecast"])
    coverage_score = coverage(y = df["y"], lower = df["lower"], upper = df["upper"])
    cols = ["mape", "rmse", "coverage"]
    df = pd.Series([mape_score, rmse_score,  coverage_score], index=cols)
    return df

Instructions 1/2

undefined XP
    1
    2
  • Apply the appropriate helper function to create score_df.