inequality.theil.TheilDSim

class inequality.theil.TheilDSim(y, partition, permutations=99)[source]

Random permutation based inference on Theil’s inequality decomposition. Provides for computationally based inference regarding the inequality decomposition using random spatial permutations. See [RSastreGutierrez10].

Parameters:
ynumpy.array

An array in the shape \((n,t)\) or \((n,)\) with \(n\) taken as the observations across which inequality is calculated. If y is \((n,)\) then a scalar inequality value is determined. If y is \((n,t)\) then an array of inequality values are determined, one value for each column in y.

partitionnumpy.array

An array in the shape \((n,)\) of elements indicating which partition each observation belongs to. These are assumed to be exhaustive.

permutationsint

The number of random spatial permutations for computationally based inference on the decomposition.

Examples

>>> import libpysal
>>> import numpy
>>> from inequality.theil import TheilDSim
>>> f = libpysal.io.open(libpysal.examples.get_path('mexico.csv'))
>>> vnames = [f'pcgdp{dec}' for dec in range(1940, 2010, 10)]
>>> y = numpy.array([f.by_col[v] for v in vnames]).T
>>> regimes = numpy.array(f.by_col('hanson98'))
>>> numpy.random.seed(10)
>>> theil_ds = TheilDSim(y, regimes, 999)
>>> theil_ds.bg_pvalue
array([0.4  , 0.344, 0.001, 0.001, 0.034, 0.072, 0.032])
Attributes:
observednumpy.array

An array in the shape \((n,t)\) or \((n,)\) representing a TheilD instance for the observed data.

bgnumpy.array

An array in the shape (permutations+1, t) representing between group inequality.

bg_pvaluenumpy.array

An array in the shape \((t,1)\) representing the \(p\)-value for the between group measure. Measures the percentage of the realized values that were greater than or equal to the observed bg value. Includes the observed value.

wgnumpy.array

An array in the shape (permutations+1) representing within group inequality. Depending on the shape of y, the array may be 1- or 2-dimensional.

__init__(y, partition, permutations=99)[source]

Methods

__init__(y, partition[, permutations])