预测模型的评价指标Matlab

一般情况下,所要预测的数据分为连续型数据和离散性数据。连续型数据比如成绩分数,时间序列等,离散性数据通常为划分的分类标签。针对不同的数据类型,衡量模型的准确程度采用不同指标,如比较一些算法的准确率,若预测的数据为离散型,则算法的准确性自然容易计算;若数据为连续型,想要评价算法的准确率似乎是很困难的,因为众多数据想要无误差的准确预测,那么所计算的准确率必然很低,所以我们就要采用其他指标进行衡量。因此,针对不同情况的评价指标如下:

  1. 连续型数据

  • 平均绝对误差(MAE)

平均绝对误差是绝对误差的平均值,绝对误差即实际值与预测值差的绝对值;能更好的的反应模型的预测效果

mae2 = sum(abs(T_sim2 -  T_test)) ./ N ;

T_sim2为测试集的实际值;T_test为测试集的预测值;N为测试集数据的个数

  • 平均偏差误差(MBE)

平均偏差误差就是实际值与预测值之间的不同

mbe2 = sum(T_sim2 -  T_test) ./ N ;

T_sim2为测试集的实际值;T_test为测试集的预测值;N为测试集数据的个数

  • 平均百分比误差(MAPE)

平均百分比误差可以用来对回归类算法进行评估,是一种相对度量;计算代码如下:

T_sim2为测试集的实际值;T_test为测试集的预测值;

error = T_sim2 - T_test;
MAPE1=mean(abs(error./T_test));
disp(['平均百分比误差MAPE为: ',num2str(MAPE1*100),'%'])

注:以上指标越小,说明模型预测效果越好

注:以下指标越小,说明模型预测效果越好

  • R方(R-Squared)

R方是统计学里边常用的统计量,是一种易于计算并且直观性的度量相关性的指标,度量两个变量之间是否密切相关(如身高和体重),取值范围在[0,1],越接近1,表明变量之间相关性越高。做拟合回归通常用到此指标。一般情况下,R方大于等于0.8,可以说高度相关,表示拟合效果好

扫描二维码关注公众号,回复: 16332197 查看本文章
R2 = 1 - norm(T_test -  T_sim2)^2 / norm(T_test -  mean(T_test ))^2;

R2=1-SSE/SST

T_sim2为测试集的实际值;T_test为测试集的预测值;

  1. 离散型数据

  • 准确率(accuracy)

对于离散型数据,通过用于二分类算法中;若实际值等于预测值,则表示模型预测正确,计算所有测试集当中多少条被正确预测,准确率可以有效衡量模型的效果

error2 = sum((T_sim2 == T_test )) / N * 100 ;
string = {'测试集预测结果对比'; ['准确率=' num2str(error2) '%']};

T_sim2为测试集的实际值;T_test为测试集的预测值;N为测试集数据的个数

猜你喜欢

转载自blog.csdn.net/a__12345_/article/details/129051023