回归方程、神经网络等预测模型的结果展示,主要针对线性回归。
一致的有
回归结果对比图
对于回归预测模型,最直观的效果展示就是其预测值和真实值的对比,将二者画在同一个坐标系中,可以直观感受二者的差异。对于线性回归模型,同时计算了判定系数R方,其主要作用是评估回归模型对因变量y产生变化的解释程度,也即判定系数R方是评估回归模型好坏的指标。R平方取值范围也为0~1,通常以百分数表示。比如回归模型的R平方等于0.7,那么表示,此回归模型对预测结果的可解释程度为70%。
一般认为,R平方大于0.75,表示模型拟合度很好,可解释程度较高;R平方小于0.5,表示模型拟合有问题,不宜采用进行回归分析。
%% 绘制预测值和真实值的对比
N = size(a,1);% 样本个数
yz = y0;% 真实值
yc = y1;% 预测值
%计算R方
R2 = (N*sum(yc.*yz)-sum(yc)*sum(yz))^2/((N*sum((yc).^2)-(sum(yc))^2)*(N*sum((yz).^2)-(sum(yz))^2));
figure
plot(1:N,yz,'b:*',1:N,yc,'r-o')
legend('真实值','预测值','location','best')
xlabel('预测样本')
ylabel('值')
string = {'因变量预测结果对比';['R^2=' num2str(R2)]};
title(string)
通过下图,可以看到回归模型的效果并不咋地。
RMSE
均方误差MSE(mean-square error),是反映预测值与真实值之间差异程度的一种度量,计算出预测模型结果和真实值的均方误差,能够了解模型在进行预测时的表现。
范围[0,+∞),当预测值与真实值完全相同时为0,误差越大,该值越大。均方根误差RMSE(Root Mean Square Error)是其开平方的根。
yz = y0;% 真实值
yc = y1;% 预测值
perf = mse(yz,yc)% 计算均方误差
回归图
衡量预测模型效果的另一个方法是回归图,下面绘制了预测结果的回归图。如果模型能够很好地预测出数据,则图中的输出-目标线性拟合线(蓝色实线)与图中的虚线应该十分接近甚至重合。如果不是这样,则需要进一步改进模型。可以看到,图中的蓝线和虚线并不是十分接近,所以预测结果不咋地。
yz = y0;% 真实值
yc = y1;% 预测值
figure;
plotregression(yz,yc,['回归图'])
误差直方图
衡量预测模型预测效果的第三个方法是误差直方图。该图可显示误差大小的分布方式。通常,对于效果较好的模型,大多数的误差都接近于0,很少有误差大幅偏离。可以看到这里的误差直方都快偏到它姥姥家了,同样说明预测效果不理想。
e = yz-yc; % 计算误差
figure;
ploterrhist(e,['误差直方图'])