一组随机数之和的概率
probability of sum of a group of random numbers
也许堆栈溢出不是这个地方,但它与我正在从事的数据科学项目有关。
如果我随机生成一个介于 1 和 10...之间的数字 10 次,然后对所有数字求和,该总数的标准差是多少?
我很确定总数的平均值为 55.5,但与该平均值的平均距离如何?
好吧,从 here 可以得出均值确实是 10*(10+1)/2 = 55,方差是
10*(10-1)2/12 = 67.5.
在 Python
中进行快速测试
import math
import random
def sample(a, b):
s = 0.0
for k in range (0, 10):
s += random.uniform(a, b)
return s
random.seed(12345)
a = 1.0
b = 10.0
n = 100000
q = 0.0
q2 = 0.0
for k in range(0, n):
v = sample(a, b)
q += v
q2 += v*v
q /= float(n)
q2 /= float(n)
print(q, q2 - q*q)
打印 55.005828775627684 67.69074422910626
标准偏差为 sqrt(67.5)
并等于约 8.22
也许堆栈溢出不是这个地方,但它与我正在从事的数据科学项目有关。
如果我随机生成一个介于 1 和 10...之间的数字 10 次,然后对所有数字求和,该总数的标准差是多少?
我很确定总数的平均值为 55.5,但与该平均值的平均距离如何?
好吧,从 here 可以得出均值确实是 10*(10+1)/2 = 55,方差是 10*(10-1)2/12 = 67.5.
在 Python
中进行快速测试import math
import random
def sample(a, b):
s = 0.0
for k in range (0, 10):
s += random.uniform(a, b)
return s
random.seed(12345)
a = 1.0
b = 10.0
n = 100000
q = 0.0
q2 = 0.0
for k in range(0, n):
v = sample(a, b)
q += v
q2 += v*v
q /= float(n)
q2 /= float(n)
print(q, q2 - q*q)
打印 55.005828775627684 67.69074422910626
标准偏差为 sqrt(67.5)
并等于约 8.22