# ''G''-test

In statistics, ** G-tests** are likelihood-ratio or maximum likelihood statistical significance tests that are increasingly being used in situations where chi-squared tests were previously recommended.

^{[1]}

The general formula for *G* is

where is the observed count in a cell, is the expected count under the null hypothesis, denotes the natural logarithm, and the sum is taken over all non-empty cells. Furthermore, the total observed count should be equal to the total expected count:

where is the total number of observations.

*G*-tests have been recommended at least since the 1981 edition of the popular statistics textbook by Robert R. Sokal and F. James Rohlf.^{[2]}

## Derivation

We can derive the value of the *G*-test from the log-likelihood ratio test where the underlying model is a Multinomial model.

Suppose we had a sample where each is the number of times that an object of type was observed. Furthermore, let be the total number of objects observed. If we assume that the underlying model is Multinomial, then the test statistic is defined by

where is the null hypothesis and is the maximum likelihood estimate (MLE) of the parameters given the data. Recall that for the Multinomial model, the MLE of given some data is defined by

Furthermore, we may represent each null hypothesis parameter as

Thus, by substituting the representations of and in the log-likelihood ratio, the equation simplifies to

Relabel the variables with and with . Finally, multiply by a correction factor, , to achieve the familiar form

## Distribution and usage

Given the null hypothesis that the observed frequencies result from random sampling from a distribution with the given expected frequencies, the distribution of *G* is approximately a chi-squared distribution, with the same number of degrees of freedom as in the corresponding chi-squared test.

For very small samples the multinomial test for goodness of fit, and Fisher's exact test for contingency tables, or even Bayesian hypothesis selection are preferable to the *G*-test.^{[3]} McDonald recommends to always use an exact test (exact test of goodness-of-fit, Fisher's exact test) if the total sample size is less than 1000.

There is nothing magical about a sample size of 1000, it's just a nice round number that is well within the range where an exact test, chi-square test and

G–test will give almost identical P values. Spreadsheets, web-page calculators, and SAS shouldn't have any problem doing an exact test on a sample size of 1000.— John H. McDonald, Handbook of Biological Statistics

## Relation to the chi-squared test

The commonly used chi-squared tests for goodness of fit to a distribution and for independence in contingency tables are in fact approximations of the log-likelihood ratio on which the *G*-tests are based. The general formula for Pearson's chi-squared test statistic is

The approximation of *G* by chi squared is obtained by a second order Taylor expansion of the natural logarithm around 1. This approximation was developed by Karl Pearson because at the time it was unduly laborious to calculate log-likelihood ratios. With the advent of electronic calculators and personal computers, this is no longer a problem. A derivation of how the chi-squared test is related to the *G*-test and likelihood ratios, including to a full Bayesian solution is provided in Hoey (2012).^{[4]}

For samples of a reasonable size, the *G*-test and the chi-squared test will lead to the same conclusions. However, the approximation to the theoretical chi-squared distribution for the *G*-test is better than for the Pearson's chi-squared test.^{[5]} In cases where
for some cell case the *G*-test is always better than the chi-squared test.

For testing goodness-of-fit the *G*-test is infinitely more efficient than the chi squared test in the sense of Bahadur, but the two tests are equally efficient in the sense of Pitman or in the sense of Hodges and Lehmann.^{[6]}^{[7]}

## Relation to Kullback–Leibler divergence

The *G*-test statistic is proportional to the Kullback–Leibler divergence of the theoretical distribution from the empirical distribution:

where *N* is the total number of observations and
and
are the empirical and theoretical frequencies, respectively.

## Relation to mutual information

For analysis of contingency tables the value of *G* can also be expressed in terms of mutual information.

Let

- , , , and .

Then *G* can be expressed in several alternative forms:

where the entropy of a discrete random variable is defined as

and where

is the mutual information between the row vector *r* and the column vector *c* of the contingency table.

It can also be shown that the inverse document frequency weighting commonly used for text retrieval is an approximation of *G* applicable when the row sum for the query is much smaller than the row sum for the remainder of the corpus. Similarly, the result of Bayesian inference applied to a choice of single multinomial distribution for all rows of the contingency table taken together versus the more general alternative of a separate multinomial per row produces results very similar to the *G* statistic.

## Application

- The McDonald–Kreitman test in statistical genetics is an application of the
*G*-test. - Dunning
^{[8]}introduced the test to the computational linguistics community where it is now widely used.

## Statistical software

- In R fast implementations can be found at the Rfast package. The relevant commands are
`g2Test_univariate`

and`g2Test_univariate_perm`

with the latter allowing for a permutation based p-value. R also has the likelihood.test function in the Deducer package.**Note:**Fisher's*G*-test in the GeneCycle Package of the R programming language (`fisher.g.test`

) does not implement the*G*-test as described in this article, but rather Fisher's exact test of Gaussian white-noise in a time series.^{[9]} - In SAS, one can conduct
*G*-test by applying the`/chisq`

option after the`proc freq`

.^{[10]} - In Stata, one can conduct a
*G*-test by applying the`lr`

option after the`tabulate`

command. - In Java, use
`org.apache.commons.math3.stat.inference.GTest`

.^{[11]}

## References

- ↑ McDonald, J.H. (2014). "G–test of goodness-of-fit".
*Handbook of Biological Statistics*(Third ed.). Baltimore, Maryland: Sparky House Publishing. pp. 53–58. - ↑ Sokal, R. R.; Rohlf, F. J. (1981).
*Biometry: The Principles and Practice of Statistics in Biological Research*(Second ed.). New York: Freeman. ISBN 0-7167-2411-1. - ↑ McDonald, J.H. (2014). "Small numbers in chi-square and
*G*–tests".*Handbook of Biological Statistics*(Third ed.). Baltimore, Maryland: Sparky House Publishing. pp. 86–89. - ↑ Hoey, J. (2012). "The Two-Way Likelihood Ratio (G) Test and Comparison to Two-Way Chi-Squared Test". arXiv:1206.4881.
- ↑ Harremoës, P.; Tusnády, G. (2012). "Information divergence is more chi squared distributed than the chi squared statistic".
*Proceedings ISIT 2012*. pp. 538–543. arXiv:1202.1125. Bibcode:2012arXiv1202.1125H. - ↑ Quine, M. P.; Robinson, J. (1985). "Efficiencies of chi-square and likelihood ratio goodness-of-fit tests".
*Annals of Statistics*.**13**: 727–742. doi:10.1214/aos/1176349550. - ↑ Harremoës, P.; Vajda, I. (2008). "On the Bahadur-efficient testing of uniformity by means of the entropy".
*IEEE Transactions on Information Theory*.**54**: 321–331. doi:10.1109/tit.2007.911155. - ↑ Dunning, Ted (1993). "Accurate Methods for the Statistics of Surprise and Coincidence Archived 2011-12-15 at the Wayback Machine.",
*Computational Linguistics*, Volume 19, issue 1 (March, 1993). - ↑ Fisher, R. A. (1929). "Tests of significance in harmonic analysis".
*Proceedings of the Royal Society of London A*.**125**(796): 54–59. Bibcode:1929RSPSA.125...54F. doi:10.1098/rspa.1929.0151. - ↑ G-test of independence, G-test for goodness-of-fit in Handbook of Biological Statistics, University of Delaware. (pp. 46–51, 64–69 in: McDonald, J. H. (2009)
*Handbook of Biological Statistics*(2nd ed.). Sparky House Publishing, Baltimore, Maryland.) - ↑ org.apache.commons.math3.stat.inference.GTest