我知道是用nlminb
打?nlminb之後,還是看不懂需要的參數到底是什麼東西
我這裡書上有例子,可是還是不清楚 start是什麼值
=======================================================
x<-c(8組1.6xx~1.8xx)
y<-c(6~60的整數)
n<-c(56~60的整數)
fn<-function(p)
sum( -(y*(p[1]+p[2]*x) - n*log(1+exp(p[1]+p[2]*x))
+ log(choose(n,y))))
out<-nlm(fn,p=c(-50,20),hessian=true)
=======================================================
以下是我的老師寫的weibull的 MLE
=======================================================
temp<-rweibull(12,2,3)
weib.lik<-function(para,x,r)
{
nn<-length(x)
ifelse(r>nn,rr<-nn,rr<-r)
x.sort<-sort(x)
x.rr<-x.sort[1:rr]
like<-rr*para[2]*log(para[1])+rr*log(para[2])+
(para[2]-1)*sum(log(x.rr))-
sum((para[1]*x.rr)^para[2])-
(nn-rr)*(para[1]*x.rr[rr])^para[2]
return(-like)
}
weib.para.star<-function(x,r)
{
nn<-length(x)
ifelse(r>nn,rr<-nn,rr<-r)
x.sort<-sort(x)
x.rr<-x.sort[1:rr]
x.qq<-log(-log(1-(c(1:rr)-0.5)/nn))
# plot(x.qq,log(x.rr),xlab="log(-log())",
# ylab="order statistics")
x.lm<-lm(log(x.rr)~x.qq)
lambda<-exp(-x.lm$coef[1])
beta<-1/x.lm$coef[2]
para<-c(lambda,beta)
return(para)
}
para.star<-weib.para.star(temp,12)
weib.mle<-nlminb(star=para.star,weib.lik,lower=c(0,0),x=temp,r=12)
=======================================================
看不懂為什麼star=para.star,weib.lik放參數位置是什麼意思...~.~
請知道的人幫忙講解一下好嗎?
謝謝
--
要常玩BG
頭腦才不會退化
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.25.135.23