为什么标准偏差的MATLAB计算与手工计算不同?

为什么标准偏差的MATLAB计算与手工计算不同?,matlab,standard-deviation,Matlab,Standard Deviation,Matlab: 外行人对标准偏差的解释符合: 我搞砸了什么?我愚蠢地期望这两个数字一致。Matlabstd计算结果。从帮助std: std通过(N-1)标准化Y,其中N是样本量。这是 总体方差的无偏估计的sqrt 只要X由独立的、相同的 分发样本 你有吗 Mean of {3,2,2,3} = 2.5 Deviation from mean for each value = {0.5, 0.5, 0.5, 0.5} Square of deviation from mean = {0.25, 0

Matlab:

外行人对标准偏差的解释符合:


我搞砸了什么?我愚蠢地期望这两个数字一致。

Matlab
std
计算结果。从
帮助std

std通过(N-1)标准化Y,其中N是样本量。这是 总体方差的无偏估计的sqrt 只要X由独立的、相同的 分发样本

你有吗

Mean of {3,2,2,3} = 2.5
Deviation from mean for each value = {0.5, 0.5, 0.5, 0.5}
Square of deviation from mean = {0.25, 0.25, 0.25, 0.25}
Mean of the squares = 0.25
Square root of 0.25 = 0.5
Therefore Standard Deviation of {3,2,2,3} = 0.5
然后不计算偏差的实际根平均值,而是
sqrt(sum([0.25 0.25 0.25 0.25])/3)
。通常,长度为
N
的向量的
和(偏差平方)/(N-1)

更新:如前所述,您可以使用matlab计算未修正的标准偏差。同样,从
帮助std

Y=std(X,1)标准化为N,并产生秒的平方根 样本关于其平均值的力矩。std(X,0)与std(X)相同


Matlab
std
计算。从
帮助std

std通过(N-1)标准化Y,其中N是样本量。这是 总体方差的无偏估计的sqrt 只要X由独立的、相同的 分发样本

你有吗

Mean of {3,2,2,3} = 2.5
Deviation from mean for each value = {0.5, 0.5, 0.5, 0.5}
Square of deviation from mean = {0.25, 0.25, 0.25, 0.25}
Mean of the squares = 0.25
Square root of 0.25 = 0.5
Therefore Standard Deviation of {3,2,2,3} = 0.5
然后不计算偏差的实际根平均值,而是
sqrt(sum([0.25 0.25 0.25 0.25])/3)
。通常,长度为
N
的向量的
和(偏差平方)/(N-1)

更新:如前所述,您可以使用matlab计算未修正的标准偏差。同样,从
帮助std

Y=std(X,1)标准化为N,并产生秒的平方根 样本关于其平均值的力矩。std(X,0)与std(X)相同


值得一提的是,
std
可用于计算校正和未校正的标准偏差,例如,
std(A,1)
将计算
A
的未校正标准偏差@LeonidBeschastny感谢您的洞察力,我将其添加到了我的答案中。希望你不介意。值得一提的是,
std
可以用来计算校正和未校正的标准偏差,例如,
std(A,1)
将计算
A
@leonidbeschastn的未校正标准偏差。谢谢你的洞察力,我把它添加到了我的答案中。希望你不介意。因为没能读到你的简介统计课本而陷入困境:-)。使用无偏估计器的原因可以在那里(或webZ上的其他地方)找到,我正在浏览khanacademy.com上的基本统计数据包。我现在模模糊糊地回忆起这一点,但因为在那里的问题中没有提到它,所以它就没有出现。希望以后会有人介绍。因为没能读到你的介绍统计课本:-)。使用无偏估计器的原因可以在那里(或webZ上的其他地方)找到,我正在浏览khanacademy.com上的基本统计数据包。我现在模模糊糊地回忆起这一点,但因为在那里的问题中没有提到它,所以它就没有出现。希望以后会有报道。
Square of deviation from mean = {0.25, 0.25, 0.25, 0.25}