Partial & Semipartial Correlation

Dr. R. Düsing · University of Osnabrück
Example
X₁Weekly study time (hours/week) — predictor of interest X₂Intelligence (IQ score, standardized) — control variable YExam performance (points, 0–100)
How strongly does study time correlate with exam performance once differences in intelligence are partialled out? Does the effect reflect genuine willingness to study — or is it just an artifact of smarter people happening to study more too? (Scenario D — Reciprocal Suppression — switches to a different example: dominance & empathy as predictors of leadership success.)
Concept
rY·X₁ = bivariate  (Pearson)
rsemi = Semipartial: e(X₁|X₂) ~ Y  → X₂ partialled out of X₁ only
rpartial = Partial: e(X₁|X₂) ~ e(Y|X₂)  → X₂ partialled out of X₁ and Y both
rsemi² = ΔR² (unique variance share of X₁)  ·  rpartial² = share of explained residual variance
Scatterplots — residualized step by step
1 · X₁ vs Y  ρ=— r̂=—
2 · e(X₁|X₂) vs Y  semi=—
3 · e(X₁|X₂) vs e(Y|X₂)  part=—
Ballantine diagram — variance decomposition
Statistics — Population vs. Sample
Statistic Population Sample t p Note
Multiple Regression — X₁ + X₂ → Y
Concepts
Bivariate, semi- & partial correlation
Three levels of control: the bivariate r measures the relationship between X₁ and Y with no control at all. The semipartial correlation removes X₂'s influence only from X₁ — Y stays raw. It is the square root of ΔR² and measures the unique contribution of X₁ to the Y variance. The partial correlation removes X₂ from both: it measures the strength of the X₁–Y relationship within the plane that X₂ does not explain.
Residualization — what happens geometrically?
"Partialling out" means: removing the prediction from X₂. You regress X₁ on X₂ and take the residuals e(X₁|X₂) — the part of X₁ that X₂ does not explain. In the scatterplot triptych you can see how the point cloud gets "cleaned up" on the X-axis (plot 2), and in plot 3 on the Y-axis too. The point coloring by X₂ shows: after residualization, there is no more X₂ pattern in the X-axis spread.
The Ballantine diagram
Three overlapping circles (X₁, X₂, Y) visualize the R² decomposition. The blue zone b = ΔR²(X₁) = semipartial² — the unique X₁ share. The green zone d = ΔR²(X₂). The purple zone c = shared variance that could be attributed to either predictor. c can become negative (suppression) — then the Venn diagram breaks down geometrically, but the values remain valid. The gray area a = unexplained Y variance (1−R²).
Suppression — three variants
All three variants share β₁_multiple > β₁_simple (and c < 0 in the Ballantine). Case 1 — classical (McNemar 1945): ρ(X₂,Y) ≈ 0, ρ(X₁,X₂) > 0 → Scenario C. X₂ contains confounding variance in X₁ that is irrelevant to Y. Case 2 — negative/net: all correlations positive, but ρ(X₂,Y) < ρ(X₁,X₂)·ρ(X₁,Y). A gradual transition to case 1. Case 3 — reciprocal suppression/complementarity (Conger 1974): X₁ and X₂ both positive with Y, but negative with each other → Scenario D. Both predictors suppress each other (Velicer, 1978; Darlington & Hayes, 2017).
Reciprocal suppression / complementarity
Signature: ρ(X₁,Y) > 0, ρ(X₂,Y) > 0, but ρ(X₁,X₂) < 0. Both predictors correlate positively with Y but are negatively correlated with each other — each contains confounding variance from the other. Consequence: β₁_multiple > β₁_simple and β₂_multiple > β₂_simple. Example (Scenario D): dominance (X₁, r=.30) and empathy (X₂, r=.25) both correlate positively with leadership success, but negatively with each other (r=−.30). Controlling for the other variable in each case, both β weights increase — the mutual suppression is lifted.
Collinearity & ΔR²
High collinearity (large ρ(X₁,X₂)) leads to small ΔR² values for both predictors, even when both correlate strongly with Y bivariately. The predictors "compete" for the same share of Y variance. In multiple regression: large SE, unstable β coefficients, VIF → 1/(1−R²_j) rises. Scenario B shows: bivariate r=0.6, but ΔR²(X₁)≈0.04. Squared semipartial correlation gives the unique contribution directly — the most honest effect size in multiple regression.
Partial & Semipartial Correlation — Help
Example

X₁ = study time (h/week), X₂ = intelligence (IQ, std.), Y = exam performance (0–100).
Question: how much of the X₁–Y relationship is genuine (willingness to study), and how much disappears once you control for differences in intelligence?

Bivariate, semipartial and partial correlation

Three levels of control over X₂:

r_bivariate = Corr(X₁, Y) — with no control at all r_semi = Corr(e(X₁|X₂), Y) — X₂ partialled out of X₁ only r_partial = Corr(e(X₁|X₂), e(Y|X₂)) — X₂ partialled out of both

r_semi² = ΔR² = the unique share X₁ contributes to the Y variance, beyond X₂.
r_partial² = the share of the residual variance in Y (after removing X₂) that X₁ explains — measures the strength of the relationship within the X₂-controlled plane.

In the example (Scenario A): study time and IQ are uncorrelated (ρ₁₂ = 0). Then r_semi = r_partial = r_bivariate — controlling for IQ changes nothing, because study time and IQ share no common variance. Each predictor contributes uniquely.

Residualization — what happens geometrically?

"Partialling out" means: regress study time on IQ and take the residuals — e(X₁|X₂) is the part of study time that IQ does not predict. The three scatterplots show the step-by-step cleanup:

Plot 1: raw X₁–Y relationship (study time vs. performance, colored by IQ rank).
Plot 2: e(X₁|X₂) vs. Y — IQ gradient removed from X₁; remaining correlation = r_semi.
Plot 3: e(X₁|X₂) vs. e(Y|X₂) — IQ removed from both; remaining correlation = r_partial.

In the example (Scenario B, collinearity): smarter people also study more (ρ₁₂ = 0.80). The point coloring by IQ rank shows a strong IQ gradient along the X-axis in plot 1. After residualization (plot 2/3) this gradient has vanished — what remains is the pure study-time effect independent of IQ. It's noticeably smaller than the bivariate r.

Ballantine diagram — variance decomposition

Three overlapping circles (X₁, X₂, Y) show how R² splits up:

b = ΔR²(X₁) = r²_semi — unique X₁ share (blue) d = ΔR²(X₂) = r²_semi(X₂) — unique X₂ share (green) c = R² − b − d — shared variance (purple) a = 1 − R² — unexplained Y variance (gray)

In the example (Scenario B): study time and IQ share a lot of variance in Y (c large, b and d small). Bivariately, both seem strong — but ΔR²(study time) ≈ 0.04: study time explains only a small unique share once IQ is already in the model.

Suppression (Scenario C)

Formally: c < 0 (shared variance negative) — not representable geometrically as an intersection, but numerically valid. Tell-tale signs:

|β₁_multiple| > |β₁_simple| and r_partial > r_bivariate

X₂ contains confounding variance in X₁ that has nothing to do with Y. Controlling for X₂ removes this noise from X₁ and the "true" X₁–Y effect emerges.

In the example (Scenario C, ρ(X₂,Y) ≈ 0, ρ(X₁,X₂) = 0.5): IQ barely correlates with exam performance — but is closely tied to study time. Part of the measured study time is really IQ-driven study behavior with no added value. Partialling out IQ increases the genuine study-time–performance correlation: r_partial > r_bivariate.

Suppression — three variants (after Velicer 1978; Conger 1974)

Common to all three variants: β₁_multiple > β₁_simple and c < 0 in the Ballantine diagram.

Case 1 — classical suppression (McNemar 1945) — Scenario C:
ρ(X₁,Y) > 0, ρ(X₂,Y) ≈ 0, ρ(X₁,X₂) > 0. X₂ barely correlates with Y, but does with X₁ — there's confounding variance in X₁ that is irrelevant to Y. Controlling for X₂ removes this noise component and exposes the genuine X₁–Y effect.

In the example (Scenario C): IQ (X₂) barely correlates with performance (ρ₂y = 0), but strongly with study time (ρ₁₂ = 0.50). Part of the measured study time is IQ-driven and irrelevant to performance. Controlling for IQ, r_partial > r_bivariate rises.

Case 2 — negative/net suppression:
All correlations positive, but ρ(X₂,Y) < ρ(X₁,X₂) · ρ(X₁,Y). A gradual transition to case 1 — X₂ has a small positive effect on Y, but explains more variance in X₁ than in Y. No dedicated scenario in the tool; occurs if you nudge ρ₂y slightly away from 0 in Scenario C.

Case 3 — reciprocal suppression / complementarity (Conger 1974) — Scenario D:
ρ(X₁,Y) > 0, ρ(X₂,Y) > 0, but ρ(X₁,X₂) < 0. Both predictors correlate positively with Y but are negatively correlated with each other. Each predictor contains confounding variance from the other — both suppress each other. Consequence: β₁_multiple > β₁_simple and β₂_multiple > β₂_simple.

β₁_multiple = (ρ₁y − ρ₂y · ρ₁₂) / (1 − ρ₁₂²)

With ρ₁₂ < 0, the numerator grows larger (−ρ₂y·ρ₁₂ becomes positive) and the denominator shrinks → a double amplification effect on β₁.

In the example (Scenario D) — personality & leadership success:
X₁ = dominance (r = .30 with leadership success), X₂ = empathy (r = .25), ρ(X₁,X₂) = −.30.
Dominant people tend to be less empathic — the negative intercorrelation arises because these traits are conceptually antagonistic. Bivariately, dominance explains only 9% of the variance in leadership success (r² = .09). Controlling for empathy, β₁_multiple rises to ≈ .41 > .30 — because the "empathy-suppressed" portion of dominance, which previously dampened the effect, is partialled out. Symmetrically, the same holds for empathy: β₂_multiple ≈ .34 > .25.

Collinearity & choice of metric

High collinearity (large ρ(X₁,X₂)) → small ΔR² values, large SE, unstable β. VIF = 1/(1 − R²_j) quantifies the inflation of standard errors. Scenario B shows: bivariate r = 0.60, but ΔR²(X₁) ≈ 0.04 — a collinear predictor explains a lot bivariately, but contributes barely anything uniquely.

Semipartial vs. partial correlation — which one, when?

The crucial difference lies in the reference quantity:

r_semi² = ΔR² = share of the total Y variance that X₁ uniquely explains r_partial² = share of the residual Y variance (after X₂) that X₁ explains

With r_partial, X₂ is also partialled out of Y — which changes the denominator. r_partial² can no longer be interpreted as a share of the total Y variance and isn't directly comparable to r_bivariate. If X₂ explains a lot of Y (e.g. 64%), the remaining spread in Y shrinks to 36%. An r_partial = .50 sounds large but corresponds to only r_partial² × (1 − R²_X₂) = .25 × .36 = 9% of the total variance.

Recommendation for most research questions: r_semi (i.e. ΔR² = r_semi²) — it keeps Y as the reference quantity unchanged, is directly comparable to r_bivariate, and states the unique contribution in a unit third parties can follow.

When r_partial is nonetheless useful: when X₂ counts as a hard baseline covariate whose Y variance is conceptually "not of interest" — e.g. a T1 score as a baseline in a longitudinal design. Then the question is: "how strongly are X₁ and Y related within the X₂-adjusted plane?" — and r_partial answers exactly that. For pure significance testing, r_partial also has slightly more power, because the denominator gets smaller (|r_partial| ≥ |r_semi| always holds).

In the example (Scenario A): IQ explains little of performance (ρ₂y = 0.40, R² ≈ 0.25). Here r_semi and r_partial are similar in size — the difference only grows once X₂ explains a large share of Y (Scenario B with high collinearity).

References

McNemar, Q. (1945). Sampling in psychological research. Psychological Bulletin, 42(6), 337–363.
Conger, A. J. (1974). A revised definition for suppressor variables. Educational and Psychological Measurement, 34(1), 35–46.
Velicer, W. F. (1978). Suppressor variables and the semipartial correlation coefficient. Educational and Psychological Measurement, 38(4), 953–958.