总体标准差
Population standard deviation
我想在 MATLAB 中做一些非常简单的事情。我想计算人口标准偏差(即我想要分母 n 而不是审查的 n-1 here)。
MATLAB默认是计算样本标准差。如本例所示:
example = [0.555158185377949 0.572544871140911 0.566844451709150 0.585793022458150 0.577877363402946 0.564285735627449 0.582162844985863 0.576409646607226 0.583718583332482 0.577417064869028]
std(example)
ans =
0.0096
对于 MuPad,adding 'Population' 似乎应该给我总体标准偏差。在 MATLAB 中,添加 'Population'
确实会产生不同于普通 std()
:
的结果
test1=std(example,'Population')
test1 =
0.0087
但是那个结果好像和总体方差的平方根不一样:
sqrt(var(example,1))
ans =
0.0091
请注意,'sample' 标准偏差确实等于 'sample' 方差的平方根,如您所料:
sqrt(var(example))
ans =
0.0096
std(example)
ans =
0.0096
所以问题只是人口标准差。我错过了什么吗?是否有 MATLAB 命令给出总体标准差(而不是样本标准差)?还是我总是需要取总体方差的平方根来计算总体标准差?
'flag'决定您是使用样本标准差(按n归一化)还是总体标准差(按n-1归一化)。
std(example,1)
ans =
0.0091
与 sqrt(var(example,1)).
相同
我想在 MATLAB 中做一些非常简单的事情。我想计算人口标准偏差(即我想要分母 n 而不是审查的 n-1 here)。
MATLAB默认是计算样本标准差。如本例所示:
example = [0.555158185377949 0.572544871140911 0.566844451709150 0.585793022458150 0.577877363402946 0.564285735627449 0.582162844985863 0.576409646607226 0.583718583332482 0.577417064869028]
std(example)
ans =
0.0096
对于 MuPad,adding 'Population' 似乎应该给我总体标准偏差。在 MATLAB 中,添加 'Population'
确实会产生不同于普通 std()
:
test1=std(example,'Population')
test1 =
0.0087
但是那个结果好像和总体方差的平方根不一样:
sqrt(var(example,1))
ans =
0.0091
请注意,'sample' 标准偏差确实等于 'sample' 方差的平方根,如您所料:
sqrt(var(example))
ans =
0.0096
std(example)
ans =
0.0096
所以问题只是人口标准差。我错过了什么吗?是否有 MATLAB 命令给出总体标准差(而不是样本标准差)?还是我总是需要取总体方差的平方根来计算总体标准差?
'flag'决定您是使用样本标准差(按n归一化)还是总体标准差(按n-1归一化)。
std(example,1)
ans =
0.0091
与 sqrt(var(example,1)).
相同