【发布时间】:2015-04-30 22:11:47
【问题描述】:
我正在为一个严重依赖随机数生成器的类项目运行模拟,因此我们被要求测试随机数生成器以查看它使用卡方静态的“随机”程度.浏览了这里的一些帖子后,我使用以下代码找到了答案:
from random import randint
import numpy as np
from scipy.stats import chisquare
numIterations = 1000 #I've run it with other numbers as well
observed = []
for i in range(0, numIterations):
observed.append(randint(0, 100))
data = np.array(observed)
print "(chi squared statistic, p-value) with", numOfIter, "samples generated: ", chisquare(data)
但是,当 numIterations 大于 10 时,我得到的 p 值为零,考虑到零假设是数据是统一的,这实际上没有意义。我误解了结果吗?还是我的代码完全错误?
【问题讨论】:
-
这就是全部代码吗?我觉得我们错过了一些东西。
-
我只是省略了样板导入语句。让我把它们加进去。
-
但是关键的
chisquare函数在哪里...? -
抱歉,我的 IDE 将其隐藏在 import 语句下。这应该就是一切。
-
您知道
chisquare测试实际上是在测试什么吗?我真的不明白你希望从chisquare(data)得到什么。在我看来这毫无意义。
标签: python random statistics scipy