【发布时间】:2020-05-08 04:09:55
【问题描述】:
我正在尝试绘制均匀连续分布的 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 用于x 轴值来绘制pdf 和cdf,可以看出这两个函数都通过了。 uniform_distribution 变量取实际分布。
但是函数uniform.pdf 和uniform.cdf 采用x,这似乎不直观。在这两个函数中更改 x 时,我得到了我的 pdf 图,但 cdf 被扭曲了。不知道 cdf 和 pdf 函数的确切参数应该是什么以及为什么。
【问题讨论】:
标签: python-3.x machine-learning scipy statistics