1. Home
2. GHAT procedure

# GHAT procedure

Calculates an estimate of the G nearest-neighbour distribution function (M.A. Mugglestone, S.A. Harding, B.Y.Y. Lee, P.J. Diggle & B.S. Rowlingson).

### Option

`PRINT` = string token What to print (`summary`); default `summ`

### Parameters

`Y` = variates Vertical coordinates of each spatial point pattern; no default – this parameter must be set Horizontal coordinates of each spatial point pattern; no default – this parameter must be set Vectors of distances to use with each pattern; no default – this parameter must be set Variates to receive the estimated G nearest-neighbour distribution functions Variates to receive the nearest-neighbour distances Variates to receive the unit numbers of the nearest neighbours

### Description

The G nearest-neighbour distribution function relates to the distribution of distances from each event of a spatial point pattern to the nearest other event in the pattern (see Diggle 1983). An estimate of G can be obtained by calculating the empirical distribution function (EDF) GHAT(s) which is defined as the proportion of events for which the nearest other event is within distance s.

The term complete spatial randomness (CSR) is used to represent the hypothesis that the overall density of events in a spatial point pattern is constant throughout the study region, and that the events are distributed independently and uniformly. Under CSR, the G nearest-neighbour distribution function is given by

G(s) = 1 – exp(-π × density × (s2)),

where density is the overall density of events per unit area. (The procedure `FZERO` can be used to calculate values of this function for a pattern with a given density.) The G nearest-neighbour distribution function for a clustered (regular) pattern will tend to be larger (smaller) than the corresponding function for a completely random pattern, at least for small distances.

The procedure `GHAT` requires the coordinates of a spatial point pattern (specified by the parameters `X` and `Y`) and a vector of distances at which to calculate the EDF of G (specified by the parameter `S`). The primary output of the procedure is a vector of estimates of G corresponding to the distances in `S`. The estimated G function can be saved using the parameter `GVALUES`. The nearest-neighbour distances and the unit numbers of the nearest-neighbours can be saved using the parameters `NNDISTANCES` and `NNUNITS`.

Printed output is controlled using the `PRINT` option. The default setting of `summary` prints the distances at which the G function is estimated and the estimates themselves under the headings `S` and `GVALUES`.

Option: `PRINT`.

Parameters: `Y`, `X`, `S`, `GVALUES`, `NNDISTANCES`, `NNUNITS`.

### Method

A procedure `PTCHECKXY` is called to check that `X` and `Y` have identical restrictions. `GHAT` then calls a procedure `PTPASS` to call a Fortran program to calculate the G nearest-neighbour distances. No corrections are made for edge effects. The EDF of the nearest-neighbour distances relative to the distances specified by the parameter `S` is obtained using the `CALCULATE` directive.

### Action with `RESTRICT`

If `X` and `Y` are restricted, only the subset of values specified by the restriction will be included in the calculations. The parameter `S` may also be restricted.

### Reference

Diggle, P.J. (1983). Statistical Analysis of Spatial Point Patterns. Academic Press, London.

Procedures: `FHAT`, `KHAT`, `KSTHAT`, `K12HAT`.

Commands for: Spatial statistics.

### Example

```CAPTION     'GHAT example'; STYLE=meta
VARIATE     pinex,piney
0.09 0.91   0.02 0.71   0.03 0.62   0.18 0.61   0.03 0.52
0.02 0.41   0.16 0.35   0.13 0.33   0.13 0.27   0.03 0.21
0.13 0.14   0.08 0.11   0.02 0.02   0.18 0.98   0.31 0.89
0.22 0.58   0.13 0.52   0.21 0.38   0.23 0.27   0.23 0.11
0.41 0.98   0.44 0.97   0.42 0.93   0.42 0.48   0.43 0.36
0.59 0.92   0.63 0.92   0.63 0.88   0.66 0.88   0.58 0.83
0.53 0.69   0.52 0.68   0.49 0.58   0.52 0.48   0.52 0.09
0.58 0.06   0.68 0.66   0.68 0.63   0.67 0.53   0.67 0.48
0.67 0.41   0.68 0.34   0.66 0.24   0.73 0.27   0.74 0.11
0.78 0.06   0.79 0.02   0.86 0.03   0.84 0.88   0.94 0.89
0.95 0.83   0.79 0.79   0.84 0.71   0.83 0.68   0.86 0.65
0.79 0.61   0.93 0.48   0.83 0.42   0.93 0.31   0.93 0.23
0.97 0.64   0.96 0.64   0.96 0.61   0.96 0.57   0.97 0.38  :
VARIATE     s; VALUES=!(0.01,0.02...0.1)
GHAT        [PRINT=*] Y=piney; X=pinex; S=s; GVALUES=gpines
VARIATE     xpoly; VALUES=!(0,1,1,0)
&           ypoly; VALUES=!(0,0,1,1)
PTINTENSITY [PRINT=*] Y=piney; X=pinex; YPOLYGON=ypoly; XPOLYGON=xpoly;\
DENSITY=density
FZERO       [PRINT=*] DENSITY=density; S=s; FVALUES=gcsr
PRINT       s,gpines,gcsr
```
Updated on March 7, 2019