当前位置: 首页 > news >正文

MATLAB中回归模型常用误差指标(MSE、RMSE、MAPE等)的实现方法

一、核心误差指标实现

1. 均方误差(MSE)

数学公式

MATLAB代码

function mse = calculateMSE(y_true, y_pred)% 输入验证assert(isequal(size(y_true), size(y_pred)), '输入数据维度不一致');n = numel(y_true);mse = sum((y_true - y_pred).^2) / n;
end

2. 均方根误差(RMSE)

数学公式

MATLAB代码

function rmse = calculateRMSE(y_true, y_pred)% 调用MSE函数计算mse = calculateMSE(y_true, y_pred);rmse = sqrt(mse);
end

3. 平均绝对误差(MAE)

数学公式

MATLAB代码

function mae = calculateMAE(y_true, y_pred)% 输入验证assert(isequal(size(y_true), size(y_pred)), '输入数据维度不一致');mae = mean(abs(y_true - y_pred));
end

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

数学公式

MATLAB代码(含零值保护):

function mape = calculateMAPE(y_true, y_pred)% 输入验证assert(isequal(size(y_true), size(y_pred)), '输入数据维度不一致');% 避免除零错误epsilon = 1e-10;safe_denominator = max(abs(y_true), epsilon);mape = 100 * mean(abs((y_true - y_pred)./safe_denominator));
end

二、综合误差计算工具箱

完整函数实现(支持批量处理):

function [MSE, RMSE, MAE, MAPE] = regressionMetrics(y_true, y_pred)% 输入验证assert(isequal(size(y_true), size(y_pred)), '输入数据维度不一致');% 计算基础指标n = numel(y_true);SSE = sum((y_true - y_pred).^2);  % 残差平方和% 输出指标MSE = SSE / n;RMSE = sqrt(MSE);MAE = mean(abs(y_true - y_pred));% MAPE计算(含零值保护)epsilon = 1e-10;safe_denominator = max(abs(y_true), epsilon);MAPE = 100 * mean(abs((y_true - y_pred)./safe_denominator));
end

三、使用示例

% 生成测试数据
y_true = [3, -0.5, 2, 7, 4.5]';
y_pred = [2.5, 0.0, 2, 8, 4.8]';% 调用函数计算
[MSE, RMSE, MAE, MAPE] = regressionMetrics(y_true, y_pred);% 输出结果
fprintf('MSE: %.4f\n', MSE);    % 输出: 0.3750
fprintf('RMSE: %.4f\n', RMSE);  % 输出: 0.6124
fprintf('MAE: %.4f\n', MAE);    % 输出: 0.5000
fprintf('MAPE: %.2f%%\n', MAPE);% 输出: 16.67%

四、高级功能扩展

1. 批量数据处理

% 多组数据计算(3D矩阵)
data_true = rand(10,5,100);  % 100组样本,每组10个特征5个样本
data_pred = rand(10,5,100);% 计算每组指标
MSE_matrix = zeros(size(data_true,3),1);
for i = 1:size(data_true,3)[~, ~, ~, MSE_matrix(i)] = regressionMetrics(data_true(:,:,i), data_pred(:,:,i));
end

2. 可视化工具

function plotErrors(y_true, y_pred)figure;subplot(2,1,1);plot(y_true, 'bo-', 'LineWidth',2); hold on;plot(y_pred, 'rx--', 'LineWidth',2);legend('真实值', '预测值');title('预测值对比');subplot(2,1,2);bar([MSE, RMSE, MAE, MAPE]);set(gca, 'XTickLabel', {'MSE','RMSE','MAE','MAPE'});ylabel('误差值');title('误差指标分布');
end

参考代码 误差计算,用于回归模型的MSE,RMSE,MAPE等常见误差计算 www.youwenfan.com/contentcnn/84836.html

五、注意事项

  1. 数据对齐 确保y_truey_pred长度一致,建议使用assert(isequal(length(y_true), length(y_pred)))进行验证
  2. 异常值处理 MSE对异常值敏感,建议先进行数据清洗 MAE更适合存在离群值的场景
  3. 单位一致性 RMSE单位与原始数据一致,MAPE为百分比单位
  4. 零值保护 MAPE计算时需避免真实值为零的情况,可通过添加极小值epsilon解决

六、扩展指标(可选)

% 决定系数R²
function r2 = calculateR2(y_true, y_pred)ss_total = sum((y_true - mean(y_true)).^2);ss_residual = sum((y_true - y_pred).^2);r2 = 1 - (ss_residual/ss_total);
end% 对称MAPE(SMAPE)
function smape = calculateSMAPE(y_true, y_pred)numerator = abs(y_true - y_pred);denominator = (abs(y_true) + abs(y_pred))/2;smape = 100 * mean(numerator./denominator);
end
http://www.rkmt.cn/news/82513.html

相关文章:

  • sqlserver 20008 R2 关闭TLS1.0无法启动服务的解决办法
  • 2025年热门的自动化系统防水微动开关/南网机构防水微动开关厂家最新推荐排行榜 - 行业平台推荐
  • 2025年热门的凹槽烤漆龙骨厂家最新TOP排行榜 - 品牌宣传支持者
  • 2025年浙江五大希腊移民专业公司推荐:资质齐全的希腊移民企 - 工业推荐榜
  • 2025年口碑好的家用烤箱新手入门级厂家实力及用户口碑排行榜 - 行业平台推荐
  • 2025年12月运动木地板,体育馆运动木地板,枫木运动木地板厂家推荐榜:甄选企业实测解析​ - 品牌鉴赏师
  • 2025年五大冷弯成型设备排行榜,新测评精选冷弯成型设备制造 - 工业品牌热点
  • 2025郑州资深中职教育学校TOP5推荐:赋能学子升学就业双 - myqiye
  • 2025年12月靠谱的GEO品牌公司推荐榜单:十大优质服务商全面解析 - 2025年11月品牌推荐榜
  • 2025年广东到印度物流专线机构推荐榜单:广东到印度专线的公司‌/广东到印度物流公司‌/广东到印度货代公司源头机构精选 - 品牌推荐官
  • 微信和支付宝立减金回收哪家强?两大平台全解析 - 讯息观点
  • Old-Java多线程随笔
  • 2025年中国诚信的推广公司五大排名:靠谱的推广公司有哪些? - mypinpai
  • π聪明-RAG
  • 2025年郑州五大资深中职教育机构推荐:诚信的中职教育机构有 - myqiye
  • 2025年湖南酒店装修公司排名,工装装修公司哪家口碑好? - 工业品牌热点
  • 栈溢出原来是这么回事,终于学会了!
  • wpf 裁剪图片并保存
  • 2025年评价高的隧道炉红外加热型行业内知名厂家排行榜 - 品牌宣传支持者
  • windriver 第14章 USB高级功能
  • 敏感肌修护精华天花板对决:2025 年末 7 大热门精华深度测评与避坑攻略 - 速递信息
  • 2025北京比较好的留学中介机构 - 留学品牌推荐官
  • windriver 第13章:创建内核插件驱动程序
  • 2025年质量好的玻璃阳光房用户口碑最好的厂家榜 - 品牌宣传支持者
  • 2025年口碑好的净化间回收品牌公司排名,净化间回收公司TO - mypinpai
  • 2025年昆明智慧农贸集市推荐:盛鲜智慧集贸,5大优质市场全 - myqiye
  • 2025中央空调哪家好品牌TOP5权威推荐:集成化时代下的能 - 工业品牌热点
  • windriver 第12章:了解内核插件
  • 2025年知名的水泵弹簧厂家最新权威实力榜 - 行业平台推荐
  • 讲讲中央空调哪家品牌好?哪家品牌实力强? - 工业品牌热点