Python 误差分析——计算MSE RMSE R MAE MAPE

这篇博客介绍了预测模型中常用的评估指标,包括R相关系数、MAE平均绝对误差、MAPE平均绝对百分比误差以及RMSE均方根误差。R接近1表示预测效果好;MAE和MAPE适合衡量数据跨度不大的情况,而RMSE和MSE在某些场景下使用较少。文章通过代码展示了这些指标的计算方法,并应用到实际数据上进行比较。
摘要由CSDN通过智能技术生成

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/SST
r_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() * 100
mape_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,说明预测效果越好。

  • 2
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值