绘制随机数 returns 只有整数
Drawing random numbers returns only integers
我可能遗漏了关于统计或 numpy/scipy 的重要观点。
我想生成具有泊松统计的随机数,其期望值为 a decimal less than 1
,例如 lambda = 0.6
。
当我将其 pythonize 时:
>>> from scipy.stats import poisson
>>> import numpy as np
>>> lambda = 0.6
>>> poisson.rvs(lambda, size=10)
>>> print r
[2 2 0 0 0 2 1 0 0 2 ]
正在尝试
>>> r = np.real(poisson.rvs(lambda, size=10))
给出相同的结果。
为什么 0 和 1 之间没有小数?
泊松分布是 discrete probability distribution,这意味着您只能得到整数变量,而不是小数。
注意:这并不意味着与特定变量相关的概率P是整数,可以是小数,只是各个变量本身必须是整数。
泊松不是连续概率分布,因此这是预期行为
http://en.wikipedia.org/wiki/Poisson_distribution
另外不要调用你的变量lambda,这是一个重要的Python运算符
我可能遗漏了关于统计或 numpy/scipy 的重要观点。
我想生成具有泊松统计的随机数,其期望值为 a decimal less than 1
,例如 lambda = 0.6
。
当我将其 pythonize 时:
>>> from scipy.stats import poisson
>>> import numpy as np
>>> lambda = 0.6
>>> poisson.rvs(lambda, size=10)
>>> print r
[2 2 0 0 0 2 1 0 0 2 ]
正在尝试
>>> r = np.real(poisson.rvs(lambda, size=10))
给出相同的结果。
为什么 0 和 1 之间没有小数?
泊松分布是 discrete probability distribution,这意味着您只能得到整数变量,而不是小数。
注意:这并不意味着与特定变量相关的概率P是整数,可以是小数,只是各个变量本身必须是整数。
泊松不是连续概率分布,因此这是预期行为
http://en.wikipedia.org/wiki/Poisson_distribution
另外不要调用你的变量lambda,这是一个重要的Python运算符