误差分析计算公式及其 matlab 代码实现(mse、mape、rmse等)

YReal 是真实的数据,YPred 是预测的数据。

残差平方和(SSE)

计算公式

sse

代码实现

sse = sum((YReal - YPred).^2);

均方误差(MSE)

计算公式

mse

代码实现

mse = sum((YReal - YPred).^2)./n;

平均绝对误差(MAE)

计算公式

mae

代码实现

mae = mean(abs(YReal - YPred));

平均绝对百分比误差(MAPE)

计算公式

mape

代码实现

mape = mean(abs((YReal - YPred)./YReal));

均方根误差(RMSE)

计算公式

rmse

代码实现

rmse = sqrt(mean((YPred-YReal).^2));

决定系数(R2-R-Square)

一个模型的 R2 值为 0 还不如直接用平均值来预测效果好;而一个 R2 值为 1 的模型则可以对目标变量进行完美的预测。

从 0 至 1 之间的数值,则表示该模型中目标变量中有百分之多少能够用特征来解释。

模型也可能出现负值的 R2,这种情况下模型所做预测有时会比直接计算目标变量的平均值差很多。

计算公式

r2

代码实现

r2 = 1 - (sum((YPred - YReal).^2) / sum((YReal - mean(YReal)).^2));

如有错误,请在评论区指出,谢谢。

李培冠博客

欢迎访问我的个人网站:

李培冠博客:lpgit.com

posted @ 2020-08-03 19:20  李培冠  阅读(32811)  评论(3编辑  收藏  举报