A dynamic identity model for misinformation in social networks (1.0.0)
A dynamic identity model for misinformation in social networks, an agent-based model of social identity and misinformation dynamics.
I developed this model as a part of my master’s thesis, “Does social identity drive belief and persistence in online misinformation? An agent-based modelling approach” at University College Dublin, Ireland (2024-2025).
The purpose of this model is to further understand the dynamics of misinformation sharing as an expression of social identity. I introduce a framework to understand the influence of self-categorisation on misinformation persistence in social network. It integrates a social learning model with the Dynamic Identity Model for Agents (DIMA) using simple logic to simulate the social trade-offs driving misinformation and observe the effects on misinformation spread.
Release Notes
To run the experiments, start by setting up and activating a Python virtual environment (for instance, with python3 -m venv testing and then source testing/bin/activate). Next, install the required external packages inside this environment using pip install numpy pandas matplotlib seaborn networkx scipy scikit-learn. After the environment is active and all these packages are installed, run run_experiments.py from the project folder to launch the experiments.
Experiment 1 (lines 961-973 in experiments.py) will take some time to execute as it is trying to find optimal parameters for three model values. If access to compute is limited, I suggest reducing the value of n_runs within the function run_parameter_sweep, which is at line 268 in experiments.py. Once the optimal parameters are identified, the rest of the experiments will not take much time to execute. In terms of outputs, four folders, namely baseline_comparison, conspirator_analysis, identity_analysis, and param_sweep, will be created. The folders will mostly have a combination of PDF, CSV, and JSON files depending on the experiments. These files will contain belief trajectories, variance trajectories, and identity distributions of regular agents as visualizations and overall statistics. Please note that these outputs are based on optimal parameters identified by the model. To reproduce the effects claimed in the paper which is to observe the effects of higher identity adherence values on social learning, please follow the instructions mentioned at the top of run_experiments.py.
The model doesn’t use input data but generates synthetic data upon initialization.
Associated Publications
A dynamic identity model for misinformation in social networks 1.0.0
Submitted by
emdhar
Published Feb 27, 2026
Last modified Feb 27, 2026
A dynamic identity model for misinformation in social networks, an agent-based model of social identity and misinformation dynamics.
I developed this model as a part of my master’s thesis, “Does social identity drive belief and persistence in online misinformation? An agent-based modelling approach” at University College Dublin, Ireland (2024-2025).
The purpose of this model is to further understand the dynamics of misinformation sharing as an expression of social identity. I introduce a framework to understand the influence of self-categorisation on misinformation persistence in social network. It integrates a social learning model with the Dynamic Identity Model for Agents (DIMA) using simple logic to simulate the social trade-offs driving misinformation and observe the effects on misinformation spread.
Release Notes
To run the experiments, start by setting up and activating a Python virtual environment (for instance, with python3 -m venv testing and then source testing/bin/activate). Next, install the required external packages inside this environment using pip install numpy pandas matplotlib seaborn networkx scipy scikit-learn. After the environment is active and all these packages are installed, run run_experiments.py from the project folder to launch the experiments.
Experiment 1 (lines 961-973 in experiments.py) will take some time to execute as it is trying to find optimal parameters for three model values. If access to compute is limited, I suggest reducing the value of n_runs within the function run_parameter_sweep, which is at line 268 in experiments.py. Once the optimal parameters are identified, the rest of the experiments will not take much time to execute. In terms of outputs, four folders, namely baseline_comparison, conspirator_analysis, identity_analysis, and param_sweep, will be created. The folders will mostly have a combination of PDF, CSV, and JSON files depending on the experiments. These files will contain belief trajectories, variance trajectories, and identity distributions of regular agents as visualizations and overall statistics. Please note that these outputs are based on optimal parameters identified by the model. To reproduce the effects claimed in the paper which is to observe the effects of higher identity adherence values on social learning, please follow the instructions mentioned at the top of run_experiments.py.
The model doesn’t use input data but generates synthetic data upon initialization.