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:
G-tests have been recommended at least since the 1981 edition of Biometry, a statistics textbook by Robert R. Sokal and F. James Rohlf.[2]
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
Heuristically, one can imagine as continuous and approaching zero, in which case and terms with zero observations can simply be dropped. However the expected count in each cell must be strictly greater than zero for each cell () to apply the method.
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 1 000 .
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.[4]
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. To see this consider
and let with so that the total number of counts remains the same. Upon substitution we find,
A Taylor expansion around can be performed using . The result is
Now, using the fact that and we can write the result,
This shows that when the observed counts are close to the expected counts When this difference is large, however, the approximation begins to break down. Here, the effects of outliers in data will be more pronounced, and this explains the why tests fail in situations with little data.
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.[citation needed]
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]
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.
For analysis of contingency tables the value of G can also be expressed in terms of mutual information.
Let
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[citation needed] 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.[citation needed]
g.test
which works exactly like chisq.test
from base R. R also has the likelihood.test Archived 2013-12-16 at the Wayback Machine function in the Deducer Archived 2012-03-09 at the Wayback Machine 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]Gstat
for the standard G statistic and the associated p-value and Gstatindep
for the G statistic applied to comparing joint and product distributions to test independence./chisq
option after the proc freq
.[10]lr
option after the tabulate
command.org.apache.commons.math3.stat.inference.GTest
.[11]scipy.stats.power_divergence
with lambda_=0
.[12]