Кривая соответствия гамма-распределения в истории - PullRequest
0 голосов
/ 09 января 2019

Когда я запускаю это:

x<-c(73,6,77,81,91,120,150,61,65,68,18,20,23,12,14,18,23,26,26,27,2,3,3,40,41,41,6,10,11,12,37,38,38,6,73,6,51)
a<-1.286486;b<-30.59584

hist(x,breaks=c(0,20,40,60,80,100,120,160),probability = T,xaxt="n")
curve(dgamma(x,a,b),from=0,to=160,col="red",lwd=2,add=T)

Он должен генерировать кривую гамма-распределения на гистограмме. Вместо этого он просто делает плоскую линию вдоль оси X.

enter image description here

Что я здесь не так делаю?

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Ваши коэффициенты для модели неверны. Параметр скорости должен быть ближе к 0,03.

x<-c(73,6,77,81,91,120,150,61,65,68,18,20,23,12,14,18,23,26,26,27, 2,3,3,40,41,41,6,10,11,12,37,38,38,6,73,6,51)

library(fitdistrplus)
model<-fitdist(x, "gamma")
print(model$estimate)
#    shape      rate 
#1.1911710 0.0311047 
a=model$estimate[1]
b=model$estimate[2]    

h<-hist(x,breaks=c(0,20,40,60,80,100,120,160),probability = T)
curve(dgamma(x,a,b),from=0,to=160,col="red",lwd=2,add=T)

enter image description here

0 голосов
/ 09 января 2019

Похоже, что ваш вектор x не содержит реализации гамма-распределения с этими параметрами (a, b). Попробуйте это:

a<-1.286486
b<-30.59584
num<-rgamma(1000,a,b)
hist(num,nclass = 100,freq=F)
curve(dgamma(x,a,b),col="red",lwd=2,add=T)
...