【发布时间】:2015-06-29 22:26:44
【问题描述】:
我正在开发一个包含一些随机事件的模拟基础架构(例如,以一定概率生成输出的源)。到目前为止,我一直在使用 random.random() 函数。例如:
class source:
def output(self, x):
if(random.random()<=x):
return foo
a = []
for i in xrange(10)
a.append(source())
for i in xrange(1000):
for j in xrange(len(a)):
a[j].output()
据我了解,我的列表“a”中的所有源都将从同一个伪随机 LFSR 源中获取随机数,因此 a[0] 将获得一个样本,然后 a[1] 将获得下一个一个,然后是 a[2],等等。如果 random.ramdom() 生成一个真正的随机序列,我相信这仍然会生成 10 个 iid 值子集,但是,因为我假设 python 使用 LFSR 或类似方案,其中每个后续样本都依赖于前一个样本,取这些样本的几个子集可能是独立的,也可能不是同分布的。
我有两个问题:
- 我实际上使用我的伪代码或类似的东西得到了什么样的分布
- 如何在 python 中获取多个 iid 随机变量?
我查看了其他堆栈溢出帖子,例如这个: Generate multiple independent random streams in python 但他们没有回答我的问题。
【问题讨论】:
标签: python random probability probability-theory