error=test_value1-train_value1; %误差=实际值-预测值 disp(' 序号 期望值 预测值 误差') disp([ test_value1 train_value1 error]') rmse=sqrt(mean((error).^2)); disp(['根均方差(RMSE):',num2str(rmse)]) mae=mean(abs(error)); disp(['平均绝对误差(MAE):',num2str(mae)]) mse=mean(abs(error).^2); disp(['均方误差MSE为:',num2str(mse)]) %mape=mean(abs(error)/ELM_OUT); %disp(['平均相对百分误差(MAPE):',num2str(mape)]) mape=mean(abs(error)/train_value1); disp(['平均相对百分误差(MAPE):',num2str(mape)]) %R=corrcoef(T1,ELM_OUT); %r=R(1,2); %disp(['决定系数R^2为:',num2str(r)]) %SSE=sum(error.^2); %disp(['误差平方和SSE为:',num2str(SSE)]) R=corrcoef(test_value1,train_value1); r=R(1,2); disp(['决定系数R^2为:',num2str(r)]) TIC=sqrt(mean(error).^2)/(sqrt(mean((train_value1).^2))+sqrt(mean((test_value1).^2))); disp(['泰尔不等式系数TIC为: ',num2str(TIC)]) figure('color','w') hold on %plot(1:41,test_value1,'-*') %plot(1:41,train_value1,'r-o') plot(1:69,test_value1,'b-.','linewidth',1.5) plot(1:69,train_value1,'r*-.','linewidth',1.5) grid on xlabel('sample point') ylabel('photovoltaic power generation') legend('actual value','ELM predicted value ') grid off;解释这个程序并在每一行加上备注
时间: 2024-01-02 15:02:58 浏览: 81
这段程序是用于评估 ELM(Extreme Learning Machine)模型预测结果的准确性。下面是每一行的解释:
1. error=test_value1-train_value1; % 误差=实际值-预测值,计算预测误差。
2. disp(' 序号 期望值 预测值 误差'):在命令行窗口中输出表头信息。
3. disp([test_value1 train_value1 error]'):在命令行窗口中输出测试数据的预测值、真实值和误差。
4. rmse=sqrt(mean((error).^2));:计算均方根误差(RMSE)。
5. disp(['根均方差(RMSE):',num2str(rmse)]):在命令行窗口中输出 RMSE 的值。
6. mae=mean(abs(error));:计算平均绝对误差(MAE)。
7. disp(['平均绝对误差(MAE):',num2str(mae)]):在命令行窗口中输出 MAE 的值。
8. mse=mean(abs(error).^2);:计算均方误差(MSE)。
9. disp(['均方误差MSE为:',num2str(mse)]):在命令行窗口中输出 MSE 的值。
10. mape=mean(abs(error)/train_value1);:计算平均相对百分误差(MAPE)。
11. disp(['平均相对百分误差(MAPE):',num2str(mape)]):在命令行窗口中输出 MAPE 的值。
12. R=corrcoef(test_value1,train_value1); r=R(1,2);:计算决定系数(R^2)。
13. disp(['决定系数R^2为:',num2str(r)]):在命令行窗口中输出 R^2 的值。
14. TIC=sqrt(mean(error).^2)/(sqrt(mean((train_value1).^2))+sqrt(mean((test_value1).^2)));:计算泰尔不等式系数(TIC)。
15. disp(['泰尔不等式系数TIC为: ',num2str(TIC)]):在命令行窗口中输出 TIC 的值。
16. figure('color','w'):创建一个新的图形窗口。
17. hold on:在图形窗口中添加新的图像时保持原有图像。
18. plot(1:69,test_value1,'b-.','linewidth',1.5):绘制测试数据的实际值的折线图。
19. plot(1:69,train_value1,'r*-.','linewidth',1.5):绘制测试数据的预测值的折线图。
20. grid on:显示坐标网格。
21. xlabel('sample point'):设置 X 轴标签。
22. ylabel('photovoltaic power generation'):设置 Y 轴标签。
23. legend('actual value','ELM predicted value '):设置图例。
24. grid off:隐藏坐标网格。
阅读全文