  Two dimensional matrices with binary (0/1) entries are a common data
structure in many research fields. Examples include ecology, economics,
mathematics, physics, psychometrics and others. Because the columns and rows of
these matrices represent distinct entities, they can equivalently be expressed
as a pair of bipartite networks that are linked by projection. A variety of
diversity statistics and network metrics can then be used to quantify patterns
in these matrices and networks. But what should these patterns be compared to?
In all of these disciplines, researchers have recognized the necessity of
comparing an empirical matrix to a benchmark set of "null" matrices created by
randomizing certain elements of the original data. This common need has
nevertheless promoted the independent development of methodologies by
researchers who come from different backgrounds and use different terminology.
Here, we provide a multidisciplinary review of randomization techniques for
matrices representing binary, bipartite networks. We aim to translate the
concepts from different technical domains into a common language that is
accessible to a broad scientific audience. Specifically, after briefly
reviewing examples of binary matrix structures across different fields, we
introduce the major approaches and common strategies for randomizing these
matrices. We then explore the details of and performance of specific
techniques, and discuss their limitations and computational challenges. In
particular, we focus on the conceptual importance and implementation of
structural constraints on the randomization, such as preserving row or columns
sums of the original matrix in each of the randomized matrices. Our review
serves both as a guide for empiricists in different disciplines, as well as a
reference point for researchers working on theoretical and methodological
developments in matrix randomization methods.
