Why Check Null Calibration?
A gene-based test is calibrated when, under its null hypothesis and the conditions it assumes, its reported p-values produce the expected rejection rate. For example, a valid test at significance level \(\alpha=0.05\) should reject about 5% of repeated null data sets. Calibration matters because a method that rejects too often can produce an excess of apparently significant genes even when none has an effect. A conservative method rejects less often than its nominal level, which can reduce sensitivity.
Burden tests, SKAT, and omnibus procedures can rely on different approximations or combinations of component tests. Their calibration can be affected by features such as rare alleles, linkage disequilibrium, covariate adjustment, imbalanced case-control sampling, or small samples. Null simulations provide a direct way to examine whether the complete analysis procedure behaves as intended in a specified design. They diagnose performance under the simulated conditions; they do not establish that those conditions perfectly represent a real study.
Designing a Null Simulation
A useful calibration simulation reproduces the design features that matter to the test while generating outcomes under no genetic association. One common approach holds the observed genotype matrix fixed and simulates phenotypes under a fitted null model containing the covariates but no gene effect. This preserves the observed allele frequencies, linkage disequilibrium, and variant-set structure. It assesses calibration conditional on those genotypes, not on a hypothetical new sample of genotypes.
For a quantitative outcome, the null outcome model might specify a mean determined by covariates and an appropriate residual distribution. For a binary outcome, it might specify null disease probabilities conditional on covariates, using a logistic model. The simulation should reflect important design features such as case-control sampling or relatedness when these affect the analysis. A simple permutation of outcomes is not automatically valid: unrestricted permutation requires exchangeability under the null, which can fail when covariates affect the outcome or when observations are related.
For each simulated replicate, apply the analysis pipeline being assessed: fit the required null model, calculate the burden, SKAT, or omnibus statistic, and obtain its reported p-value using the intended procedure. Keep prespecified genotypes, variant sets, and weights fixed. If filtering, weight selection, or another step is data-dependent in the intended analysis, repeat that step in each replicate; otherwise the simulation may assess a simpler procedure than the one actually used.
State what is held fixed and how outcomes are generated under no association, including relevant covariates and sampling features.
For each replicate, run the chosen gene-based procedure and save its p-value. Use the same analysis choices that will be used on the study data.
At prespecified thresholds, compare the simulated rejection proportion with the nominal level and quantify simulation uncertainty.
Empirical Type I Error and Simulation Uncertainty
Suppose \(B\) independent null replicates produce p-values \(p_1,\ldots,p_B\). At a chosen nominal level \(\alpha\), the empirical type I error estimate is the fraction of replicates that reject:
where \(I(\cdot)\) is 1 when its condition is true and 0 otherwise. If the replicates are independent and the true null rejection probability is \(r(\alpha)\), then the number of rejections has a binomial distribution with \(B\) trials and probability \(r(\alpha)\). The estimated Monte Carlo standard error is therefore
This standard error reflects simulation noise, not uncertainty about whether the simulated design matches the study. A rough 95% interval is \(\hat{r}(\alpha)\pm1.96SE\), although a binomial interval such as a Wilson interval is preferable when the number of rejections is very small or the estimate is near 0 or 1. A modest difference from \(\alpha\) may be consistent with Monte Carlo variation; a large, repeated discrepancy deserves investigation.
Worked Example: Comparing Empirical Error Rates
Suppose 10,000 independent null outcomes are simulated for each of three procedures. The burden test rejects at \(p\leq0.05\) in 620 replicates, SKAT in 470, and an omnibus test in 515. Calculate and compare their empirical type I error estimates.
For the burden test, \(\hat{r}=620/10{,}000=0.0620\), or 6.20%. Its estimated standard error is \(SE=\sqrt{0.0620(1-0.0620)/10{,}000}=0.00241\). The rough 95% interval is \(0.0620\pm1.96(0.00241)=(0.0573,0.0667)\). This is above the nominal 0.05 level by more than can readily be attributed to the estimated simulation noise.
For SKAT, \(\hat{r}=470/10{,}000=0.0470\). Its standard error is \(\sqrt{0.0470(0.9530)/10{,}000}=0.00212\), giving a rough interval of \((0.0428,0.0512)\). This is consistent with a 5% rejection rate at this level.
For the omnibus test, \(\hat{r}=515/10{,}000=0.0515\). Its standard error is \(\sqrt{0.0515(0.9485)/10{,}000}=0.00221\), and the rough interval is \((0.0472,0.0558)\). The results suggest possible inflation for the burden procedure in this simulated design, while SKAT and the omnibus test are near the target. These estimates do not show that the burden test is always miscalibrated; they describe its behavior under the specified simulation.
Using the Whole P-Value Distribution
A single threshold can miss important patterns. Under a continuous null with calibrated p-values, the p-value distribution is uniform: the proportion at or below \(u\) should be about \(u\) for many values of \(u\). Comparing observed proportions with nominal values at thresholds such as 0.01, 0.05, 0.10, and 0.50 gives a compact calibration profile. A plot of these cumulative proportions against the nominal thresholds should track the diagonal. A p-value histogram should be roughly flat, subject to simulation variability.
An excess of small p-values suggests inflation; a deficit suggests conservatism. A deviation confined to the extreme tail can be missed by a histogram, so tail thresholds should be chosen before inspecting results and should include levels relevant to the intended use. Conversely, a histogram can reveal broad shape problems not evident at one threshold. When comparing procedures, inspect burden, SKAT, and omnibus p-values separately: an apparently satisfactory pooled pattern can hide a problem limited to one method or one class of gene sets.
The following justification explains the uniform benchmark. If \(P_{\text{test}}\) has a continuous null distribution function \(F\), and its p-value is \(1-F(T)\) for a test statistic \(T\) with larger values more extreme, then \(F(T)\) is uniform on \([0,1]\) under the null. Consequently, for \(0\leq\alpha\leq1\),
When a test uses an approximation to the null distribution, or when the statistic has a discrete distribution, this equality need not hold exactly. Valid discrete p-values are generally super-uniform: \(P(P_{\text{test}}\leq\alpha\mid H_0)\leq\alpha\). Thus, a small departure from a flat histogram is not automatically evidence of a defect; the relevant question is whether the observed departure is larger than expected from simulation and appropriate for the test's null assumptions.
Worked Example: Checking a Tail Beyond the 5% Level
In 5,000 null replicates for an omnibus test, 82 p-values are at most 0.01. Estimate the empirical rejection rate and its uncertainty at this threshold.
The empirical rate is \(\hat{r}(0.01)=82/5{,}000=0.0164\), or 1.64%, compared with the nominal 1%. Its estimated standard error is \(SE=\sqrt{0.0164(0.9836)/5{,}000}=0.00180\). A rough 95% interval is \(0.0164\pm1.96(0.00180)=(0.0129,0.0199)\). The interval is above 0.01, suggesting inflation in this tail under the simulated null. Checking only the 0.05 threshold could have obscured this tail-specific behavior. The finding should prompt examination of the null model and the test calculation, not an assumption that every omnibus test will behave this way.
Simulation-Based Tail Probabilities
Null simulations can also estimate a tail probability for a particular observed test statistic. If \(T_{\text{obs}}\) is the study statistic and \(T_1,\ldots,T_B\) are simulated null statistics, count \(R=\sum_{b=1}^{B}I(T_b\geq T_{\text{obs}})\). A common finite-simulation estimate is \((R+1)/(B+1)\), rather than \(R/B\). The added one avoids reporting a zero p-value when no simulated statistic exceeds the observed one and gives the rank-based estimate under exchangeability of the observed and simulated statistics under the null.
This is distinct from checking whether an analytic p-value procedure is calibrated across many simulated replicates. The first estimates a tail probability for one observed statistic under a chosen simulation model; the second evaluates repeated-test rejection rates and p-value distributions. Simulation-based probabilities also have limited resolution: with \(B\) replicates, the smallest value from this formula is \(1/(B+1)\). They should not be presented as precise beyond what the number of simulations supports.
Worked Example: Estimating a Simulated Null Tail
For one gene, suppose the observed omnibus statistic is \(T_{\text{obs}}=9.2\). Among \(B=999\) simulated null statistics, 17 are at least 9.2. The estimated simulation-based tail probability is
The estimate is 1.80%, with a smallest reportable value of \(1/1{,}000=0.001\) under this calculation. It is an estimate under the specified null simulation scheme, not proof that the null hypothesis is true or that the simulation model is correct. If the analytic procedure reported 0.006 for the same statistic, this difference would motivate checking the analytic tail approximation and simulation design; 999 replicates alone give limited precision in the far tail.
Interpreting Diagnostics and Choosing Comparisons
Calibration checks are most informative when the simulated design is explicit. Holding genotypes fixed can reveal whether outcome-model and test approximations behave well for the observed allele frequencies and linkage disequilibrium, but it cannot assess variation in those genetic features across new samples. A parametric bootstrap can represent covariate-adjusted outcome generation under a fitted null model, but its conclusions depend on that model. Permutation can avoid some outcome-distribution assumptions when exchangeability is justified, but naive permutations may break covariate, relatedness, or sampling structure.
Apply the same simulated outcomes to each procedure where possible, so differences in estimated rejection rates are not needlessly confounded by different random draws. Still, gene tests evaluated on the same simulated individuals and variants are dependent. If rates are aggregated across many genes, report how aggregation was done and examine whether particular genes or properties—such as allele count or variant-set size—drive the result. An overall rate can conceal local miscalibration. Simulation uncertainty for a simple per-gene rate uses the number of independent null replicates, not the number of correlated genes treated as if they were independent observations.
A common mistake is to conclude that a test is calibrated because its empirical rate at 0.05 is close to 0.05 in a small simulation. For example, with only 200 null replicates, one rejection changes the estimated rate by 0.5 percentage points, and a rate near 5% has an approximate standard error of 1.54 percentage points. The correction is to report the number of replicates, rejection count, estimated rate, and Monte Carlo uncertainty, and to inspect additional prespecified thresholds. Another mistake is to call every excess of small p-values a failure of the test itself. A misspecified null outcome model, an invalid permutation scheme, or a pipeline that was not fully repeated can also cause the diagnostic to fail.
Null calibration is a diagnostic, not a guarantee of power, causal interpretation, or validity under alternatives. It does not determine which gene-based method is best for a particular genetic architecture, and a test that is well calibrated under one design may not be so under another. The most defensible conclusion is conditional: state the simulated design, the procedure, the observed empirical rates, and whether the deviations exceed plausible Monte Carlo variation.
Check Your Understanding
Answer the questions, then compare your reasoning with the solutions.
- In 2,000 null simulations, a burden test rejects 118 times at \(\alpha=0.05\). What is its empirical type I error estimate, and what does that estimate say?
- Why might a valid discrete test show a p-value distribution that is not exactly uniform?
- What design condition is needed for unrestricted phenotype permutation to provide a valid null calibration check?
- Why should data-dependent variant filtering be repeated in each null replicate when assessing the full analysis pipeline?
- In a simulation-based tail calculation, no simulated statistic exceeds the observed statistic. Why is \((R+1)/(B+1)\) preferable to reporting a p-value of zero?
Solutions. (1) The estimate is \(118/2{,}000=0.0590\), or 5.90%. It is above the nominal 5% rate, but its Monte Carlo uncertainty should be considered before concluding that the procedure is inflated. (2) Discreteness can prevent the test from attaining every possible rejection probability exactly; a valid p-value can be super-uniform, so its probability of being at most \(\alpha\) is no greater than \(\alpha\). (3) Under the null, outcomes must be exchangeable across the observations being permuted; covariate effects, relatedness, or sampling structure can violate this condition. (4) Otherwise the simulation omits a data-dependent selection step and assesses a different, simpler procedure than the one used on the study data. (5) The plus-one estimate avoids an impossible claim of a zero tail probability and reflects the finite resolution of \(B\) simulated statistics; its minimum is \(1/(B+1)\).