gpt4 book ai didi

python - 使用 matplotlib 按样本绘制概率密度函数

转载 作者:IT老高 更新时间:2023-10-28 20:43:21 26 4
gpt4 key购买 nike

我想绘制基于概率密度函数的近似值我有一个 sample ;模仿直方图行为的曲线。我可以有我想要的样本。

最佳答案

如果你想绘制一个分布,并且你知道它,将它定义为一个函数,然后这样绘制它:

import numpy as np
from matplotlib import pyplot as plt

def my_dist(x):
return np.exp(-x ** 2)

x = np.arange(-100, 100)
p = my_dist(x)
plt.plot(x, p)
plt.show()

如果您没有精确的分布作为分析函数,也许您可​​以生成一个大样本,获取直方图并以某种方式平滑数据:

import numpy as np
from scipy.interpolate import UnivariateSpline
from matplotlib import pyplot as plt

N = 1000
n = N//10
s = np.random.normal(size=N) # generate your data sample with N elements
p, x = np.histogram(s, bins=n) # bin it into n = N//10 bins
x = x[:-1] + (x[1] - x[0])/2 # convert bin edges to centers
f = UnivariateSpline(x, p, s=n)
plt.plot(x, f(x))
plt.show()

您可以在 UnivariateSpline 函数调用中增加或减少 s(平滑因子)以增加或减少平滑。例如,使用你得到的两个: dist to func

关于python - 使用 matplotlib 按样本绘制概率密度函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15415455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com