我有这个问题。 '将nfsold中的数据建模(nfsold只是一个包含150个数字的向量),作为一组来自Gamma(lambda; k)分布的150个独立观测值。使用矩量法来获得k和lambda的估计。绘制数据的直方图并叠加拟合伽玛分布的PDF作为初步检查,以确定此分布与观察到的数据相匹配。'
这是我写的代码。
#The first moment of each Xi, i = 1,...,n, is E(Xi) = k/lamda.
#The second moment of each Xi is E(Xi^2) = k(k+1)/(lamda)^2
#Since we have to find 2 two things, k and lamda we require 2 moments to do this.
x_bar = mean = sum(nfsold)/150 #This is the first moment
mean
second_moment = sum(nfsold^2)/150
second_moment
#(1/n)(sum xi) = k/lamda
#(1/n)(sum x^2i) = k(k+1)/(lamda)^2
#By solving these because of the methods of moments we get lambda and k.
lamda_hat = (x_bar)/((second_moment)-(x_bar)^2)
lamda_hat
k_hat = (x_bar)^2/ ((second_moment)-(x_bar)^2)
k_hat
independent_observations = dgamma(x,k_hat, rate = lamda_hat)
hist( independent_observations, breaks = 15, prob = TRUE, main="Histogram for the Gamma Distribution of the data in nfsold", xlab="Independent Observations", ylab="P.D.F")
curve(dgamma(x,k_hat, rate =lamda_hat), add=TRUE, col="green")
我的问题是我的叠加曲线没有跟随我的直方图,所以我觉得我的代码有问题,请问我能帮忙纠正它吗?
谢谢!