Hello,

I used optim to find the MLE estimates of some parameters.  See the code
below.  It works for data1(x). but It did not work for data2 and the error
says" L-BFGS-B needs finite values of 'fn' ".

data2:   c(x, 32)  that is, if I added the number 32 at the end of data1.
The error appears "non-finite function value" etc.

Any comments or suggestions?

Thanks!

Wenhao


##################################

x<-c(8, 11, 20, 15, 21, 16, 19, 15, 19, 17, 14, 8, 20, 7, 20, 25, 4, 17,
10, 28, 14, 13, 6, 109, 11, 29, 14, 17, 43, 75, 7, 19, 14, 12, 16, 3, 42,
40, 15,42,31,33,52, 45, 46,54)



n<-length(x)

j<-1

int<-numeric(n)

log.lik<-function(theta,x){

repeat{

integrand<-function(t,theta){

((2*pnorm(x[j]*t)-1)^(theta[1]-1))*((1-(pnorm(x[j]*t)))^(theta[2]-1))*(dnorm(x[j]*t))*(t^theta[4])

}

int[j]<-integrate(integrand, lower=0,upper=1/theta[3],theta=theta)$val

j<-j+1

if(j>length(x))

break

}

-length(x)*(log((2^theta[2]*theta[3]^theta[4]*theta[4]/(beta(theta[1],theta[2])))))-sum(log(int))

}


aaa<-optim(c(2,2,10,5),method="L-BFGS-B",fn=log.lik,lower=c(1,1,1,1),
hessian=T,x=x, control=list(trace=T))

	[[alternative HTML version deleted]]

