FCMpy: a python module for constructing and analyzing fuzzy cognitive maps

PeerJ Comput Sci. 2022 Sep 23:8:e1078. doi: 10.7717/peerj-cs.1078. eCollection 2022.

Abstract

FCMpy is an open-source Python module for building and analyzing Fuzzy Cognitive Maps (FCMs). The module provides tools for end-to-end projects involving FCMs. It is able to derive fuzzy causal weights from qualitative data or simulating the system behavior. Additionally, it includes machine learning algorithms (e.g., Nonlinear Hebbian Learning, Active Hebbian Learning, Genetic Algorithms, and Deterministic Learning) to adjust the FCM causal weight matrix and to solve classification problems. Finally, users can easily implement scenario analysis by simulating hypothetical interventions (i.e., analyzing what-if scenarios). FCMpy is the first open-source module that contains all the functionalities necessary for FCM oriented projects. This work aims to enable researchers from different areas, such as psychology, cognitive science, or engineering, to easily and efficiently develop and test their FCM models without the need for extensive programming knowledge.

Keywords: Active Hebbian learning; FCM; Genetic algorithm; Nonlinear Hebbian learning; Python.

Grants and funding

The authors received no funding for this work.