def calculate_dependencies()

in source/synthetic/create_synthetic_data.py [0:0]


    def calculate_dependencies(self):  # NOSONAR - higher cognitive complexity allowed
        """
        A naive method of introducing dependencies that allows for interrelated dependencies.
        :return: None
        """
        self._data_dependencies = self._data.copy()
        for idx, count in enumerate(self._data_dependencies[: self._last_updated]):
            for dependency in self.dependencies:
                try:
                    for _ in range(dependency.model._data[idx]):
                        p = np.random.random()

                        if dependency.chance > 0 and p < dependency.chance:
                            self._data_dependencies[idx] += 1
                        elif dependency.chance < 0 and p > dependency.chance:
                            self._data_dependencies[idx] -= 1
                except IndexError:
                    pass

            self._data_dependencies[idx] = max(self._data_dependencies[idx], 0)