擅长:python、mysql、java
<p>这是我试图解决的问题。在b'=1的情况下,数据是对称的,我们应该将其视为正态分布。随着样本数量的增加,pX_out接近pX_in。我本希望能够设置上下两个障碍,但我还没有想出如何做到这一点。如有任何建议,我们将不胜感激。谢谢您。在</p>
<pre><code>def myerson(p10, p50, p90, number_of_samples):
b_mark = ((float(p90) - float(p50)) / (float(p50) - float(p10)))
samples = []
for i in range(number_of_samples):
rand_numb = random.random()
factor = norm.ppf(rand_numb, 0, 0.780304146072379)
if 0.9999 < b_mark < 1.0001:
sample = p50 + (p90 - p50) * factor
else:
sample = p50 + (p90 - p50)*((b_mark**factor - 1)/(b_mark - 1))
samples.append(sample)
return samples
p10_in = 90
p50_in = 100
p90_in = 111
numberofsamples = 10000
data = myerson(p10_in, p50_in, p90_in, numberofsamples)
p10_out = np.percentile(data,10)
p50_out = np.percentile(data,50)
p90_out = np.percentile(data,90)
</code></pre>