首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >总体标准差

总体标准差
EN

Stack Overflow用户
提问于 2015-10-28 10:40:42
回答 1查看 4.8K关注 0票数 1

我想用MATLAB做一些非常简单的事情。我想要计算总体标准差(也就是说,我想要分母n,而不是n-1,如回顾的这里)。

MATLAB的默认情况是计算样本标准差。如本例所示:

代码语言:javascript
运行
AI代码解释
复制
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,加入“人口”似乎应该给出总体标准差。在MATLAB中,添加'Population'确实给出了与普通std()不同的结果。

代码语言:javascript
运行
AI代码解释
复制
test1=std(example,'Population')
test1 =
       0.0087

但这一结果似乎与人口差异的平方根不同:

代码语言:javascript
运行
AI代码解释
复制
sqrt(var(example,1))
ans =
    0.0091

请注意,“样本”标准偏差确实等于“样本”方差的平方根,正如您所预期的:

代码语言:javascript
运行
AI代码解释
复制
sqrt(var(example))
ans =
     0.0096
std(example)
ans =
     0.0096

所以问题就在于人口标准差。我是不是遗漏了什么?是否有MATLAB命令给出总体标准差(而不是样本标准差)?还是我总是需要取人口方差的平方根来计算总体标准差?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-28 17:45:14

“标志”确定您是使用样本标准差(以n表示)还是使用总体标准差(以n-1表示)。

代码语言:javascript
运行
AI代码解释
复制
std(example,1)

ans =

    0.0091

它与sqrt(var(例如,1))相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33399073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文