This post summarises some R modelling tips I picked up at AMPC2011.
I got some tips from a tutorial on parameter estimation put on by Scott Brownfrom the Newcastle Cognition Lab. The R code used in the tutorial is available directly here or from the conference website.
The main tips I took from the tutorial were:
- Consider using BIC as a model comparison criterion.
- When modelling reaction times, consider modelling data as a mixture model of two processes. One process is the main process of experimental interest and another is a secondary process that otherwise contributes noise. The secondary process is used to capture what would otherwise be outliers that flow, particularly, from very slow reaction times observed when participants get distracted. Probability assigned to the two processes can be specified a priori based on knowledge of the experimental phenomena. In the specific example that Scott showed, the outlier process was given a probability of 0.03 and this was treated as a uniform distribution between 0 and the trial time-out time.
- Consider transformations model parameters for the purpose of estimation and then converting the transformed parameters back to their original scale. This can facilitate estimation and also assist in enforcing psychologically meaningful constraints on parameter values (e.g., ensuring that asymptotic reaction time is greater than zero).
- The combination of the R function
optim
and a custom created objective function, such as a minus log-likelihood function provides a powerful tool for parameter estimation of custom models.
- Scott Brown's tutorial includes an example of this.
- Ajay Shah has an example
of writing a likelihood function and then getting a maximum likelihood
estimate using
optim
. - Benjamin Bolker has great material available on the web from his book Ecological Models and Data in R. PDFs, Rnw, and R code for early versions of the chapters are provided on the website. Chapter 6 (likelihood and all that) , 7 (the gory details of model fitting), and 8 (worked likelihood estimation examples).
- Brian Ripley has a set of slides on simulation and optimisation in R.
In particular it provides a useful discussion of the various optimisation
algorithms available using
optim
.
- I also got the impression that it will soon be time to dive into WinBUGS.