def median_absolute_percentage_error(y_true, y_pred): y_true, y_pred = norm_v2_single(y_true), norm_v2_single(y_pred) #y_true, y_pred = np.array(y_true)+np.max(y_true), np.array(y_pred)+np.max(y_pred) ape = [] for k in range(len(y_true)): if abs(y_pred[k]) > 1e-3 and abs(y_true[k]) > 1e-3: ape.append(abs((y_pred[k] - y_true[k]) / y_true[k])) return np.median(np.array(ape)) * 100
def mean_percentage_r_error(y_true, y_pred): y_true, y_pred = norm_v2_single(y_true), norm_v2_single(y_pred) #y_true, y_pred = np.array(y_true) + np.max(y_true), np.array(y_pred) + np.max(y_pred) y_true, y_pred = np.abs(y_true) , np.abs(y_pred) ape = [] for k in range(len(y_true)): if abs(y_pred[k]) > 1e-3 and abs(y_true[k]) > 1e-3: ape.append(pow(((y_true[k] - y_pred[k]) / y_true[k]), 2)) return sqrt(np.mean(np.array(ape)))
def mean_percentage_r_error(y_true, y_pred): y_true, y_pred = norm_v2_single(y_true), norm_v2_single(y_pred) #y_true, y_pred = np.array(y_true) + np.max(y_true), np.array(y_pred) + np.max(y_pred) y_true, y_pred = np.abs(y_true), np.abs(y_pred) #indices = np.where(y_true > 0)[1] #y_true, y_pred = y_true[indices], y_pred[indices] z1 = f1(y_true, 20) #z2 = f2(y_true, 20) ape = [] for k in range(len(y_true)): if abs(y_true[k]) != 0 and k not in z1: ape.append(pow(((y_true[k] - y_pred[k]) / y_true[k]), 2)) return sqrt(np.mean(np.array(ape)))