我刚开始学习R语言编程,我尝试分析一下这篇论文“Parameter Estimations for Some Modifications of the Weibull Distribution”的MLE
这是我的代码
library(nleqslv)
Weibull.mle<-function(a=1,b=3,c=1,n=100){
u<-runif(n)
sim.data<-((-log(1-u^(1/c)))/a)^(1/b)
x<-c()
for(i in 1:n){x[i]<-sim.data[i]}
log.likeAll<-function(x){
aa <- x[1]
bb <- x[2]
cc <- x[3]
y <- numeric(3)
y[1]<-(n/aa)-sum(sim.data^bb)+(cc-1)*sum(((sim.data^bb)*exp(-aa*(sim.data^bb)))/(1-exp(-aa*(sim.data^bb))))
y[2]<-(n/bb)+sum(log(sim.data))-aa*sum((sim.data)^bb*log(sim.data))+aa*(cc-1)*sum((log(sim.data)*(sim.data^bb)*exp(-aa*(sim.data^bb)))/(1-exp(-aa*(sim.data^bb))))
y[3]<-(n/cc)+sum(log(1-(exp(-aa*(sim.data^bb)))))
return(y)
}
estAll<-nleqslv(c(a,b,c),log.likeAll)
a.est<-estAll$x[1]
b.est<-estAll$x[2]
c.est<-estAll$x[3]
output<-c(a.est,b.est,c.est)
return(output)
}
#Testing#
Weibull.mle(a=1,b=3,c=1,n=100)
不知道我的代码是完整还是有错误
请帮帮我谢谢。