numpy を使用して N 個の通常の rv (平均 0 sd 1) の束を生成し、サンプルの標準偏差を ddof = 1 で取得しています。これにより、偏りのない推定量が得られるはずです。プロセスはおおよそ次のとおりです。
def genData(samples = 20, mean = 333.8, sd = 3.38):
bl = scipy.stats.norm.rvs(loc = mean, scale = sd, size = samples)
return [np.mean(bl), np.std(bl, ddof = 1)]
means = {}
sds = {}
n = 50000
for size in range(5,21):
x = [genData(size, mean = 0, sd = 1) for x in range(n)]
means[size] = map(lambda d: d[0], x)
sds[size] = map(lambda d: d[1], x)
ただし、代わりに次の KDE を観察します。
ddof = 1 ddof = 2 サンプル サイズが小さいため、曲線が粗くなっていることをご容赦ください。
ddof = 2 で排除される ddof = 1 には明確なバイアスがあります。ここで何が間違っていますか?