pysal.viz.mapclassify.gadf

pysal.viz.mapclassify.gadf(y, method='Quantiles', maxk=15, pct=0.8)[source]

Evaluate the Goodness of Absolute Deviation Fit of a Classifier Finds the minimum value of k for which gadf>pct

Parameters:
y : array

(n, 1) values to be classified

method : {‘Quantiles, ‘Fisher_Jenks’, ‘Maximum_Breaks’, ‘Natrual_Breaks’}
maxk : int

maximum value of k to evaluate

pct : float

The percentage of GADF to exceed

Returns:
k : int

number of classes

cl : object

instance of the classifier at k

gadf : float

goodness of absolute deviation fit

See also

K_classifiers

Notes

The GADF is defined as:

\[GADF = 1 - \sum_c \sum_{i \in c} |y_i - y_{c,med}| / \sum_i |y_i - y_{med}|\]

where \(y_{med}\) is the global median and \(y_{c,med}\) is the median for class \(c\).

Examples

>>> import pysal.viz.mapclassify as mc
>>> cal = mc.load_example()
>>> qgadf = mc.classifiers.gadf(cal)
>>> qgadf[0]
15
>>> qgadf[-1]
0.3740257590909283

Quantiles fail to exceed 0.80 before 15 classes. If we lower the bar to 0.2 we see quintiles as a result

>>> qgadf2 = mc.classifiers.gadf(cal, pct = 0.2)
>>> qgadf2[0]
5
>>> qgadf2[-1]
0.21710231966462412
>>>