gpt4 book ai didi

python - python中的无偏方差估计(n-1)模拟失败

转载 作者:行者123 更新时间:2023-12-01 09:31:27 25 4
gpt4 key购买 nike

我试图编写一个小程序来模拟Python3中随机数的采样。但这似乎与我的意图相反。我究竟做错了什么?这一定非常简单,但我不明白。

import random
import statistics
import math

pcounter = 0
counter = 0
for loop in range(1000):
l = []
for x in range(500):
l.append(random.randint(1,1000))

m = statistics.mean(l)
v = list(l)
v[:] = [(x-m)**2 for x in v]
realvariance = sum(v)/len(v)
#print("Real Variance: " + str( sum(v)/len(v)))
#print("Real Mean: " + str(m))


sample = random.sample(l, 10)
v = list(sample)
#print(v)
v[:] = [(x-m)**2 for x in v]
samplem = statistics.mean(sample)
samplebiasedvariance = sum(v)/len(v)
samplevariance = sum(v)/(len(v)-1)

print(samplebiasedvariance)
print(samplevariance)
print(realvariance)
print((samplebiasedvariance - realvariance)**2 < (samplevariance - realvariance)**2)
if (samplebiasedvariance - realvariance)**2 < (samplevariance - realvariance)**2:
pcounter = pcounter + 1
print("biased Variance wins: " + str(pcounter))

else:
counter = counter + 1
print("Variance wins: " + str(counter))

print("biased Variance wins: " + str(pcounter))
print("Variance wins: " + str(counter))

这会导致:

biased Variance wins: 563
Variance wins: 437

但情况应该是相反的:我预计有偏方差会比使用 (n-1) 计算的无偏方差更差。因此,它通常应该比有偏差的方差更接近真实总体方差(真实方差)。

最佳答案

“偏见”是一个误导性术语——它暗示数学公式中存在某种道德问题。

您所看到的本质上是两个方差估计量的均方误差。 (越接近实际值,均方误差就越小。)事实证明,无偏样本方差的均方误差大于通常的有偏样本方差,而通常的有偏样本方差又比用 1/计算的样本方差具有更大的均方误差。 (n + 1) 而不是 1/n 或 1/(n - 1)。

如果我理解正确的话,如果您将 1/(n + 1) 估计器放入您的程序中,您应该会发现它通常比其他两个估计器更接近实际值。

此主题在 Wikipedia 页面 variance 上进行了讨论。在“总体方差和样本方差”标题下。毫无疑问还有很多其他资源。

关于python - python中的无偏方差估计(n-1)模拟失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49932308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com