It is suggested to include a warning when the normalisation factor exceeds a threshold, e.g., 2 (or make this threshold a function parameter). Large differences in the size of the sub-populations with the current age breaks are likely to result in artefacts after making the matrix symmetric. The user should reconsider the age breaks to obtain more equally sized sub-populations.
When sub-groups are very different in size, normalization to obtain a symmetric matrix can result in unexpected artefacts. For example:
vietnam_survey <- get_survey("https://doi.org/10.5281/zenodo.1289473") contact_matrix(survey = vietnam_survey, age.limits = c(0,90), estimated.contact.age = 'sample', symmetric = FALSE)$matrix
contact_matrix(survey = vietnam_survey, age.limits = c(0,90), estimated.contact.age = 'sample', symmetric = TRUE)$matrix
It is suggested to include a warning when the normalisation factor exceeds a threshold, e.g., 2 (or make this threshold a function parameter). Large differences in the size of the sub-populations with the current age breaks are likely to result in artefacts after making the matrix symmetric. The user should reconsider the age breaks to obtain more equally sized sub-populations.