MSE 均方误差
# MSE计算def mse(target, predict):return ((target - predict)**2).mean()mse_val = mse(np.array(BH_old_data), np.array(BH_new_data))mse_val_new = mse(np.array(BH_old_data), np.array(new_model_predict))
RMSE 均方根误差
# RMSE计算def rmse(predictions, targets):return np.sqrt(((predictions - targets) ** 2).mean())rmse_val = rmse(np.array(BH_old_data), np.array(BH_new_data))rmse_val_new = rmse(np.array(BH_old_data), np.array(new_model_predict))
R 相关系数
# R相关系数计算def R(target, predict):SSR = sum((predict - (target).mean())**2)SST = sum((target - (target).mean())**2)return SSR/SSTr_val = R(np.array(BH_old_data), np.array(BH_new_data))r_val_new = R(np.array(BH_old_data), np.array(new_model_predict))
MAE 平均绝对误差
# MAE计算def mae(target, predict):return (abs(target-predict)).mean()mae_val = mae(np.array(BH_old_data), np.array(BH_new_data))mae_val_new = mae(np.array(BH_old_data), np.array(new_model_predict))
MAPE 平均绝对百分比误差
# MAPE计算def MAPE(target, predict):return (abs((target-predict)/target)).mean() * 100mape_val = MAPE(np.array(BH_old_data), np.array(BH_new_data))mape_val_new = MAPE(np.array(BH_old_data), np.array(new_model_predict))
因为海浪高度的数据跨度不高,一般R、MAE、MAPE用的较多,RMSE、MSE使用较少。
R 一般越接近1,说明预测效果越好。