Python适合均匀分布

时间:2014-10-06 10:27:02

标签: python scipy distribution

我试图使用一组均匀分布的数据。这是我基于正态分布拟合尝试的。我不确定这个实现是否正确?你能给些建议么。

import matplotlib.pyplot as plt
from scipy.stats import uniform
mu, std = uniform.fit(data)


plt.hist(data, normed=True, alpha=0.6, color='#6495ED')


xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 100)
p = uniform.pdf(x, mu, std)
plt.plot(x, p, 'k', linewidth=2)
title = "Fit results: mu = %.2f,  std = %.2f" % (mu, std)
plt.title("Uniform Fitting")
plt.show()

2 个答案:

答案 0 :(得分:2)

一般来说,一旦你修正了名称错误(我认为logodsdata是相同的),这一般是正确的。请注意,uniform分布的参数是一般位置和比例参数(具体而言,分别是下边界和宽度),不应命名为mustd,这些参数特定于正态分布。但这不会影响代码的正确性,只会影响可理解性。

答案 1 :(得分:0)

我将使用OpenTURNS的UniformFactorybuild方法返回具有drawPDF方法的发行版。

import openturns as ot
data = [1.,2.,3.,4.,5.,6., 7., 8.]
sample = ot.Sample(data,1)
distribution = ot.UniformFactory().build(sample)
distribution.drawPDF()

这将产生:

Uniform distribution