Tutorials › Statistical Genetics › Worked Fixed-Effect Meta-Analysis

GWAS Replication and Meta-Analysis · Tutorial 382 of 989

Worked Fixed-Effect Meta-Analysis

Work through inverse-variance pooling of cohort association results and interpret the pooled estimate, its uncertainty, and its test.

Advanced 10 min read

What You'll Learn

  • Identify the assumptions required for inverse-variance fixed-effect pooling
  • Calculate cohort weights and the pooled genetic association estimate
  • Obtain the pooled standard error and confidence interval
  • Calculate and interpret a pooled Wald test statistic and two-sided p-value
  • Recognize why aligned effects and comparable scales are essential
  • Avoid confusing precision-weighted pooling with an unweighted average

Purpose and Scope

A genetic association can be estimated in several cohorts that examine the same variant and phenotype. Each cohort contributes an effect estimate and a measure of its uncertainty. Fixed-effect meta-analysis combines these results into one estimate, giving more influence to estimates that are more precise. This is useful when the cohorts target a common association effect and their results are sufficiently comparable to pool.

The calculation is only meaningful after the association results have been harmonized: the effect allele must be aligned, and the phenotype and effect scales must agree. The pooled estimate summarizes association on that shared scale. It does not by itself establish that the effect is identical in every cohort, nor does it establish a causal effect.

Definition: Suppose cohort \(i\) reports an estimated genetic effect \(\hat{\beta}_i\) with standard error \(SE_i\), for \(i=1,\ldots,k\). In inverse-variance fixed-effect meta-analysis, the weight for cohort \(i\) is \(w_i=1/SE_i^2\), and the pooled estimate is the weighted mean \(\hat{\beta}_{FE}=\sum_i w_i\hat{\beta}_i/\sum_i w_i\). Under independent cohort estimates and a common underlying effect, its standard error is \(SE_{FE}=\sqrt{1/\sum_i w_i}\).

Model, Assumptions, and Interpretation

The fixed-effect model treats the cohort estimates as noisy measurements of a common effect \(\beta\): \(\hat{\beta}_i=\beta+\varepsilon_i\), where the sampling error \(\varepsilon_i\) has mean zero and variance \(SE_i^2\). The usual formula assumes that the cohort estimates are independent and that their standard errors are valid. Independence is plausible when cohorts do not share participants; overlapping samples require a different covariance calculation.

The estimates must refer to the same effect allele, phenotype definition, and effect scale. For example, log odds ratios can be pooled with other log odds ratios, but not directly with effects measured in standard deviations. The model also assumes one common underlying effect for the purpose of this pooled estimate. The fixed-effect calculation does not estimate between-cohort variance; that is a separate question.

The weight \(1/SE_i^2\) reflects precision, not sample size alone. Larger cohorts often have smaller standard errors, but allele frequency, phenotype variability, design, and analysis can also affect precision. The pooled estimate is therefore not generally the simple arithmetic average of the cohort estimates.

Calculation and Inference

After calculating each weight, multiply each cohort estimate by its weight, add those products, and divide by the total weight. The pooled standard error follows from the total weight. For a test of no association, \(H_0:\beta=0\), the Wald statistic is \(Z=\hat{\beta}_{FE}/SE_{FE}\). Under the null and the normal approximation, \(Z\) is approximately standard normal. A two-sided p-value is \(2P(Z_0\geq |z|)\), where \(Z_0\) has a standard normal distribution and \(z\) is the observed statistic. A confidence interval at confidence level 95% is \(\hat{\beta}_{FE}\pm1.96SE_{FE}\).

A 95% confidence interval is produced by a procedure that covers the fixed effect in 95% of repeated samples under the model. It is not a statement that, after observing this interval, there is a 95% probability that the fixed effect lies inside it. Likewise, the p-value is a tail probability calculated under the null model; it is not the probability that the null hypothesis is true.

Worked Example: Pooling Two Cohort Estimates

Suppose two hypothetical cohorts estimate the change in a quantitative phenotype, measured in phenotype units per copy of the effect allele. Cohort A reports \(\hat{\beta}_A=0.20\) units with \(SE_A=0.10\) units. Cohort B reports \(\hat{\beta}_B=0.10\) units with \(SE_B=0.05\) units. Assume the estimates are independent, the allele and phenotype are aligned, and a common effect is the target.

The inverse-variance weights are \(w_A=1/(0.10)^2=100\) and \(w_B=1/(0.05)^2=400\). Thus the pooled estimate is

$$ \hat{\beta}_{FE} =\frac{100(0.20)+400(0.10)}{100+400} =\frac{60}{500} =0.120\ \text{phenotype units per effect allele}. $$

The pooled standard error is \(SE_{FE}=\sqrt{1/500}=0.04472\) phenotype units per effect allele. The 95% confidence interval is \(0.120\pm1.96(0.04472)=0.120\pm0.08765\), or \([0.03235,0.2077]\) phenotype units per effect allele.

For \(H_0:\beta=0\), the test statistic is \(Z=0.120/0.04472=2.683\). The two-sided standard-normal p-value is approximately \(0.00729\). Under the stated model, this is evidence against a zero common association effect. The interval and test concern association, not causation.

Cohort B receives four times Cohort A’s weight because its standard error is half as large and inverse-variance weights depend on the squared standard error. The pooled estimate is consequently closer to B’s estimate than to A’s.

A Three-Cohort Calculation

The following hypothetical results illustrate a complete calculation with a standard error displayed to five decimal places. The weights below are calculated from the displayed standard errors, so the displayed inputs and results agree up to rounding.

CohortEffect estimateStandard errorWeight \(1/SE_i^2\)Weighted effect
A0.12000.06000277.777833.3333
B0.08000.04000625.000050.0000
C0.12750.05774299.948338.2434
Total1202.7261121.5767

Worked Example: Pooling Three Cohorts and Testing the Effect

Assume these hypothetical estimates concern the same quantitative phenotype, in phenotype units per effect-allele copy, and that their alleles and scales have been aligned. Also assume independent cohort estimates with valid standard errors and a common-effect target. For Cohort C, using the displayed standard error gives \(w_C=1/(0.05774)^2=299.9483\), rather than 300.00.

The weighted effect for C is \(299.9483(0.1275)=38.2434\). Adding the table entries gives total weight \(1202.7261\) and weighted-effect sum \(121.5767\). Therefore,

$$ \hat{\beta}_{FE} =\frac{121.5767}{1202.7261} =0.1010843\ \text{phenotype units per effect allele}. $$

The pooled standard error is \(SE_{FE}=\sqrt{1/1202.7261}=0.0288348\) phenotype units per effect allele. The 95% confidence interval is

$$ 0.1010843\pm1.96(0.0288348) =0.1010843\pm0.0565162 =[0.04457,0.1576]\ \text{phenotype units per effect allele}. $$

For \(H_0:\beta=0\), the observed statistic is \(Z=0.1010843/0.0288348=3.506\). The two-sided p-value is approximately \(0.000455\). This provides evidence against a zero common association effect under the model. It does not mean there is a 0.0455% probability that the null is true.

The pooled estimate is positive, and its confidence interval excludes zero. The result describes the estimated common association on the stated scale. It does not show that every cohort has exactly the same effect, and this fixed-effect calculation alone does not quantify differences among cohort effects.

Why the Weighting Formula Works

The key reason for inverse-variance weighting is that, under the common-effect model, estimates with smaller sampling variance provide more precise information about \(\beta\). A short justification also shows why the pooled standard error has its stated form.

1
Form a weighted estimate.
For fixed weights \(a_i\) that sum to one, consider \(\sum_i a_i\hat{\beta}_i\). Its expectation is \(\beta\), since each cohort estimate has expectation \(\beta\).
2
Calculate its variance.
Independence gives \(\operatorname{Var}(\sum_i a_i\hat{\beta}_i)=\sum_i a_i^2SE_i^2\). To minimize this variance subject to \(\sum_i a_i=1\), the minimizing coefficients are proportional to \(1/SE_i^2\).
3
Normalize the weights.
Setting \(a_i=w_i/\sum_jw_j\), with \(w_i=1/SE_i^2\), gives the inverse-variance pooled estimate. Its variance is \(1/\sum_iw_i\), so its standard error is \(\sqrt{1/\sum_iw_i}\).

This justification depends on the independence assumption: if estimates have nonzero covariance, the variance of a weighted sum also contains covariance terms. It also uses a shared target effect. Thus the formula is not simply a convenient way to average any collection of numbers; it is tied to a specific model and assumptions.

When Cohort Estimates Point in Different Directions

Opposite signs do not prevent the arithmetic, provided the estimates have been correctly aligned and refer to the same scale. Their weighted contributions can partially cancel. The pooled estimate then represents the precision-weighted summary, not the direction observed in every cohort. The following hypothetical calculation illustrates this distinction.

Worked Example: Interpreting Opposing Cohort Estimates

Three hypothetical cohorts estimate a phenotype change in units per effect-allele copy. Their aligned estimates and standard errors are: A, \(-0.12\) and \(0.04\); B, \(0.02\) and \(0.08\); and C, \(-0.04\) and \(0.05\). Assume independent estimates, valid standard errors, and a common-effect target.

The weights are \(w_A=1/(0.04)^2=625\), \(w_B=1/(0.08)^2=156.25\), and \(w_C=1/(0.05)^2=400\). The weighted sum is \(625(-0.12)+156.25(0.02)+400(-0.04)=-75+3.125-16=-87.875\), and the total weight is \(625+156.25+400=1181.25\). Thus,

$$ \hat{\beta}_{FE}=\frac{-87.875}{1181.25}=-0.07439\ \text{phenotype units per effect allele}. $$

The pooled standard error is \(\sqrt{1/1181.25}=0.02910\) phenotype units per effect allele. The 95% confidence interval is \(-0.07439\pm1.96(0.02910)\approx[-0.1314,-0.01735]\). The Wald statistic is \(Z=-0.07439/0.02910\approx-2.556\), with a two-sided p-value of approximately \(0.0106\).

The pooled result indicates a negative precision-weighted common-effect estimate under the assumptions. It does not erase the positive estimate in Cohort B. In a real analysis, a directional discrepancy is a reason to check allele alignment, phenotype and scale comparability, and the study results carefully; the pooled p-value alone does not resolve those issues.

Common Mistakes and Practical Checks

  • Taking an unweighted average. Averaging cohort estimates equally ignores their different standard errors. Use \(w_i=1/SE_i^2\), unless a different model justifies a different procedure.
  • Using the wrong allele direction. If one cohort reports the effect for the opposite allele, its estimate must be expressed in the shared allele direction before pooling. Otherwise, even correct arithmetic combines different contrasts.
  • Mixing effect scales. A beta per allele for a raw phenotype cannot be directly averaged with a beta per allele for a standardized phenotype. Confirm the units and transformations before calculating.
  • Rounding too early. Calculate weights and weighted effects from the reported inputs at adequate precision, then round the final results. For example, \(1/(0.05774)^2=299.9483\), not 300.00 when using the displayed standard error.
  • Calling the result universal. A fixed-effect pooled estimate is a summary under a common-effect model; it is not proof that the effects are equal across cohorts. Nor does a statistically significant association demonstrate causation.
  • Misreading inference. A confidence interval is not a probability statement about the fixed parameter after observing the data, and a p-value is not the probability that \(H_0\) is true.
Key takeaway: Align the cohort effects and confirm that their estimates are independent and comparable before pooling. Then weight each estimate by the inverse of its variance, divide the weighted sum by total weight, and use the total weight to obtain the pooled standard error. Interpret the estimate, interval, and test on the original association scale and under the stated fixed-effect assumptions.

Check Your Understanding

Use the model and assumptions in this tutorial to answer the following.

  1. Why does a cohort with a smaller standard error receive a larger inverse-variance weight?
  2. Two aligned cohorts report estimates of 0.10 and 0.16, with standard errors 0.05 and 0.10. Calculate both weights and the pooled estimate.
  3. What independence condition supports the formula \(SE_{FE}=\sqrt{1/\sum_iw_i}\), and why might overlapping cohorts violate it?
  4. A cohort’s estimate is reported for the opposite allele from the other cohorts. What must be checked before pooling?
  5. In a fixed-effect analysis, what does a confidence interval that excludes zero indicate, and what does it not establish?
Clinical Biostats