在计算时总是遇到需要计算平均值,但是对于均方根和标准差选择还是不明确。
标题里面的括号为matlab函数可以直接运行。
1、均方根(rms)
均方根误差用于衡量观测值同真值之间的偏差。
2、标准差(std)
标准差是方差的算术平方根。在概率统计中最常使用作为统计分布程度上的测量。标准差是方差的算术平方根。标准差能反映一个数据集的离散程度。
3、平均绝对误差(mae)
平均绝对误差是所有单个观测值与算术平均值的偏差的绝对值的平均。平均绝对误差可以避免误差相互抵消的问题,因而可以准确反映实际预测误差的大小。
observedi 为观测值,predictedi为真实值。
4、方差(var/std*std)
Matlab 函数:var 分母不是n ,而是n-1 。这是因为var函数实际上求的并不是方差,而是误差理论中“有限次测量数据的标准偏差的估计值”。
也可以采用std(x)*std(x)计算方差,其结果与var(x)(我试了几组数据,对于正常需要的计算精度而言相等)
>> a = rand(1,10000);
>> var(a)
ans =
0.0828
>> vpa(ans)
ans =
0.082816030068709967082440925878473>> std(a)*std(a)
ans =
0.0828
>> vpa(ans)
ans =
0.082816030068709980960228733692929
若要求整个矩阵所有元素的均方差,则要使用std2函数:
std2(X)