# scipy.cluster.hierarchy.inconsistent¶

scipy.cluster.hierarchy.inconsistent(Z, d=2)[source]

Calculate inconsistency statistics on a linkage matrix.

Parameters
Zndarray

The $$(n-1)$$ by 4 matrix encoding the linkage (hierarchical clustering). See linkage documentation for more information on its form.

dint, optional

The number of links up to d levels below each non-singleton cluster.

Returns
Rndarray

A $$(n-1)$$ by 4 matrix where the i’th row contains the link statistics for the non-singleton cluster i. The link statistics are computed over the link heights for links $$d$$ levels below the cluster i. R[i,0] and R[i,1] are the mean and standard deviation of the link heights, respectively; R[i,2] is the number of links included in the calculation; and R[i,3] is the inconsistency coefficient,

$\frac{\mathtt{Z[i,2]} - \mathtt{R[i,0]}} {R[i,1]}$

Notes

This function behaves similarly to the MATLAB(TM) inconsistent function.

Examples

>>> from scipy.cluster.hierarchy import inconsistent, linkage
>>> from matplotlib import pyplot as plt
>>> X = [[i] for i in [2, 8, 0, 4, 1, 9, 9, 0]]
>>> print(Z)
[[ 5.          6.          0.          2.        ]
[ 2.          7.          0.          2.        ]
[ 0.          4.          1.          2.        ]
[ 1.          8.          1.15470054  3.        ]
[ 9.         10.          2.12132034  4.        ]
[ 3.         12.          4.11096096  5.        ]
[11.         13.         14.07183949  8.        ]]
>>> inconsistent(Z)
array([[ 0.        ,  0.        ,  1.        ,  0.        ],
[ 0.        ,  0.        ,  1.        ,  0.        ],
[ 1.        ,  0.        ,  1.        ,  0.        ],
[ 0.57735027,  0.81649658,  2.        ,  0.70710678],
[ 1.04044011,  1.06123822,  3.        ,  1.01850858],
[ 3.11614065,  1.40688837,  2.        ,  0.70710678],
[ 6.44583366,  6.76770586,  3.        ,  1.12682288]])