gamma分布相加,gamma分布乘以一个常数

  gamma分布相加,gamma分布乘以一个常数

  我在做谢克特光度函数,如下图。

  phi(l)dl=范数因子*(d(l/lstar)^(a))(exp)d(l/lstar)d(l/lstar)))))))

  L/Lstar说是LL。

  其累积分布函数的解析解由函数给出,N=范数因子*(a1,1)。

  这是一个不完整的伽玛函数。因为积分的极限是从L到无穷大。

  现在,我正在尝试在Python上画cdf。我用了以下的东西。

  将scipy.special作为ss导入

  si=[ss.gammaInc(a1,l(I ) ]forIina ) #CDF

  (其中l [I]是我用随机数做的数组)

  结果之和是1,看起来像cdf。不过,我现在想随机化一下。所以设置为由cdf=随机数(Python)统一生成,而不是cdf=1。))现在,如果你想创建count和L的直方图并随机采样,你需要反转gamma函数。

  我的问题是howdoInvertTheGammaFunctionInPython?

  这是我现在拥有的:

  u=[ random.uniform (0,1 ) for i in a]

  L=[ss.gammaincinv(a1,u[i] ) for i in a]

  PLT.plot(L,u,.)

  plt.show())

  PLT.hist(l,bins=50,rwidth=1.5,histtype=step ,lw=0.7,normed=True,range=(-0.5,1))

  plt.show())

  编译器没有抱怨,直方图的形式不对。我觉得应该把cdf的随机采样直方图还原成PDF的形式。

  我到底做了什么?显然,scipy的不完全伽马函数的版本是“正则化的”,意味着它被完全伽马函数除。因此,即使我乘以Inc(1,u [I]) a1)

  轴将按比例缩放。

  你有什么建议?

  结论:用随机抽样法建立谢克特光度函数cdf直方图是必要的。

gamma分布相加,gamma分布乘以一个常数