distance

Functions for measuring distances.

pyphi.distance.hamming_emd(d1, d2)

Return the Earth Mover’s Distance between two distributions (indexed by state, one dimension per node) using the Hamming distance between states as the transportation cost function.

Singleton dimensions are sqeezed out.

pyphi.distance.effect_emd(d1, d2)

Compute the EMD between two effect repertoires.

Because the nodes are independent, the EMD between effect repertoires is equal to the sum of the EMDs between the marginal distributions of each node, and the EMD between marginal distribution for a node is the absolute difference in the probabilities that the node is off.

Parameters:
  • d1 (np.ndarray) – The first repertoire.
  • d2 (np.ndarray) – The second repertoire.
Returns:

The EMD between d1 and d2.

Return type:

float

pyphi.distance.l1(d1, d2)

Return the L1 distance between two distributions.

Parameters:
  • d1 (np.ndarray) – The first distribution.
  • d2 (np.ndarray) – The second distribution.
Returns:

The sum of absolute differences of d1 and d2.

Return type:

float

pyphi.distance.kld(d1, d2)

Return the Kullback-Leibler Divergence (KLD) between two distributions.

Parameters:
  • d1 (np.ndarray) – The first distribution.
  • d2 (np.ndarray) – The second distribution.
Returns:

The KLD of d1 from d2.

Return type:

float

pyphi.distance.entropy_difference(d1, d2)

Return the difference in entropy between two distributions.