numpy 随机分布直方图

lzfw57am  于 2023-10-19  发布在  其他
关注(0)|答案(1)|浏览(103)

我不知道这是一个与数学有关的问题还是与计算机有关的问题,所以决定在两个网站上都问。
首先,我需要说我在统计学和概率方面没有太多的知识,所以我想这可能是我问这些问题的原因。
所以我在玩matplotlib,绘制不同分布的直方图,在numpy(numpy.random.random)创建的随机分布中看到了一些奇怪的东西。

data = np.random.random(1000)
plt.hist(data, bins = 100, density=True)

以下是我的问题:
1.为什么有些条会越过[0-1]的界限?密度的定义不是如下吗?
密度=(数据点出现的次数/数据总数)。
根据该定义,密度不应大于1且小于0。如果是这样的话,为什么有些酒吧会越过这个界限呢?我是否误解了密度的含义?最大密度不应该小于1吗?

data = np.random.random(1000)
plt.hist(data, bins = 100)

1.如果我把density=False,我得到上面的结果。根据图,一个bin的最大出现次数约为20次。如果我将其除以我的数据数组的长度1000,它应该是0.02,但相反,对于density=True,我的最大高度是2,而不是0.02。为什么会这样?
我想我可能误解了密度的定义,它意味着什么,它是如何计算的,以及它代表什么。所以如果你能用简单的术语解释一下密度,我会很感激。
我想我也可能对随机分布有一些错误的想法,把它们看作是正态分布,这就是为什么我很难理解这个问题,并把它弄清楚。如果你也能解释随机分布和它们与正态分布的主要区别,我会非常感激。

piztneat

piztneat1#

密度参数的描述可以在numpy的文档中找到:https://numpy.org/doc/stable/reference/generated/numpy.histogram.html
来自文档:
密度:bool,可选
如果为False,结果将包含每个箱中的样本数。如果为True,则结果是箱处的概率密度函数的值,经归一化,使得范围内的积分为1。注意,直方图值的和将不等于1,除非选择单位宽度的仓;它不是概率质量函数。
因为目标是积分(注意:整数而不是和)为1,则平均条的高度为1,因为完全随机分布将是x轴上从0到1和y轴上从0到1的矩形,并且具有1的面积。
换句话说,某些条可以高于1,因为每个bin的宽度小于1,因此每个条的面积仍然小于1。
当然,因为这是随机的,所以有些条形的高度小于1,有些条形的高度大于1。

相关问题