下面的代码打印了特定均值和标准差的 PDF 图。
现在我需要找到特定值的实际概率。因此,例如,如果我的均值为 0,我的值为 0,则我的概率为 1。这通常是通过计算曲线下面积来完成的。类似这样:
http://homepage.divms.uiowa.edu/~mbognar/applets/normal.html
我不知道如何解决这个问题
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
def normal(power, mean, std, val):
a = 1/(np.sqrt(2*np.pi)*std)
diff = np.abs(np.power(val-mean, power))
b = np.exp(-(diff)/(2*std*std))
return a*b
pdf_array = []
array = np.arange(-2,2,0.1)
print array
for i in array:
print i
pdf = normal(2, 0, 0.1, i)
print pdf
pdf_array.append(pdf)
plt.plot(array, pdf_array)
plt.ylabel('some numbers')
plt.axis([-2, 2, 0, 5])
plt.show()
print
最佳答案
除非您有理由自己实现。 scipy.stats.norm 中提供了所有这些功能
我想你要求的是 cdf,然后使用此代码:
from scipy.stats import norm
print(norm.cdf(x, mean, std))
关于python - 如何在 Python 中计算 PDF(概率密度函数)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41974615/