Unusual Relationships: Python and Weaver Birds


As colonial birds, weaver birds nest in groups in very particular trees and face specific challenges in the selection and establishment of their nests. Socially-living individuals may organize themselves in particular configurations to decrease the probability of events that could be detrimental to their own fitness. This organization within a selected area could be dictated by biotic factors (such as predation, parasite invasion and/or thievery), or abiotic ones (like solar radiation, and protection from rain, among others), leading to a variety of arrangements. The parameters that individuals might evaluate while establishing/joining a colony help pick the main evolutionary drivers for colonial living. Here, the factors that determine the spatial relationships between the nests in a given tree are computationally modeled. We have built a computational model that explains the spatial arrangement of the nests with bird species, tree morphology, and the environment as factors.

Python has been used significantly in the construction of the model, particularly the machine learning libraries and visualization toolkits. Python is used for the initial data processing, based on which, statistical analysis and visualization are done. We use the PCA and regression tree algorithms to build a model that describes the main factors affecting the spatial arrangement of the nests and classify the nests based on these factors. Visualization is used for determining key attributes in the tree morphology, and nest characteristics, that might be better predictors of overall nest distribution. This aids in guiding other modeling questions. NumPy arrays are used extensively, during the visualization. Mayavi2 is used for the 3-D visualization and matplotlib is used for the representation of the results of statistical analysis.

Keywords:ecologyevolutionbiologyornithologymachine learningvisualization