The IMSL_EXACT_ENUM function computes exact probabilities in a two-way contingency table using the total enumeration method.
This routine requires an IDL Advanced Math and Stats license. For more information, contact your sales or technical support representative.
The IMSL_EXACT_ENUM function computes exact probabilities for an N_rows by N_columns contingency table for fixed row and column marginals. A marginal is the number of counts in a row or column.
Let fij denote the count in row i and column j of a table, and let fi• and f•j denote the row and column marginals. Under the hypothesis of independence, the (conditional) probability of the fixed marginals of the observed table is given by:
Where:
f•• is the total number of counts in the table
Pf corresponds to the output keyword PROB_TABLE.
A more extreme table X is defined in the probabilistic sense as more extreme than the observed table if the conditional probability computed for table X (for the same marginal sums) is less than the conditional probability computed for the observed table. Note that this definition can be considered "two-sided" in the cell counts.
Because IMSL_EXACT_ENUM uses total enumeration in computing the probability of a more extreme table, the amount of computer time required increases very rapidly with the size of the table. Tables with a large total count f•• or a large value of r by c should not be analyzed using IMSL_EXACT_ENUM. In such cases, try using IMSL_EXACT_NETWORK.
Example
In this example, the exact conditional probability for the 2 by 2 contingency table is computed as follows:
table = [[8, 8], [12, 2]]
p = IMSL_EXACT_ENUM(table, P_Value=pv, Prob_Table=pt, Error_Chk=ec)
PRINT, 'p-value =', p
IDL prints:
p-value = 0.0576712
Syntax
Result = IMSL_EXACT_ENUM(Table [, /DOUBLE] [, ERROR_CHK=variable] [, P_VALUE=variable] [, PROB_TABLE=variable])
Return Value
The p-value for independence of rows and columns. The p-value represents the probability of a more extreme table where "extreme" is taken in the Neyman-Pearson sense. The p-value is "two-sided."
Arguments
Table
Two-dimensional array containing the observed counts in the contingency table.
Keywords
DOUBLE (optional)
If present and nonzero, double precision is used.
ERROR_CHK (optional)
Named variable containing the sum of the probabilities of all tables with the same marginal totals. It should always have a value of 1.0. Deviation from 1.0 indicates a numerical error.
P_VALUE (optional)
Named variable into which the p-value for independence of rows and columns is stored. The p-value represents the probability of a more extreme table where "extreme" is taken in the Neyman-Pearson sense. The p-value is "two-sided." The p-value is also returned in functional form.
A table is more extreme if its probability (for fixed marginals) is less than or equal to PROB_TABLE.
PROB_TABLE (optional)
Named variable containing the probability of the observed table occurring, given that the null hypothesis of independent rows and columns is true.
Version History