1

我刚开始学习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)

不知道我的代码是完整还是有错误

请帮帮我谢谢。

4

0 回答 0