【发布时间】:2018-11-24 06:09:04
【问题描述】:
from scipy import stats
import numpy as np
class your_distribution(stats.rv_continuous):
def _pdf(self, x):
p0 = 10.9949
p1 = 0.394447
p2 = 12818.4
p3 = 2.38898
return ((p1*p3)/(p3*p0+p2*p1))*((p0*np.exp(-1.0*p1*x))+(p2*np.exp(-1.0*p3*x)))
distribution = your_distribution(a=0.15, b=10.1)
sample = distribution.rvs(size=50000)
上面的代码从 0.15 到 10.1 范围内的标准化 pdf 生成 50000 个样本。但是,在上限b=10.1 处生成了不成比例的大量样本。这没有意义,正如绘制 pdf 时所看到的那样。
我该如何解决这个问题?
【问题讨论】:
-
为什么
-1.0*...代码在这里? -
@SeverinPappadeux 我不明白这个问题。
标签: python random scipy statistics