微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 statistics.stdev 值转换为 np.std 值

如何解决将 statistics.stdev 值转换为 np.std 值

有没有办法手动将statistics.stdev输出的值转换成np.std输出的值?我知道一个取总体的标准差,另一个取样本的标准差。

statistics.stdev([10,8,2]) = 4.163331998932266 np.std([10,2]) = 3.39934634239519

解决方法

区别在于,statistics.stdev() 返回方差的平方根,该方差的计算方法是将均值偏差的平方和除以整个样本量 n,而 np.std() 返回平方通过将均值偏差的平方和除以 n - 1(以获得无偏估计量)计算出的方差的根。

因此,将标准偏差的一个估计值转换为另一个估计值的因子是 (n - 1) / n 的平方根:

import statistics

sample = [10,8,2]
n = len(sample)

statistics.stdev(sample) * ((n - 1) / n) ** 0.5
3.3993463423951904

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。