I have been considering how to provide functions for the parametric bootstrap applied to mixed models. That is, take an lmer model, simulate new responses for a model with this specification and the parameters at the estimated parameter values, then obtain the value of some statistic for a model fit to the new data. It occurs to me that it would be best to split this operation into two stages, one to simulate data from a fitted model and a second which takes a fitted model, new data and a function to apply to the updated model. The reason it seems best to split write this as two functions or methods is because you may want to simulate from one model (the null model) and fit another model (the alternative) to get the value of the statistic. Does this seem a reasonable approach or am I likely to paint myself into a corner doing this? Is anyone sufficiently familiar with some of the packages that do bootstrapping to offer an alternative model? If I do things this way, the first function can be a method for the simulate generic. Any suggestions of what to call the second one?
Parametric bootstrap for mixed models
2 messages · Douglas Bates, Andrew Robinson
On Wed, Mar 28, 2007 at 06:37:30PM -0500, Douglas Bates wrote:
I have been considering how to provide functions for the parametric bootstrap applied to mixed models. That is, take an lmer model, simulate new responses for a model with this specification and the parameters at the estimated parameter values, then obtain the value of some statistic for a model fit to the new data. It occurs to me that it would be best to split this operation into two stages, one to simulate data from a fitted model and a second which takes a fitted model, new data and a function to apply to the updated model. The reason it seems best to split write this as two functions or methods is because you may want to simulate from one model (the null model) and fit another model (the alternative) to get the value of the statistic. Does this seem a reasonable approach or am I likely to paint myself into a corner doing this? Is anyone sufficiently familiar with some of the packages that do bootstrapping to offer an alternative model? If I do things this way, the first function can be a method for the simulate generic. Any suggestions of what to call the second one?
Doug, this would be just great. If it's not too much work, could you extend the update() function from nlme? First, provide a function to simulate from a fitted model. Second, provide an update function as you did in nlme, and which is a favorite of mine. The update function takes a fitted model, a new argument (eg new data), and updates the fitted model, and a final argument which is the the user-supplied function to extract whatever statistics they want. Cheers, Andrew
Andrew Robinson Department of Mathematics and Statistics Tel: +61-3-8344-9763 University of Melbourne, VIC 3010 Australia Fax: +61-3-8344-4599 http://www.ms.unimelb.edu.au/~andrewpr http://blogs.mbs.edu/fishing-in-the-bay/