The mase for naive is not 1.0 because we are triming it 2 times when passing the y_test to evaluate_preds
def mean_absolute_scaled_error(y_true,y_pred):
"""
Implement MASE (assuming no seasonality of data)
"""
mae = tf.reduce_mean(tf.abs(y_true-y_pred))
mae_naive_no_season = tf.reduce_mean(tf.abs(y_true[1:]-y_true[:-1])) # second time
return mae/mae_naive_no_season
mean_absolute_scaled_error(y_test[1:],naive_forecast).numpy() # first time
The mase for naive is not 1.0 because we are triming it 2 times when passing the y_test to evaluate_preds