# NOT RUN {
## generate random data
dat <- rwiener(100,3,.25,.5,0.8)
## fit wdm
wdm1 <- wdm(dat, alpha=3, tau=.25, beta=0.5)
## compute likelihood, AIC, BIC, deviance
logLik(wdm1)
AIC(wdm1)
BIC(wdm1)
deviance(wdm1)
# }
# NOT RUN {
## estimate parameters by calling optim manually
## first define necessary wrapper function
nll <- function(x, data) {
object <- wdm(data, alpha=x[1], tau=x[2], beta=x[3], delta=x[4])
-logLik(object)
}
## call estimation routine
onm <- optim(c(1,.1,.1,1),nll,data=dat, method="Nelder-Mead")
est <- optim(onm$par,nll,data=dat, method="BFGS",hessian=TRUE)
est$par # parameter estimates
## use the obtained parameter estimates to create wdm object
wdm2 <- wdm(dat, alpha=est$par[1], tau=est$par[2], beta=est$par[3],
delta=est$par[4])
## now the generic functions can be used again
logLik(wdm2)
# }
Run the code above in your browser using DataCamp Workspace