Python适合均匀分布

问题描述 投票:2回答:2

我正在尝试使数据分布均匀。这是我根据正态分布拟合尝试过的。我不确定此实现是否正确?你能给些建议么。

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()
python scipy distribution
2个回答
2
投票

通常,在解决名称错误后(我认为logodsdata应当相同),这是正确的。请注意,uniform分布的参数是常规位置和比例参数(分别是下边界和宽度),不应将其命名为mustd,它们是正态分布所特有的。但这不会影响代码的正确性,只会影响可理解性。


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

© www.soinside.com 2019 - 2024. All rights reserved.