matlab数据统计时的STD、RMSE计算方法 您所在的位置:网站首页 matlab标准差命令 matlab数据统计时的STD、RMSE计算方法

matlab数据统计时的STD、RMSE计算方法

2024-07-02 14:51| 来源: 网络整理| 查看: 265

matlab数据统计时的STD、RMSE和RMS计算方法 STD和RMSE的定义RMS的定义matlab中计算STD和RMSE函数std和std2

STD和RMSE的定义

标准差(Standard Deviation,STD)反映了数据集偏离平均值的离散程度。 均方根误差(Root Mean Squared Error,RMSE)反映了数据集偏离真值的离散程度。 标准差也称均方差,它是方差(Variance)的算术平方根。 均方根误差是均方误差(Mean Squared Error,MSE)的算术平方根。 即: 方差=标准差^2 均方误差=均方根误差^2 STD和RMSE的计算公式类似,区别在于分子中的减数是均值还是真值: STD和RMSE计算公式 其中分母一般都是除以n-1,表示是采用样本数据来估计总体。如果数据集本身就是总体时,就除以n。

RMS的定义

RMS是均方根(Root Mean Square)的简称,表示真有效值。计算方法是:RMS计算公式 RMS不是用来估计总体的,仅用来计算当前样本数据的有效值。如果样本就是总体,且X序列是真误差,那此时的RMS值等于RMSE(分子为n,不是n-1)。

matlab中计算STD和RMSE函数

在matlab中,STD有对应的函数(std和std2)可以直接计算,RMSE没有现成的函数可以使用,需要自己实现。 使用std2前需要安装 signal processing toolbox 工具箱

std和std2

例如:对一个真值为0的随机变量a做了三组测量(A矩阵中的三列),每组测三次, A =[ 4 -5 3 2 3 5 -9 -1 7]; A矩阵的三个列向量的平均值如下: ave = mean(A); 结果为:ave = -1 -1 5

每一组测量的标准差为: STD0=std(A); 结果为:STD0 = 7 4 2

RMSE计算方法: RMSE0=sqrt(sum((A-0).^2)/(3-1)) 结果为RMSE0 = 7.1063 4.1833 6.4420

对比STD0和RMSE0可以看出, 当数据集的均值不等于真值时,STD值小于RMSE值。std函数中默认除数是(n-1),这里RMSE0计算时也是除以n-1。

所有测量结果的标准差为: STD_all = std2(A); 结果为:STD_all = 5.1235

如果A数据作为总体样本的话,计算STD时应该除以n,matlab的std函数可以直接计算: STD1 = std(A,1) 结果为:STD1 = 5.7155 3.2660 1.6330

如果数据中存在NAN值,统计时需要剔除这些NAN, B = [ 4 -5 3 2 3 5 nan -1 7 -9 nan nan]; STD0 = std(B,‘omitnan’) 结果为:STD0 = 7 4 2



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有