Skip to main content
Dryad logo

Threshold models improve estimates of molt parameters in datasets with small sample sizes


Terrill, Ryan (2021), Threshold models improve estimates of molt parameters in datasets with small sample sizes, Dryad, Dataset,


The timing of events in birds’ annual cycles is important to understanding life history evolution and response to global climate change. Molt timing is often measured as an index of the sum of grown feather proportion or mass within the primary flight feathers.  The distribution of these molt data over time has proven difficult to model with standard linear models. The parameters of interest are at change points in model fit over time, and so least squares regression models that assume molt is linear violate the assumption of even variance.  This has led to the introduction of other nonparametric models to estimate molt parameters. Hinge models directly estimate changes in model fit, and have been used in many systems to find change points in data distributions. Here, we apply a hinge model to molt timing, through the introduction of a double-hinge threshold model. We then examine its performance in comparison to current models using simulated and empirical data. We find that the Underhill-Zuchinni (UZ) and Pimm models perform well under many circumstances, and appears to outperform the threshold model in datasets with very high variance. The double-hinge threshold model outperforms the UZ model at low sample sizes of birds in active molt, and shorter molt durations, and provides more realistic confidence intervals at small sample sizes.   


Code for simulations and analysis were written by Ryan S. Terrill. Hinge Model functions and the R package "chngpt" were written by Youyi Fong. Painted Bunting data were collected at the Moore Lab of Zoology, and in the field in Alamos, Sonora, Mexico, by Ryan S. Terrill.

Usage Notes

Code is provided to simulate and analyze molt data. Painted Bunting data is provided here. The other dataset used (Sanderlings) is available in the R package "moult."