用scipy拟合伽马分布中的位置参数

emac

有人可以向我解释如何在Scipy中将位置参数与gamma.fit函数一起使用吗?

在我看来,位置参数(μ)将分布的支持度从x≥0更改为y =(x-μ)≥0。如果μ为正,那么我们不会丢失所有不满足条件的数据x-μ≥0?

谢谢!

詹姆士

fit查找适合度时,函数将所有数据考虑在内。向数据中添加噪声会改变拟合参数,并且会导致分布不能很好地代表数据。因此,在使用时,我们必须变得聪明一点fit

以下是一些y1使用loc=2scale=1使用numpy生成数据的代码它还会在0到10范围内的数据中添加噪声以创建y2拟合可y1产生出色的结果,但是尝试拟合嘈杂y2是有问题的。我们添加的噪声会抹去分布。但是,在拟合数据时,我们也可以保持1个或多个参数不变。在这种情况下,我们传递floc=2fit,它会在2执行拟合时强制将位置保留在该位置,从而返回更好的结果。

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

x = np.arange(0,10,.1)
y1 = np.random.gamma(shape=1, scale=1, size=1000) + 2  # sets loc = 2 
y2 = np.hstack((y1, 10*np.random.rand(100)))  # add noise from 0 to 10

# fit the distributions, get the PDF distribution using the parameters
shape1, loc1, scale1 = gamma.fit(y1)
g1 = gamma.pdf(x=x, a=shape1, loc=loc1, scale=scale1)

shape2, loc2, scale2 = gamma.fit(y2)
g2 = gamma.pdf(x=x, a=shape2, loc=loc2, scale=scale2)

# again fit the distribution, but force loc=2
shape3, loc3, scale3 = gamma.fit(y2, floc=2)
g3 = gamma.pdf(x=x, a=shape3, loc=loc3, scale=scale3)

并做一些情节...

# plot the distributions and fits.  to lazy to do iteration today
fig, axes = plt.subplots(1, 3, figsize=(13,4))
ax = axes[0]
ax.hist(y1, bins=40, normed=True);
ax.plot(x, g1, 'r-', linewidth=6, alpha=.6)
ax.annotate(s='shape = %.3f\nloc = %.3f\nscale = %.3f' %(shape1, loc1, scale1), xy=(6,.2))
ax.set_title('gamma fit')

ax = axes[1]
ax.hist(y2, bins=40, normed=True);
ax.plot(x, g2, 'r-', linewidth=6, alpha=.6)
ax.annotate(s='shape = %.3f\nloc = %.3f\nscale = %.3f' %(shape2, loc2, scale2), xy=(6,.2))
ax.set_title('gamma fit with noise')

ax = axes[2]
ax.hist(y2, bins=40, normed=True);
ax.plot(x, g3, 'r-', linewidth=6, alpha=.6)
ax.annotate(s='shape = %.3f\nloc = %.3f\nscale = %.3f' %(shape3, loc3, scale3), xy=(6,.2))
ax.set_title('gamma fit w/ noise, location forced')

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用scipy拟合伽马分布中的位置参数

来自分类Dev

R难以拟合伽马分布

来自分类Dev

从R中的反伽马分布采样

来自分类Dev

如何计算伽马分布的中位数?

来自分类Dev

在给定分位数的情况下估计反伽马分布的参数

来自分类Dev

在SciPy中使用固定参数拟合分布

来自分类Dev

用python或R中的伽玛CDF拟合点

来自分类Dev

用scipy拟合多条参数曲线

来自分类Dev

用R拟合分布

来自分类Dev

用固定的某些参数拟合双峰高斯分布

来自分类Dev

复数伽马函数

来自分类Dev

Gnuplot 伽马函数

来自分类Dev

如何获得指数和伽马分布的对数似然

来自分类Dev

R中的分布拟合

来自分类Dev

使用python scipy使伽玛分布适合数据

来自分类Dev

用fitdistrplus拟合Gumbel分布

来自分类Dev

使用scipy拟合给定直方图的分布

来自分类Dev

如何用Scipy拟合对数正态分布?

来自分类Dev

拟合自定义Scipy分布

来自分类Dev

我们如何在MATLAB中找到伽马分布的百分位数或分位数?

来自分类Dev

我们如何在MATLAB中找到伽马分布的百分位数或分位数?

来自分类Dev

在R中拟合加权分布

来自分类Dev

将变量转换为R中的伽玛分布

来自分类Dev

在ggplot中绘制具有伽玛分布的模型

来自分类Dev

Python&Scipy:如何拟合von mises分布?

来自分类Dev

R:如何从分布拟合中获得拟合值?

来自分类Dev

在Python中拟合Maxwell-Boltzman分布

来自分类Dev

在Winbugs中拟合分布混合(高斯+均匀)

来自分类Dev

用特定参数绘制R中的正态分布