Python 均值浮动的泊松分布

Python 均值浮动的泊松分布,python,numpy,random,Python,Numpy,Random,我对Python比较陌生,一直在使用np库。我在按照泊松分布生成尖峰时遇到了一些问题。您可以使用以下链接查看详细信息 基本问题是,如果我们使用一个整数值作为泊松分布的平均值,我们会得到一个很好的分布(使用下面的代码)。然而,对于均值的浮动值,我们没有得到分布 spkt= np.random.poisson(5,1000) # Mean of 5 for 1000 samples plt.hist(spkt) plt.show() 您可以使用非整数平均值进行采样。下面的代码采样并计算泊松分

我对Python比较陌生,一直在使用np库。我在按照泊松分布生成尖峰时遇到了一些问题。您可以使用以下链接查看详细信息

基本问题是,如果我们使用一个整数值作为泊松分布的平均值,我们会得到一个很好的分布(使用下面的代码)。然而,对于均值的浮动值,我们没有得到分布

spkt= np.random.poisson(5,1000)   # Mean of 5 for 1000 samples
plt.hist(spkt)
plt.show()

您可以使用非整数平均值进行采样。下面的代码采样并计算泊松分布的PMF,并一起绘制,Win 10 x64,Anaconda Python 3.7

import numpy as np
from matplotlib import pyplot as plt
from scipy.stats import poisson

μ = 3.5
min = 0
max = 20

spkt = np.random.poisson(μ, 10000)

h, bins = np.histogram(spkt, bins = int(max-min+1), range=(min-0.5,max+0.5))
#print(h)
#print(bins)

mean = np.mean(spkt)
print(f"Mean value {mean} versus mu {μ}")

# Poisson PMF for given mu
x = [k for k in range(min, max+1)]
y = [poisson.pmf(k, μ) for k in range(min, max+1)]

# plot sampled vs computed PMF
plt.hist(spkt, bins = bins, density=True)
plt.plot(x, y, "ro")
plt.title("Poisson")
plt.show()
有这样的照片

更新

如果你想要非常小的μ采样,同样的代码对我来说也适用,但它几乎都是零

μ = 2.0e-5
输出为


如果你正在处理尖峰神经网络,我强烈建议你看看。特别是,为了实现各种SNN,我使用了很长时间。要使用brian2软件包指出您的问题:

P = PoissonGroup(100, np.arange(100)*Hz + 10*Hz)

更多详细信息。

泊松分布的平均值可以是一个浮点数。我尝试了几个浮点数,得到了一个数组,就像整数一样。小样本的更新采样你在处理尖峰神经网络吗?