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);
该函数计算了五个常用的性能指标:
- 平均误差(ME): 反映预测是否存在系统性偏差,值为0表示无偏差。
- 最大误差: 反映预测中最大的绝对误差,有助于识别异常情况。
- 预测误差标准差: 反映预测误差的离散程度,值越小表示预测更精确稳定。
- 均方误差(MSE): 综合反映预测的准确性,值越小表示预测效果越好。
- 均方根误差(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}
]
总结
这些误差指标可以帮助评估模型的预测性能,选择合适的指标取决于具体的应用场景。