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

MATLAB函数,用于计算平均误差、误差最大值、标准差、均方误差、均方根误差

在这里插入图片描述

文章目录

    • 源代码
    • 使用示例:
    • 计算公式
      • 1. 平均误差 (Mean Error, ME)
      • 2. 误差最大值 (Maximum Error, ME)
      • 3. 标准差 (Standard Deviation, SD)
      • 4. 均方误差 (Mean Squared Error, MSE)
      • 5. 均方根误差 (Root Mean Squared Error, RMSE)
    • 总结

以下是一个MATLAB函数,用于计算常见的性能指标,并提供相应的解释:

源代码

function [ME, max_error, std_error, MSE, RMSE] = evaluate_model_performance(true_values, predicted_values)
% 评估模型性能的函数
%
% 输入:
%   true_values - 真实值
%   predicted_values - 预测值
%
% 输出:
%   ME - 平均误差(Mean Error)
%   max_error - 最大误差
%   std_error - 预测误差的标准差
%   MSE - 均方误差(Mean Squared Error)
%   RMSE - 均方根误差(Root Mean Squared Error)

% 计算平均误差(Mean Error)
ME = mean(true_values - predicted_values);
% 平均误差反映了预测是否存在系统性偏差,值为0表示无偏差。

% 计算最大误差
max_error = max(abs(true_values - predicted_values));
% 最大误差反映了预测中最大的绝对误差,有助于识别异常情况。

% 计算预测误差的标准差
std_error = std(true_values - predicted_values);
% 标准差反映了预测误差的离散程度,值越小表示预测更精确稳定。

% 计算均方误差(Mean Squared Error)
MSE = mean((true_values - predicted_values).^2);
% 均方误差综合反映了预测的准确性,值越小表示预测效果越好。

% 计算均方根误差(Root Mean Squared Error)
RMSE = sqrt(MSE);
% 均方根误差与原始数据单位相同,更直观地反映了预测误差的大小。
end

使用示例:

true_values = [10, 15, 20, 25, 30];
predicted_values = [12, 17, 18, 23, 28];

[ME, max_error, std_error, MSE, RMSE] = evaluate_model_performance(true_values, predicted_values);

fprintf('平均误差(ME): %.2f\n', ME);
fprintf('最大误差: %.2f\n', max_error);
fprintf('预测误差标准差: %.2f\n', std_error);
fprintf('均方误差(MSE): %.2f\n', MSE);
fprintf('均方根误差(RMSE): %.2f\n', RMSE);

该函数计算了五个常用的性能指标:

  1. 平均误差(ME): 反映预测是否存在系统性偏差,值为0表示无偏差。
  2. 最大误差: 反映预测中最大的绝对误差,有助于识别异常情况。
  3. 预测误差标准差: 反映预测误差的离散程度,值越小表示预测更精确稳定。
  4. 均方误差(MSE): 综合反映预测的准确性,值越小表示预测效果越好。
  5. 均方根误差(RMSE): 与原始数据单位相同,更直观地反映预测误差的大小。

这些指标可以全面评估模型的性能,有助于分析模型的优缺点,并针对性地进行模型优化和改进。

计算公式

计算公式如下:
以下是平均误差、误差最大值、标准差、均方误差和均方根误差的计算公式:

1. 平均误差 (Mean Error, ME)

平均误差是所有误差的算术平均值,公式为:
[
\text{ME} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)
]
其中:

  • (y_i) 是真实值
  • (\hat{y}_i) 是预测值
  • (n) 是样本数量

2. 误差最大值 (Maximum Error, ME)

误差最大值是所有误差中的最大值,公式为:
[
\text{Max Error} = \max(|y_i - \hat{y}_i|) \quad \text{for } i = 1, 2, \ldots, n
]

3. 标准差 (Standard Deviation, SD)

标准差是误差的离散程度,公式为:
[
\text{SD} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \mu)^2}
]
其中:

  • (\mu) 是误差的平均值
  • (n) 是样本数量

4. 均方误差 (Mean Squared Error, MSE)

均方误差是误差平方的平均值,公式为:
[
\text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2
]

5. 均方根误差 (Root Mean Squared Error, RMSE)

均方根误差是均方误差的平方根,公式为:
[
\text{RMSE} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2}
]

总结

这些误差指标可以帮助评估模型的预测性能,选择合适的指标取决于具体的应用场景。


http://www.kler.cn/a/380657.html

相关文章:

  • Django中分组查询(annotate 和 aggregate 使用)
  • 【PGCCC】在 Postgres 中创建日期箱的 4 种方法:interval、date_trunc、extract 和 to_char
  • Hive自定义函数—剔除周日周六(小时级别)
  • 算法|牛客网华为机试21-30C++
  • C# 中 发送HTTP请求 实现Ajax功能
  • HarmonyOS 移动应用开发
  • 低代码工作流平台概述-自研
  • 150道MySQL高频面试题,学完吊打面试官--如何实现索引机制
  • 链表练习记录
  • LabVIEW在Windows和Linux开发的差异
  • 微店商品详情API接口,json数据参考
  • qt QEvent详解
  • 顺序表专题
  • 软件工程(软考高频)
  • Linux设置openfile
  • LabVIEW适合开发的软件
  • 龙芯+FreeRTOS+LVGL实战笔记(新)——14按键单击/双击/长按
  • 【Linux网络】TCP_Socket
  • vue框架简介
  • Android 解决飞行模式下功耗高,起伏波动大的问题
  • JeecgBoot入门
  • 如何使用springboot+redis开发一个简洁的分布式锁?
  • windows XP,ReactOS系统3.4 共享映射区(Section)---2
  • 视频批量裁剪工具
  • Jupyter notebook 添加目录插件
  • 【VScode】中文版ChatGPT编程工具-CodeMoss!教程+示例+快捷键