# esda.G¶

class esda.G(y, w, permutations=999)[source]

Global G Autocorrelation Statistic

Parameters:
y`array` (n,1)

Attribute values

w`W` | `Graph`

spatial weights instance as W or Graph aligned with y

permutations`int`

the number of random permutations for calculating pseudo p_values

Notes

Moments are based on normality assumption.

For technical details see [GO10] and [OG10].

Examples

```>>> import libpysal
>>> import numpy
>>> numpy.random.seed(10)
```

Preparing a point data set

```>>> points = [(10, 10), (20, 10), (40, 10), (15, 20), (30, 20), (30, 30)]
```

Creating a weights object from points

```>>> w = libpysal.weights.DistanceBand(points,threshold=15)
>>> w.transform = "B"
```

Preparing a variable

```>>> y = numpy.array([2, 3, 3.2, 5, 8, 7])
```

Applying Getis and Ord G test

```>>> from esda.getisord import G
>>> g = G(y,w)
```

Examining the results

```>>> round(g.G, 3)
0.557
```
```>>> round(g.p_norm, 3)
0.173
```
Attributes:
y`array`

original variable

w`W`

spatial weights instance as W or Graph aligned with y

permutation`int`

the number of permutations

G`float`

the value of statistic

EG`float`

the expected value of statistic

VG`float`

the variance of G under normality assumption

z_norm`float`

standard normal test statistic

p_norm`float`

p-value under normality assumption (one-sided)

sim`array`

(if permutations > 0) vector of G values for permutated samples

p_sim`float`

p-value based on permutations (one-sided) null: spatial randomness alternative: the observed G is extreme it is either extremely high or extremely low

EG_sim`float`

average value of G from permutations

VG_sim`float`

variance of G from permutations

seG_sim`float`

standard deviation of G under permutations.

z_sim`float`

standardized G based on permutations

p_z_sim`float`

p-value based on standard normal approximation from permutations (one-sided)

__init__(y, w, permutations=999)[source]

Methods

 `__init__`(y, w[, permutations]) `by_col`(df, cols[, w, inplace, pvalue, outvals]) Function to compute a G statistic on a dataframe
classmethod by_col(df, cols, w=None, inplace=False, pvalue='sim', outvals=None, **stat_kws)[source]

Function to compute a G statistic on a dataframe

Parameters:
df`pandas.DataFrame`

a pandas dataframe with a geometry column

cols

name or list of names of columns to use to compute the statistic

w`pysal` `weights` `object`

a weights object aligned with the dataframe. If not provided, this is searched for in the dataframe’s metadata

inplacebool

a boolean denoting whether to operate on the dataframe inplace or to return a series contaning the results of the computation. If operating inplace, the derived columns will be named ‘column_g’

pvalue`str`

a string denoting which pvalue should be returned. Refer to the the G statistic’s documentation for available p-values

outvals`list` of `strings`

list of arbitrary attributes to return as columns from the G statistic

**stat_kws`dict`

options to pass to the underlying statistic. For this, see the documentation for the G statistic.

Returns:
`If` `inplace`, `None`, `and` `operation` `is` `conducted` `on` `dataframe`
`in` memory. `Otherwise`, `returns` `a` `copy` of `the` `dataframe` `with`
`the` `relevant` `columns` attached.