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)