gpt4 book ai didi

python-3.x - 绘制均匀连续分布的 CDF

转载 作者:行者123 更新时间:2023-11-30 09:58:56 25 4
gpt4 key购买 nike

我正在尝试绘制均匀连续分布的pdf和cdf。代码如下:

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

fig, ax = plt.subplots(1, 1)

# Genrating uniform distribution
uniform_distribution = uniform.rvs(0, 1, 1000)
x = np.linspace(uniform.ppf(0.01),uniform.ppf(0.99), 1000)
ax.hist(uniform_distribution, density=True, histtype='stepfilled', alpha=0.2)

# Plotting pdf
pdf = uniform.pdf(x)
ax.plot(x, pdf, 'r-', lw=5, alpha=0.6, label='pdf')

# Plotting cdf
cdf = uniform.cdf(x)
ax.plot(x, cdf, 'k-', lw=2, label='cdf')
ax.legend(loc='best', frameon=False)

在尝试了一些值后,我得到了正确的结果。据我了解,变量x用于绘制pdf和cdf的x轴值,可以看到这两个函数都传递了。 uniform_distribution 变量采用实际分布。

但是函数 uniform.pdfuniform.cdf 采用 x 这似乎不直观。在更改两个函数中的 x 时,我得到了原样的 pdf 图,但 cdf 被扭曲了。不确定 cdf 和 pdf 函数的确切参数应该是什么以及原因。

最佳答案

您可以更改ab以查看不同的数字:

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

a, b = 1, 5
size = 1000

fig, ax = plt.subplots(1, 1)

# Genrating uniform distribution
uniform_distribution = uniform(loc=a, scale=b)
x = np.linspace(uniform_distribution.ppf(0), uniform_distribution.ppf(1), size)

# Plotting pdf
pdf = uniform_distribution.pdf(x)
ax.plot(x, pdf, 'r-', lw=5, alpha=0.6, label='pdf')

# Plotting cdf
cdf = uniform_distribution.cdf(x)
ax.plot(x, cdf, 'k-', lw=2, label='cdf')
ax.legend(loc='best', frameon=False)

# Histogram
ax.hist(uniform_distribution.rvs(size=size), density=True, histtype='stepfilled', alpha=0.2)
ax.set_ylim(-0.05, 1.05)

fig.show()

enter image description here

关于python-3.x - 绘制均匀连续分布的 CDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59852272/

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