2016-11-22 17 views
0

У меня есть ряд участков, глядя, как это:Fit точки с гамма-КОР в питона или R

питон код:

a = np.array([4,4,4,4,5,5,5,6,6,6,6,6,6,6,7,7,7,8,8,8,9]) 
b = np.array([i/len(a) for i in range(1, len(a)+1)]) 
pl.plot(a,b, 'ro') 

г Код:

a <- c(4,4,4,4,5,5,5,6,6,6,6,6,6,6,7,7,7,8,8,8,9) 
b <- seq(0,1,length = length(a)) 
plot(a, b, col = "red") 

imge

Для какой-то цели мне нужно установить эти точки с наилучшей функцией кумулятивного распределения (CDF) распределения гаммы. Есть ли способ сделать это численно в python или R? Я использую winpython, поэтому я могу импортировать R-код довольно прямолинейно.

PS: Я нашел this пост, но я не понимаю его.

+0

'fitdistr (а, "гамма")' 'от MASS'-пакета в' r', кажется, работает, не так ли? –

+0

Да, thx много !! – Bobesh

ответ

0
library(MASS) 
gammafit <- fitdistr(a, "gamma") 
# shape  rate 
# 17.552961 2.902459 
# (5.366214) (0.900112) 

Таким образом, очевидно, что гамма-параметры 17.55 (для формы) и 2,90 (для скорости) приспосабливать ваши данные лучше.

plot(a, b, col = "red") 
lines(a, pgamma(a, gammafit$estimate[1], gammafit$estimate[2])) 

like this

0

Использование пакета fitdistrplus:

a <- c(4,4,4,4,5,5,5,6,6,6,6,6,6,6,7,7,7,8,8,8,9) 
library(fitdistrplus) 
fit <- fitdist(a, "gamma", lower = c(0,0)) 
plot(fit) 

 Смежные вопросы

  • Нет связанных вопросов^_^