zhgzhckc 发表于 2015-3-25 05:14 
# 创建一个向量T, T中包括m个时间,每个时间就是你帖子中的时间k
T
您好,按照您的思路,我调整了代码,已经可以用来解决问题了,非常感谢。下面是我用来做极大似然估计的代码,在运行小样本的时候,耗时还可以接受,n取200左右,需要5秒左右的响应时间可以出结果。
现在有新的问题,当n或者m较大,比如有30000到50000个时,有没有办法能够加速运算?我加入数据算了5个小时还没出现结果。。。
只能再向大神求教了!
LL<- function(x)
{
u<- x[1]
w<- x[2]
k<- x[3]
t<- with(Data, count)
inner.sum<-0
outer.sum<-0
extra.sum<-0
for (count in 1:33489) {
for (b in 1:33489) {
if (t
>= count) {
next
} else {
inner.sum <- inner.sum + w * exp(-w * (count - t))
}
extra.sum <- extra.sum + exp(w * t)-exp(-w * (4355 - t))
}
k0_inner.sum <- k * inner.sum
log_inner.sum <- log(u + k0_inner.sum)
outer.sum <- outer.sum + log_inner.sum
k0_extra.sum <- k * extra.sum
c<- outer.sum-u*4355-k0_extra.sum
}
return(-c)
}
hist(count,freq=F)
lines(density(count))
Data.res<- nlminb(c(0.001,0.001,0.001),LL,
lower=c(0.0001,0.0001,0.0001),
upper=c(0.9999,0.9999,0.9999))
Data.res$par