class: center, middle, inverse, title-slide .title[ # Regularization in Practice: GWAS and PGS ] .subtitle[ ## SISG 2026 | Module ST3: Regression and Regularization ] .author[ ### Arbel Harpak & Ian Dworkin ] .institute[ ### Summer Institute in Statistical Genetics · Georgia Tech ] .date[ ### June 2026 ] --- class: signpost, middle, center # Regularization in Practice:<br>GWAS and Polygenic Scores ??? **Timing: ~0:00 elapsed | ~55 min content + breaks** This session is the applied culmination of the regularization arc. Ian covered bias-variance tradeoff, LASSO, ridge, and elastic net with the penalty formulations. The model evaluation session covered cross-validation and the distinction between prediction and inference. Now you connect regularization to the genomics context students care most about. The session has five parts: 1. The GWAS prediction problem (bridge + framing, ~10 min) 2. Effect size inflation and winner's curse (~8 min) 3. The prior IS the regularizer (~8 min) 4. Exercise (~15 min) 5. Portability and the limits of regularization (~12 min) Total content: ~53 min + 10-min break + two 5-min breaks = 73 min. --- # Learning objectives By the end of this session you will be able to: 1. **Explain** why GWAS requires regularization even before thinking about prediction 2. **Describe** winner's curse and why naive clumping and thresholding underuses the data 3. **Connect** ridge, LASSO, and shrinkage priors as a unified framework — and apply it to polygenic score (PGS) construction 4. **Distinguish** PGS used for prediction from PGS used as a proxy of genetic propensity — and articulate why regularization complicates both 5. **Identify** why portability failures are not only a story of allele frequencies and linkage disequilibrium --- # OLS was never designed for `\(p \gg n\)` .pull-left[ Recall the OLS normal equations: `$$\hat{\boldsymbol{\beta}} = (\mathbf{X}^\top \mathbf{X})^{-1} \mathbf{X}^\top \mathbf{y}$$` This requires `\(\mathbf{X}^\top \mathbf{X}\)` to be invertible: impossible when `\(p > n\)`. **In GWAS (genome-wide association studies):** - `\(p \approx 10^7\)` single-nucleotide polymorphisms (SNPs) genome-wide - `\(n \approx 10^5\)` - Even the best-powered studies tend to have `\(p \gg n\)` Regularization is sometime not a choice but ** the only path to a solution.** ] .pull-right[ <!-- --> With `\(p = 10^7\)` SNPs, fitting `\(\hat{\boldsymbol{\beta}}\)` by OLS is mathematically undefined. ] ??? This slide establishes the motivation from first principles. Don't let students assume regularization is a finesse — in GWAS it's a necessity. The plot makes the scale concrete. The gap between red and blue bars IS the regularization pressure. No amount of computing solves `\(p \gg n\)` without regularization. Key question to ask the room: "If we can't fit all SNPs at once, what do people actually do?" → leads naturally to single-SNP tests and the clumping/thresholding story on the next slides. --- # LD creates genomic collinearity .pull-left[ In Session 1 we saw that **correlated predictors** distort effect estimates and inflate standard errors. **Linkage disequilibrium (LD)** is the genomics analog: nearby SNPs are correlated because they are inherited together on the same chromosome. - Effect estimate at one SNP absorbs signal from linked neighbors - Many "associations" are proxies, not causal variants - Adding correlated SNPs in the same model inflates variance just as adding correlated predictors does ] .pull-right[ <!-- --> Correlated predictors → variance inflation → unreliable individual coefficients. Same problem, same solution: regularization. ] ??? This is a brief callback to Session 1 (correlated predictors / assortative mating analogy). Keep it short — 2 minutes. The punchline is just "LD = genomic multicollinearity." Don't re-derive the variance inflation; students have seen it. The most common misunderstanding: students think LD is just a "technical nuisance" to be filtered away (by clumping). The deeper point is that LD structure is part of what regularized methods use — LDpred and similar methods explicitly model LD to do better shrinkage. --- # PGS serves two masters .pull-left[ **Use 1: Phenotypic prediction** Sum up weighted allele counts across the genome: `$$\widehat{PGS}_i = \sum_{j=1}^{p} \hat{\beta}_j \, G_{ij}$$` Goal: maximize out-of-sample `\(R^2\)`. Regularization directly helps — shrink noisy `\(\hat{\beta}_j\)` toward a prior, reduce overfitting. ] .pull-right[ **Use 2: Proxy for genetic propensity** In basic research, a PGS is used as a stand-in for "how much genetic signal does this individual carry for trait X?" Examples: using a height PGS as an exposure in a Mendelian randomization study, or as a control for genetic background. Goal: recover something close to the **true genetic effect**, not just predict well. ] -- .note[ **The inference ≠prediction caveat applies here too.** A PGS built to maximize out-of-sample accuracy uses regularized (shrunken, biased) weights. Those weights are not causal effect estimates — they are prediction weights. Using them as causal estimates is the same mistake as interpreting a ridge coefficient as a partial effect. ] ??? This is the callback to the model evaluation session (session 3). The Seinfeld double-dip slide made the point that you cannot evaluate in-sample. Now the same logic extends: you cannot conflate prediction weights with causal estimates. The .note box is the key take-home for this slide. Pause on it. Students working in Mendelian randomization or causal inference will feel this point. Ask: "If you built a PGS using ridge regression, and its `\(R^2\)` is great, what are those weights actually capturing?" --- class: inverse, middle, center # Part A ## From GWAS to PGS:<br>Winner's Curse --- # Significance is a selection step .pull-left[ Standard GWAS tests each SNP independently: `$$H_0: \beta_j = 0 \quad \text{vs.} \quad H_1: \beta_j \neq 0$$` We report SNPs with `\(p < 5 \times 10^{-8}\)` as "genome-wide significant." **But selecting on `\(|\hat{\beta}_j / \text{SE}_j| > 5.73\)` is a selection step.** Any quantity selected on its extreme value will be inflated in the selection sample. This is the **winner's curse**: genome-wide significant effect estimates are systematically larger than the true effects. ] .pull-right[ <!-- --> ] ??? The winner's curse is the key new concept of Part A. Spend 3-4 minutes here. The plot shows it directly: for genome-wide significant SNPs (red), the regression line is BELOW the diagonal — replication estimates are systematically smaller than discovery estimates. For sub-threshold SNPs, scatter is centered on the diagonal. Key question for the room: "Why does this happen even for truly causal SNPs?" → Because to clear the significance threshold, a SNP needs signal + lucky noise. In replication, the lucky noise is gone. Mathematical connection: selection on `\(|\hat\beta / \text{SE}| > t\)` induces a conditional expectation `\(E[\hat\beta | |\hat\beta / \text{SE}| > t] > E[\hat\beta]\)`. This is classic selection bias. --- # C+T is selection without correction .pull-left[ **Clumping and thresholding (C+T):** 1. **Clump**: within each region, keep only the most significant SNP (remove LD proxies) 2. **Threshold**: keep SNPs with `\(p < p_T\)` Then compute PGS using the surviving GWAS betas as weights. **The problem**: C+T bakes in the winner's curse. The weights used are exactly the inflated discovery estimates. ] .pull-right[ <!-- --> ] ??? The non-monotone C+T curve is one of the most important plots in this session. Spend 2-3 minutes. Key observations to point out: 1. At the GW-sig threshold (dashed red), R² is well below the peak — we're leaving valuable sub-threshold signal on the table 2. The peak is somewhere in the middle — including more SNPs (even sub-threshold ones) helps, but eventually noise dominates 3. The drop at p=1 (all SNPs) is caused by including many null SNPs that add noise The lesson: the significance threshold was designed for hypothesis testing, NOT for prediction. Using it as a PGS threshold is a category error. --- # Shrinkage corrects winner's curse .pull-left[ Ian showed us: penalizing `\(|\boldsymbol{\beta}|^2\)` adds an implicit **prior** that effects are drawn from `\(N(0, \sigma^2)\)`. The ridge posterior mean for each SNP: `$$\hat{\beta}_j^{\text{ridge}} = \hat{\beta}_j^{\text{GWAS}} \cdot \underbrace{\frac{\sigma_\beta^2 \cdot \text{het}_j}{\sigma_\beta^2 \cdot \text{het}_j + \text{SE}_j^2}}_{\text{shrinkage factor} \in [0,1]}$$` - Large signal (SE `\(\ll \sigma_\beta\)`): shrinkage factor `\(\approx 1\)`, keep estimate - Weak signal (SE `\(\gg \sigma_\beta\)`): shrinkage factor `\(\approx 0\)`, discard - GW-sig SNPs: factor < 1 → **winner's curse corrected** This is the **LDpred-infinite** model (Vilhjálmsson et al. 2015) — ridge applied to GWAS. ] .pull-right[ <!-- --> Ridge automatically down-weights noisy estimates — no arbitrary threshold needed. ] ??? This is the conceptual bridge from C+T to regularization. 3 minutes. The key equation: write out the posterior mean explicitly. It's the Bayesian update for a normal prior with a normal likelihood. Students who know Bayes will recognize this; students who don't need just the intuition: "multiply by a number less than 1, where the number depends on how trustworthy the estimate is." The LDpred reference: LDpred-infinite is literally ridge applied to GWAS with an assumed Gaussian prior. The more general LDpred model adds a spike at zero (fraction of null SNPs), which is ridge + LASSO = elastic net. Transition: "But ridge assumes the prior is zero-centered and the same for every SNP. What if the prior is richer than that?" --- class: inverse, middle, center # Part B ## The Prior IS the Regularizer --- # Regularization = a prior on effects .pull-left[ Ian showed us two penalties: | Penalty | Name | Implicit prior | |---------|------|----------------| | `\(\lambda \sum |\beta_j|^2\)` | Ridge (L2) | `\(\beta_j \sim N(0, 1/\lambda)\)` | | `\(\lambda \sum |\beta_j|\)` | LASSO (L1) | `\(\beta_j \sim \text{Laplace}(0, 1/\lambda)\)` | Both priors are **zero-centered**: every effect is assumed to come from a distribution centered at zero. This is the right prior when the effects are independent and exchangeable — which is a reasonable approximation but not always correct. ] .pull-right[ The Bayesian view: `$$p(\boldsymbol\beta \mid \mathbf{y}) \propto p(\mathbf{y} \mid \boldsymbol\beta) \cdot \underbrace{p(\boldsymbol\beta)}_{\text{regularization}}$$` The **penalty** in the frequentist formulation IS the **prior** in the Bayesian formulation. **Choosing a prior = choosing a regularizer.** Zero is the simplest prior. But zero is not the only option. .note[ What if we could *learn* the right prior from the data? ] ] ??? This is the conceptual upgrade of the session. 3 minutes. Draw the connection explicitly: Ian's ridge penalty is a prior. LASSO penalty is a prior. Both assume zero center. But why zero? Because we don't know the effects in advance. What if we had information about the structure of effects across the genome? The .note box is the transition to mashr. Give students a moment to sit with the question. --- # The prior can be learned from data .pull-left[ For GWAS with **multiple contexts** (sexes, tissues, environments), we model effects jointly: `$$\boldsymbol\beta^{(c)} \sim \sum_k \pi_k \, N_2(0, \mathbf{V}_k)$$` - Each SNP's context-specific effects are drawn from a **mixture of multivariate normals** - Covariance matrices `\(\mathbf{V}_k\)` encode different patterns: same direction, amplified in one sex, uncorrelated, etc. - The mixture weights `\(\pi_k\)` are **learned genome-wide** from the data This is **mashr** (Urbut et al. *Nature Genetics* 2019) — multivariate adaptive shrinkage. ] .pull-right[ <!-- --> ] ??? This is the mashr/Zhu et al. slide. 3-4 minutes. The key conceptual move: instead of each SNP's effects being estimated independently (standard GWAS) or shrunk toward zero independently (ridge), mashr pools information ACROSS ALL SNPs to learn what the typical covariance structure of effects looks like. Then each SNP's estimate is pulled toward that learned structure. For height with sexes: most SNPs follow "amplification" (same direction, larger in one sex). mashr learns this from the genome-wide data and uses it as the prior. So a SNP with a noisy estimated male effect gets pulled toward "probably in the same direction as the female effect, and probably slightly larger." Crucially: the prior isn't imposed — it's inferred. This is empirical Bayes. Connect to Ian: "Ian's ridge assumed a N(0, σ²) prior. mashr learns the prior." This is the conceptual upgrade. Reference: Urbut et al. 2019, Nat Gen. Weine et al. 2025, eLife, showed that context dependency (GxE) is itself a bias-variance tradeoff, and the mashr polygenic approach resolves it. --- # A richer prior improves PGS .pull-left[ Zhu et al. (*Cell Genomics*, 2023) applied mashr to 27 physiological traits in UK Biobank, modelling male and female effects jointly. **Key findings:** - For most traits, genetic effects follow an **amplification** pattern: same direction, different magnitude (not sex-specific pathways) - The inferred covariance structure predicts sex differences in trait variance - PGS built from mashr posterior means outperform additive PGS **for traits with high amplification** (e.g., arm fat-free mass, BMI-related traits) The improvement in prediction comes from using a richer prior — one that knows effects tend to be correlated across sexes. ] .pull-right[ <!-- --> ] ??? This slide grounds the abstract mashr point in a concrete result. 2-3 minutes. The connection to make: the mashr prior is a regularizer. Better regularizer (learned covariance structure) → better prediction, especially for traits where the prior structure is informative (high amplification). For traits without context dependency (low amplification), mashr ≈ standard additive PGS (no information to gain from the richer prior). Point to testosterone: it's the outlier with the highest relative accuracy, but also unique — its covariance structure is largely uncorrelated (see Zhu et al. Fig 3). So mashr learned something very different for testosterone. Weine et al. 2025 generalize this framework: the decision to model context-specific effects is a bias-variance tradeoff, and mashr resolves it by going polygenic. --- class: break-slide, middle, center # 5-Minute Break ??? Short break. Come back ready for the exercise. Encourage students to think about: "What will I see if I plot PGS accuracy vs. p-value threshold?" --- class: inverse, middle, center # Exercise ## Building and Evaluating a Height PGS --- class: exercise # Exercise: C+T and shrinkage for height PGS **Setup:** Load the pre-generated simulation data (calibrated to UK Biobank / Neale Lab height GWAS, `\(N_\text{disc} = 8{,}000\)`, `\(h^2 \approx 0.36\)`). ```r gwas_disc <- readRDS("height_gwas_disc.rds") # discovery GWAS summary stats gwas_rep <- readRDS("height_gwas_rep.rds") # replication GWAS (truth proxy) test <- readRDS("height_test_cohort.rds") # test cohort: $G, height ``` .pull-left[ **Part 1 (~10 min)** 1. How many SNPs are genome-wide significant (`\(p < 5 \times 10^{-8}\)`)? 2. For those SNPs, plot `|beta_disc|` vs. `|beta_rep|`. What is the regression slope? What does a slope < 1 mean? 3. Compute PGS R² on the test cohort for thresholds `\(p_T \in \{5 \times 10^{-8},\, 10^{-3},\, 0.01,\, 0.1,\, 1\}\)`. Plot the curve. ] .pull-right[ **Part 2 (~5 min)** 4. Apply ridge shrinkage to the discovery betas using the LDpred-inf formula. Use `\(h^2 = 0.36\)` and the per-SNP formula from the lecture. 5. Compare: C+T at the best threshold (from Part 1) vs. ridge on all SNPs. Which wins? 6. *(If time)* What would happen to the C+T curve if you used `\(N_\text{disc} = 360{,}000\)` instead of `\(8{,}000\)`? Discuss with your neighbor. ] ??? **Expected answers:** **Part 1:** - GW-significant: approximately 35-45 SNPs (varies slightly with exact seed) - Regression slope for GW-sig SNPs: approximately 0.85 (i.e., replication betas are ~15% smaller on average) — this IS the winner's curse visualized - C+T curve: peaks around p<0.001 to p<0.01, with R² ≈ 0.35-0.37; at p<5e-8, R² ≈ 0.30-0.33 (clearly suboptimal) **Part 2:** - LDpred-inf formula: `sf <- (h2_per_snp * maf_het) / (h2_per_snp * maf_het + se^2)` where `h2_per_snp = 0.36 / n_snps`, `maf_het = 2*maf*(1-maf)` - `beta_ridge <- gwas_disc$beta * sf` - `pgs_ridge <- test$G_ctr %*% beta_ridge` - Ridge R² typically close to best C+T or slightly above - The key insight is not about who "wins" by a large margin — it's that ridge automatically finds a reasonable set of weights without requiring you to pick a threshold **Discussion (Q6):** With N=360,000, SE is ~6x smaller, almost all causal SNPs are GW-significant, winner's curse at that threshold is much smaller, and the C+T curve is more flat across thresholds (you can afford to be strict). This motivates why large GWAS are more robust — less winner's curse per SNP. **Timing:** Part 1 should take ~10 min. Part 2 is ~5 min. Q6 is discussion only. --- class: exercise # Exercise Part 2 — What you will find .pull-left[ ```r # LDpred-inf shrinkage factor h2_per_snp <- 0.36 / nrow(gwas_disc) maf_het <- 2 * gwas_disc$maf * (1 - gwas_disc$maf) sf <- (h2_per_snp * maf_het) / (h2_per_snp * maf_het + gwas_disc$se^2) beta_ridge <- gwas_disc$beta * sf pgs_ridge <- test$G_ctr %*% beta_ridge r2_ridge <- cor(pgs_ridge, test$height)^2 ``` ] .pull-right[ What this tells us: - Ridge automatically weights sub-threshold SNPs — **no cutoff required** - Shrinkage factor is large (≈1) for strong signals, small (≈0) for weak signals - This is why well-calibrated regularization outperforms an arbitrary threshold — it learns where to cut **Looking ahead:** The next sessions on confounders show why the weights themselves may be contaminated. Regularization helps with noise, but not with systematic bias from SAD effects (stratification, assortative mating, dynastic effects). ] ??? The "looking ahead" box connects to the confounding session which students will have just had. The transition is: "Ridge corrects winner's curse (noise). But SAD effects are not noise — they are signal in the wrong direction. No amount of shrinkage toward zero fixes a systematically biased prior." --- class: inverse, middle, center # 10-Minute Break ??? Full break. Come back for the portability discussion. --- class: inverse, middle, center # Part C ## PGS Portability and the Limits<br>of Regularization --- # Portability is not just about LD .pull-left[ The standard explanation for why PGS fail in diverse populations: - Different LD patterns → index SNP tags different causal variants - Different allele frequencies → causal variants may be rare or absent - Different effect sizes due to genetic background × environment interactions This is **real and important** — but it is **incomplete**. Mostafavi, Harpak et al. (*eLife* 2020) showed: even within a single ancestry group (White British UK Biobank), PGS accuracy depends on the **sex composition, age distribution, and socioeconomic status (SES)** of the GWAS sample. ] .pull-right[ <!-- --> ] ??? This slide breaks the "it's all allele frequencies and LD" narrative. 3 minutes. The key result from Mostafavi et al.: within White British, a PGS for blood pressure is 15% more accurate in females when the GWAS was conducted in females. This is NOT because of LD differences — it is because the GWAS captured effects that are specific to the sample characteristics. The sibling GWAS result (bottom bars): sibling GWAS removes SAD effects (confounding, assortative mating, dynastic effects — students know this from the confounding session). Accuracy drops — because SAD effects were contributing to the standard GWAS PGS. Those effects don't generalize. --- # Genetic distance is a weak predictor .pull-left[ Wang et al. (*Nature Communications* 2026) measured PGS portability as a **continuous function of individual genetic distance** from the GWAS sample. Three puzzling findings: 1. **Genetic distance only weakly predicts individual-level accuracy** — it explains < 1% of variance in individual prediction error for height 2. **Portability trends are trait-specific and non-monotone** — white blood cell counts lose accuracy even at short genetic distances (fast immune evolution) 3. **The metric matters** — whether accuracy appears to improve or worsen with ancestry depends on whether you use group-level or individual-level measures ] .pull-right[ Critically: **socioeconomic deprivation explains individual-level accuracy comparably to genetic distance** across most traits (Wang et al. Fig. 3B). This points to participation biases and indirect genetic effects in GWAS samples — not just allele frequency mismatches. .alert[ The standard "fix" — use diverse GWAS samples — is necessary but not sufficient. Participation biases (who enrolled, under what conditions) and SAD effects exist even within a diverse cohort. ] ] ??? Wang et al. is one of your own papers. 3 minutes. The key conceptual point: we tend to think "if we just include more ancestries in GWAS, portability will be solved." Wang et al. shows that individual-level accuracy is barely predicted by genetic distance. Socioeconomic factors explain as much or more. The alert box frames the policy implication: diversifying GWAS is the right direction, but it's not a complete solution. Participation biases in ANY large study will introduce SAD-like effects that reduce portability to people who differ in SES, health behavior, or recruitment context. --- # Regularization should improve portability .pull-left[ As GWAS samples grow into the millions, they become increasingly powerful — and increasingly precise at learning **every correlation** in the data, including: - **SAD effects**: stratification, assortative mating, dynastic effects - **Participation biases**: UK Biobank is healthier, wealthier, and more educated than the UK average - **Indirect genetic effects**: your genotype affects your phenotype partly through your environment (education, neighborhood, etc.) A PGS built on large GWAS learns all of these. **Shrinking toward zero** (ridge, LASSO) still learns all these signals — it just shrinks them a bit. ] .pull-right[ **What would actually help:** A prior that encodes what **direct genetic effects** look like — sparse, biologically constrained, not correlated with SES or ancestry. PGSUS (Smith et al., *bioRxiv*) provides a litmus test: compare a standard GWAS PGS to a sibling-GWAS PGS. The fraction of PGS variance that disappears in the sibling GWAS is SAD-driven. For height: ~10% of PGS variance is non-direct (SAD). For educational attainment: the majority may be non-direct. .note[ Choosing a prior that concentrates on biologically plausible direct effects is an open research problem — and a natural extension of the regularization framework. ] ] ??? This is the closing conceptual argument of the session: regularization → portability. 3 minutes. The connection to the confounders session (which students just had): SAD effects are not random noise — they are systematic biases in GWAS effect estimates. Ridge shrinks them toward zero along with everything else. The right prior would shrink them MORE (toward zero) and the true direct effects LESS. PGSUS reference: Smith, Smith, Peng, Miao, Mostafavi, Berg, Edge, Harpak (bioRxiv). Uses sibling GWAS to partition PGS variance into direct vs. SAD components. For height, ~10% is SAD-driven. For educational attainment, evidence suggests the majority is indirect. The .note box is the forward-looking point: this is an open problem. The mashr framework gives us tools for structured priors; combining that with sibling-GWAS constraints on SAD effects is the next frontier. --- # Industry gold standards .pull-left[ **Methods for building PGS in practice** (ordered roughly by complexity): | Method | Approach | Notes | |--------|----------|-------| | C+T | Select + raw betas | Fast; ignores sub-threshold signal | | LDpred2 | Bayesian, LD-aware | Ridge + spike-slab; gold standard for many traits | | PRS-CS | Continuous shrinkage prior | Horseshoe-type prior; robust to polygenicity | | SBayesR | Mixture of normals | Similar to BayesR; LD-aware | | mashr-based | Learned multivariate prior | Best when context structure is informative | ] .pull-right[ **What all these methods have in common:** They differ only in the **choice of prior** on effect sizes. - C+T: implicit spike prior at threshold (either 0 or raw beta) - LDpred2: Gaussian + point mass at zero - PRS-CS: horseshoe (heavy-tailed Gaussian scale mixture) - SBayesR: mixture of Gaussians - mashr: mixture of multivariate Gaussians Every method is a regularizer. Every regularizer is a prior. The choice of prior reflects assumptions about genetic architecture — and those assumptions determine portability. ] ??? This is the "industry gold standards" slide. 3-4 minutes. The table is not meant to be exhaustive. It's a map. Students should be able to look at any new PGS method and ask: "What's the prior?" and "Does that prior encode biologically reasonable assumptions?" Key distinction to make: LDpred2 and PRS-CS explicitly model LD (they use an LD reference panel), while C+T just removes proxies (clumping). This is a major practical difference — methods that model LD explicitly are more powerful when LD is informative. For the audience: if they're running a PGS analysis in their own work, LDpred2 or PRS-CS are the current workhorses. mashr-based methods are more appropriate when they have multi-context data (sex-stratified GWAS, multi-tissue eQTL, etc.). End with: "The statistical framework you've learned — regularization as a prior, prior selection as a modeling choice — is the lens through which to evaluate any PGS method you encounter." --- class: break-slide, middle, center # 5-Minute Break / Discussion **To discuss with your neighbor:** In your own research area, what would a biologically principled prior on genetic effects look like? What structure would you want to encode? ??? Closing discussion question. 5 minutes. This is a generative question — there's no single right answer. Some possible student responses: - eQTL effects: prior should respect that effects are often tissue-specific (→ mashr with tissue covariance) - Disease traits: effects near coding variants should have different prior than noncoding (→ functional annotation priors, e.g., AnnoPred) - Traits with known biology: effects near relevant pathway genes could have higher prior variance - Cancer: driver mutations vs. passenger mutations have radically different prior structures This connects to the broader theme that "regularization = prior = biological assumptions" — which is the session's central message. --- # Regularization runs through all of this .pull-left[ **The unified story:** 1. GWAS requires regularization because `\(p \gg n\)` and LD creates multicollinearity 2. C+T is implicit regularization (hard threshold = spike prior), but poorly calibrated and winner's curse-inflated 3. Ridge/LDpred = Gaussian prior (zero-centered); implicit in penalized likelihood 4. mashr = learned multivariate prior; not zero-centered; better when effect covariance across contexts is informative 5. Every PGS method is a choice of prior; that choice determines how well the PGS generalizes ] .pull-right[ **The inference ≠prediction reminder:** A PGS built to maximize `\(R^2\)` uses prediction weights — they are not causal estimates. As GWAS N grows, even SAD-contaminated effects are estimated precisely. Larger N = better predictor but not necessarily better causal estimator. **The portability point:** Regularization toward a biologically principled prior (not just zero) is the path toward PGS that generalize better across ancestry, SES, and GWAS design choices. .note[ Next: confounders session. What you'll learn there is the mechanistic story behind SAD effects — the same effects that limit regularization's ability to improve portability. ] ] ??? **Timing: this should land at ~55 min total content.** Closing summary. 3 minutes. The .note box points to the confounders session — which students have already had, so it should resonate as a retroactive connection. The regularization session gives them the statistical framework; the confounders session gives them the biological mechanism. The overall arc of the module ends here: from simple OLS → bias-variance tradeoff → regularization → applied regularization in GWAS/PGS → limits of regularization → confounders → GLMs. Everything connects.