目前,我有以下代碼重寫numpy.random.binomial使用For循環
def approx_binomial(n, p, size=None):
gaussian = np.random.normal(n*p, n*p*(1-p), size=size)
# Add the continuity correction to sample at the midpoint of each integral bin.
gaussian += 0.5
if size is not None:
binomial = gaussian.astype(np.int64)
else:
# scalar
binomial = int(gaussian)
return binomial
然而,因爲它使用的隨機函數是不是很準確。有沒有其他方法可以使用for循環重寫函數?
我的另一個問題是如何顯示概率質量函數與成功次數的關係圖?
def approx_binomial(n, p, size=None):
gaussian = np.random.normal(n*p, n*p*(1-p), size=size)
# Add the continuity correction to sample at the midpoint of each integral bin.
gaussian += 0.5
if size is not None:
binomial = gaussian.astype(np.int64)
else:
# scalar
binomial = int(gaussian)
return binomial
plt.plot(n,p)
plt.show()
謝謝!
** 1。 **這個函數的意思是不是很準確?該函數似乎應該是返回隨機樣本。這裏有什麼隨機性來處理準確性?請在您的問題上更具體地說明您期望與所得到的結果。 ** 2。**第二個問題似乎與第一個問題相當。爲了清楚起見,請考慮將它們分成兩個帖子。 – kazemakase
@kazemakase我的意思是我需要更準確地重新編碼numpy.random.binomial。我使用的當前代碼的值與您在使用上述功能時得到的值有很大差異。 – user3393463
numpy的二項式有什麼問題?你可以簡單地使用它。 – kazemakase