误差评价:均方根值(RMS)+ 均方根误差(RMSE)+标准差(Standard Deviation)

本文详细介绍了均方根值(RMS)的概念及其计算方法,并深入探讨了均方根误差在衡量测量精度中的应用。同时,文章还解释了标准差的定义及其在反映数据集离散程度方面的作用。

1、均方根值(RMS)也称作为效值它的计算方法是先平方、再平均、然后开方。

均方根值(RMS)+ 均方根误差(RMSE)+标准差(Standard Deviation) - 云卷云舒 - 飞龙在天的小窝儿^_^
 

2、均方根误差,它是观测值与真值偏差的平方和观测次数n比值的平方根,在实际测量中,观测次数n总是有限的,真值只能用最可信赖(最佳)值来代.方根误差对一组测量中的特大或特小误差反映非常敏感,所以,均方根误差能够很好地反映出测量的精密度。均方根误差,当对某一量进行甚多次的测量时,取这一测量列真误差的均方根差(真误差平方的算术平均值再开方),称为标准偏差,以σ表示。σ反映了测量数据偏离真实值的程度,σ越小,表示测量精度越高,因此可用σ作为评定这一测量过程精度的标准。

Root mean square error (RMSE)+Pearson correlation coefficient (r)+Nash-Sutcliffe coefficient (E) - 云卷云舒 - 飞龙在天的小窝儿^_^

3、标准差(StandardDeviation标准差是方差的算术平方根,也称均方差(mean square error),是各数据偏离平均数的距离的平均数,它是离均差平方和平均后的方根,用σ表示,标准差能反映一个数据集的离散程度
                                                                                         均方根值(RMS)+ 均方根误差(RMSE)+标准差(Standard Deviation) - 云卷云舒 - 飞龙在天的小窝儿^_^
在原有的计算标准差的 C++ 代码基础上,可以添加计算均方根误差RMSE)的功能。均方根误差是观测值与真值偏差的平方和观测次数 n 比值的平方根,其计算公式为 $RMSE = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_{true,i} - y_{pred,i})^2}$ [^3]。 以下是实现计算标准差均方根误差的 C++ 代码: ```cpp #include <iostream> #include <vector> #include <cmath> // 计算均值 double calculateMean(const std::vector<double>& data) { double sum = 0.0; for (double value : data) { sum += value; } return sum / data.size(); } // 计算标准差 double calculateStandardDeviation(const std::vector<double>& data) { double mean = calculateMean(data); double squaredDiffSum = 0.0; for (double value : data) { squaredDiffSum += std::pow(value - mean, 2); } double variance = squaredDiffSum / (data.size() - 1); return std::sqrt(variance); } // 计算均方根误差 double calculateRMSE(const std::vector<double>& trueValues, const std::vector<double>& predictedValues) { if (trueValues.size() != predictedValues.size()) { std::cerr << "Error: The sizes of true values and predicted values must be the same." << std::endl; return -1; } double squaredErrorSum = 0.0; for (size_t i = 0; i < trueValues.size(); ++i) { squaredErrorSum += std::pow(trueValues[i] - predictedValues[i], 2); } return std::sqrt(squaredErrorSum / trueValues.size()); } int main() { std::vector<double> data = {10.0, 12.0, 23.0, 23.0, 16.0, 23.0, 21.0, 16.0}; double sd = calculateStandardDeviation(data); std::cout << "Standard Deviation: " << sd << std::endl; std::vector<double> trueValues = {1, 2, 3, 4, 5}; std::vector<double> predictedValues = {1.1, 2.2, 2.9, 4.1, 5.2}; double rmse = calculateRMSE(trueValues, predictedValues); std::cout << "Root Mean Square Error (RMSE): " << rmse << std::endl; return 0; } ``` 在上述代码中,`calculateStandardDeviation` 函数用于计算标准差,`calculateRMSE` 函数用于计算均方根误差。在 `main` 函数中,分别调用这两个函数进行计算并输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值