import numpy as np
a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
pian = np.std(a, ddof = 0) # 有偏
print("std有偏计算结果:",pian)
orig = np.sqrt(((a - np.mean(a)) ** 2).sum() / a.size)
print("有偏公式计算结果:",orig)
no_pian = np.std(a, ddof = 1) # 无偏
print("std无偏计算结果:",no_pian)
orig1 = np.sqrt(((a - np.mean(a)) ** 2).sum() / (a.size - 1))
print("无偏公式计算结果:",orig1)
计算结果:
std有偏计算结果: 2.8722813232690143
有偏公式计算结果: 2.8722813232690143
std无偏计算结果: 3.0276503540974917
无偏公式计算结果: 3.0276503540974917