【问题标题】:convert statistics.stdev values to np.std value将 statistics.stdev 值转换为 np.std 值
【发布时间】:2021-09-14 18:28:45
【问题描述】:

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

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

【问题讨论】:

  • statistics.pstdev([10, 8, 2]) = 3.39934634239519

标签: python numpy statistics


【解决方案1】:

不同之处在于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

【讨论】:

    猜你喜欢
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 2011-09-17
    • 1970-01-01
    相关资源
    最近更新 更多