python - 如何在 Python 中计算 PDF(概率密度函数)?

标签 python numpy statistics probability-density

下面的代码打印了特定均值和标准差的 PDF 图。

http://imgur.com/a/oVgML

现在我需要找到特定值的实际概率。因此,例如,如果我的均值为 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/

相关文章:

Python 列表 : Is this the best way to remove duplicates while preserving order?

python - 打印出一个 numpy 数组,其中包含 BMI 低于 21 的所有玩家的 BMI

python - 如何对 Pandas Dataframe 中的所有值进行 value_counts

python - 给定现有分布,如何绘制大小为 N 且 std 为 X 的样本?

python - R 与 python : why are they different? 中的 ACF 置信区间

optimization - 稀疏最小二乘回归工具

python - 批量大小如何影响神经网络的时间执行?

python - 当索引不像auto_increment时如何获取pandas行号。

python - "Tried to convert ' 使用 expand_dims 时变暗 ' to a tensor and failed"

python - 跨 Numpy 数组进行减法