соответствовать гамма-распределению в python с данными вероятности - PullRequest
1 голос
/ 06 мая 2020

У меня есть два данных:

x_data = 
[   0.0,   50.0,  100.0,  150.0,  200.0,  250.0,  300.0,  350.0,  400.0,
  450.0,  500.0,  550.0,  600.0,  650.0,  700.0,  750.0,  800.0,  850.0,
  900.0,  950.0, 1000.0, 1100.0, 1200.0, 1500.0, 2000.0]

    y_data = 
[0.005758157389635317, 0.061420345489443376,  0.06525911708253357,
  0.07677543186180423,   0.0690978886756238,   0.0690978886756238,
  0.05374280230326296, 0.055662188099808066,  0.05182341650671785,
  0.04414587332053743, 0.038387715930902115, 0.057581573896353176,
 0.057581573896353176,  0.04030710172744722,  0.02687140115163148,
 0.024952015355086368, 0.030710172744721688,  0.02111324376199616,
  0.02111324376199616, 0.015355086372360844, 0.030710172744721688,
 0.019193857965451054, 0.038387715930902115,  0.01343570057581574,
 0.011516314779270634]

Эти данные означают, что вероятность x от 0 до 50 составляет 0,005758157389635317, вероятность x от 50 до 100 составляет 0,061420345489443376 и так далее.

Я хочу уместить эти данные в гамма-распределение. И мой код:

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


plt.scatter(x_data,y_data)
plt.plot(x_data, g2, 'r-', linewidth=1, alpha=.6)
plt.annotate(s='shape = %.3f\nloc = %.3f\nscale = %.3f' % (shape2, loc2, scale2), xy=(6, .2))

plt.show()

И результат кажется не таким, как я хочу. введите здесь описание изображения

Как я могу уместить эти данные? Спасибо!

...