Tutorials › High-Dimensional Genomic Data Analysis › Calibrating the SKAT-O Minimum P-Value

Rare-Variant Burden and Variance-Component Tests · Tutorial 342 of 795

Calibrating the SKAT-O Minimum P-Value

Learn to calibrate the minimum p-value across SKAT-O rho values by accounting for their joint null distribution, and to interpret the calibrated omnibus result.

Advanced 11 min read

What You'll Learn

  • Define the SKAT-O minimum-p statistic over a prespecified rho grid.
  • Explain why dependent component p-values require joint null calibration.
  • Distinguish exact uniform p-values from conservative valid p-values.
  • Work through null simulation and calculate a calibrated omnibus p-value.
  • Compare joint calibration with Bonferroni adjustment and unadjusted selection.
  • Identify assumptions and diagnostics that affect calibration.

Why the Smallest Component P-Value Needs Calibration

SKAT-O combines burden-like and variance-component evidence by evaluating tests over a set of values of \(\rho\). Each value gives a component statistic and a corresponding p-value. Choosing the smallest of these p-values is a useful way to adapt to different patterns of variant effects, but the selected minimum is not automatically a valid omnibus p-value. The same data, and therefore the same score information, contribute to every component test. Their p-values are generally dependent.

The distinction is important: a component p-value measures evidence for one specified test, while an omnibus p-value measures evidence after considering the entire set of component tests. Calibration must account for the chance that at least one component appears extreme under the null.

Definition: For a prespecified grid \(\mathcal{R}=\{\rho_1,\ldots,\rho_m\}\), let \(p_j\) be the null-calibrated p-value for the SKAT-O component at \(\rho_j\). The minimum-p statistic is \(T=\min_{1\leq j\leq m}p_j\). Its calibrated omnibus p-value is \(P_0(T\leq T_{\mathrm{obs}})\), the null probability that the minimum across the same grid is at least as small as the observed minimum.

The grid is part of the testing procedure. It must be fixed in advance or otherwise included in the calibration. Changing the grid changes the number and dependence structure of the component tests, and can change the distribution of \(T\). The observed minimum alone does not contain enough information to determine its null probability.

How the Joint Null Distribution Arises

Under the null model, SKAT-O is based on a score vector \(U\) for the variants in the set. In the usual large-sample score approximation, \(U\) is modeled as multivariate normal with mean zero and covariance matrix \(V\). The component statistic at \(\rho\) is a quadratic form in this same score vector, which can be written generally as \(Q_\rho=U^\mathsf{T}A_\rho U\), where \(A_\rho\) is determined by the test definition, variant weights, and \(\rho\).

For each fixed \(\rho\), the null distribution of \(Q_\rho\) is a weighted sum of independent chi-square random variables, with weights determined by the eigenvalues of the corresponding covariance-adjusted quadratic form. This yields the marginal component p-value. But the vector \((Q_{\rho_1},\ldots,Q_{\rho_m})\) is formed from one shared \(U\), not from independently generated score vectors. Its coordinates, and therefore the component p-values, are correlated.

Joint calibration can be performed by drawing null score vectors from the fitted null distribution, calculating all component statistics from each same draw, and converting each statistic to its marginal p-value. The simulated minimum then approximates the null distribution of \(T\). In implementations using a more detailed null-generation method, the essential requirement is the same: each replicate must preserve the joint dependence across the entire rho grid.

Calibration principle: Generate or evaluate the joint null distribution of all component tests together. For each null replicate, calculate every \(p_j\), then retain \(T=\min_j p_j\). The calibrated omnibus p-value is the null tail probability of a minimum no greater than \(T_{\mathrm{obs}}\).

Why Marginal P-Values Do Not Settle the Problem

For any threshold \(t\), the event that the minimum is at most \(t\) is the union of the component events:

$$ \{T\leq t\}=\bigcup_{j=1}^{m}\{p_j\leq t\}. $$

Thus its probability depends on the intersections among these events. If the component p-values are exactly uniform under the null, then \(P_0(p_j\leq t)=t\) for each \(j\), but this marginal fact does not determine the probability of their union. If p-values are only valid, meaning \(P_0(p_j\leq t)\leq t\), each marginal probability is at most \(t\), not necessarily equal to \(t\). Continuity and validity alone do not imply exact uniformity.

A useful bound follows from the union bound:

$$ P_0(T\leq t) =P_0\left(\bigcup_{j=1}^{m}\{p_j\leq t\}\right) \leq \sum_{j=1}^{m}P_0(p_j\leq t) \leq mt, $$

when each component p-value is valid. This bound motivates a Bonferroni adjustment, but it can be conservative when component tests are strongly dependent. Exact joint calibration uses the dependence structure rather than discarding it.

Worked Example: The Minimum Under Independence and Dependence

Suppose there are two component p-values, each exactly uniform under the null. If they are independent, the probability that their minimum is at most \(t\) is

$$ P_0(T\leq t)=1-P_0(p_1>t,\ p_2>t) =1-(1-t)^2. $$

At \(t=0.02\), this is \(1-(0.98)^2=1-0.9604=0.0396\). Thus a raw minimum of 0.02 would correspond to an omnibus p-value of 0.0396 in this independent two-test example.

Now suppose the two p-values are perfectly dependent and equal in every null replicate. Then \(T=p_1=p_2\), so \(P_0(T\leq0.02)=0.02\). The same marginal p-values yield different minimum distributions because their dependence differs. SKAT-O component tests are not generally independent, so neither result should be assumed without justification.

Worked Calibration for a SKAT-O Grid

The following hypothetical analysis uses a fixed grid of five rho values. Assume the null model is correctly specified, the score vector has a suitable multivariate-normal null approximation, and the fitted covariance matrix captures its dependence. Genotypes and covariates are held fixed while null score vectors are generated. For each replicate, all five component tests use the same generated score vector.

Worked Example: Calibrating an Observed Minimum

In a hypothetical variant-set analysis, the component p-values from the observed data are as follows.

\(\rho\)Component p-value
00.084
0.250.031
0.500.012
0.750.019
10.047

The observed minimum is \(T_{\mathrm{obs}}=0.012\), attained at \(\rho=0.50\). To calibrate it, suppose 10,000 joint null replicates are generated. In each replicate, the five component p-values are computed together and their minimum is recorded. Of those 10,000 minima, 376 are at most 0.012.

Using the standard plus-one estimate to avoid reporting a zero Monte Carlo p-value, the calibrated omnibus estimate is

$$ \hat p_{\mathrm{omni}} =\frac{b+1}{B+1} =\frac{376+1}{10{,}000+1} =\frac{377}{10{,}001} \approx 0.03770, $$

where \(b=376\) is the number of null minima no greater than the observed minimum and \(B=10{,}000\) is the number of replicates. The result is evidence against the null at the 0.05 level under this calibration, but not at the 0.01 level. It is not correct to report 0.012 as the omnibus p-value: that is only the smallest component p-value before accounting for selection across the grid.

The Monte Carlo standard error is approximately \(\sqrt{0.03770(1-0.03770)/10{,}001}=0.00190\). This quantifies simulation noise, not uncertainty in the biological effect or in the model assumptions. More replicates would reduce Monte Carlo error.

Justification of the Joint Simulation

The calibration procedure follows directly from the definition of the target probability. Under the null, let \(U^{(b)}\) be a simulated score vector for replicate \(b\). For each grid point, calculate \(Q_{\rho_j}^{(b)}=(U^{(b)})^\mathsf{T}A_{\rho_j}U^{(b)}\), then obtain its marginal upper-tail p-value \(p_j^{(b)}\) using that component's null distribution. Define \(T^{(b)}=\min_j p_j^{(b)}\). The estimated fraction of replicates with \(T^{(b)}\leq T_{\mathrm{obs}}\) estimates the probability in the definition.

1
Specify the test family.
Fix the rho grid, variant weights, phenotype model, and covariates used for the observed analysis.
2
Generate a joint null replicate.
Draw or construct one score vector under the null, retaining the covariance among variant scores.
3
Recompute all components.
Use that same score vector to calculate every \(Q_{\rho_j}\) and its marginal p-value.
4
Compare minima.
Record whether the replicate minimum is no greater than \(T_{\mathrm{obs}}\), then estimate the null fraction.

The dependence-preserving step is essential. If a separate independent score vector were generated for each rho value, the simulated minima would reflect an artificial independence assumption and could have the wrong null distribution.

Alternatives, Diagnostics, and Limitations

Bonferroni calibration controls the family-wise probability of at least one false positive by comparing the minimum to \(\alpha/m\), where \(m\) is the number of component tests. It is simple and valid under arbitrary dependence when the component p-values are valid, but it does not exploit their dependence and can be conservative. Joint calibration targets the minimum's actual null distribution under the specified model. Reporting the unadjusted minimum is not an alternative calibration: it ignores the selection step.

Check that the rho grid used in null replicates exactly matches the observed grid and that the score covariance and marginal component distributions are computed consistently. A useful simulation diagnostic is to compare empirical null rejection rates of the calibrated omnibus p-values at several thresholds with those thresholds, using enough replicates to distinguish discrepancies from Monte Carlo noise. If the null generator omits dependence, the model is misspecified, or component tail probabilities are inaccurate, the resulting omnibus p-value may also be miscalibrated.

For binary phenotypes with sparse data, a normal score approximation may be inadequate; the calibration must use a null procedure appropriate to that setting. Relatedness, population structure, covariate adjustment, and estimated nuisance parameters also affect the score covariance or null generation. Joint calibration does not repair an incorrect phenotype model, poorly estimated covariance, or a variant set chosen after inspecting association results unless that selection is included in the testing procedure.

Common pitfall: “The smallest component p-value is 0.012, so the gene-level p-value is 0.012.” This treats a selected minimum as if its rho value had been specified in advance. The correction is to evaluate how often the minimum across the entire same rho grid is at most 0.012 under the joint null distribution.

Check Your Understanding

Answer each question, then compare with the brief solutions below.

  1. For four independent, exactly uniform null p-values, calculate \(P_0(T\leq0.01)\).
  2. Why does knowing that each component p-value is valid not determine the exact null probability of the minimum?
  3. In a calibration with \(B=4{,}999\) replicates, 24 minima are no greater than the observed minimum. Calculate the plus-one estimate.
  4. What dependence error is introduced by generating a separate independent score vector for each rho value?
  5. State one reason joint calibration might still fail to control the false-positive rate in practice.

Solutions. (1) Independence gives \(1-(1-0.01)^4=1-0.96059601=0.03940399\), approximately 0.03940. (2) Validity gives only \(P_0(p_j\leq t)\leq t\) for each component; the probability of the union also depends on intersections among component events. (3) The estimate is \((24+1)/(4{,}999+1)=25/5{,}000=0.005\). (4) It replaces the actual shared-score dependence with artificial independence, changing the null distribution of the minimum. (5) For example, a misspecified phenotype null model or inaccurate score covariance can make simulated null replicates unrepresentative of the data.

Clinical Biostats