5D Library › Early Experience, Epigenetic Methylation and the Limits of Intergenerational Transmission · 中文

Chapter 3 Gene–Environment Correlation: The Confound in “Blaming the Family of Origin”

A common inference

“Children from families where the parents often quarrel are more emotionally unstable as adults; so the parents’ quarrelling caused the children’s instability.” Inferences of this kind are everywhere in popular psychology and everyday life. They assume that a correlation between family environment and a child’s outcome reflects the causal effect of the environment on the child.

But in a biological family, parents give their children two things at once: a home and half of their genes. If genes that influence the parents’ behaviour also influence the child’s outcome, then part of the correlation between “family environment” and “child outcome” is not caused by the environment.

Three kinds of gene–environment correlation

Evidence

A three-way classification. In 1977 Plomin, DeFries and Loehlin distinguished three kinds of genotype–environment correlation: passive (the environment parents provide is correlated with the genes they pass on, and the child passively receives both), reactive (other people react to the child’s genetically influenced characteristics) and active (the child actively selects and shapes environments that fit his or her dispositions) (Plomin et al. 1977). Scarr and McCartney called the second kind evocative and proposed that, as children grow up, the passive kind weakens and the active kind strengthens, which could explain why the heritability of some traits rises with age (Scarr and McCartney 1983).

Evidence

“Environments” are heritable too. Kendler and Baker systematically reviewed 35 environmental measures in 55 studies (for example parenting, family environment, peer groups, social support and life events): their weighted heritabilities ranged from 7 % to 39 %, mostly between 15 % and 35 % (Kendler and Baker 2007). Avinun and Knafo meta-analysed 32 “children-as-twins” studies of parenting: about 23 % of the variance in parents’ behaviour was associated with the children’s genes, 43 % with the shared environment and 34 % with the non-shared environment (Avinun and Knafo 2014). Plomin and colleagues list “most measures of the environment show significant genetic influence” and “most associations between environmental measures and psychological traits are significantly mediated genetically” among the ten most replicated findings (Plomin et al. 2016).

That a child’s genes can influence how parents treat the child is often overlooked. A child who is temperamentally more excitable and harder to soothe evokes more criticism and less patience; part of the correlation researchers see between “harsh parents” and “difficult children” runs from child to parent.

How large is the confound? A path model

Calculation

All variables are standardised. Paths (illustrative values): parents’ genes Gp→G_p \to home environment HH (bb, passive); child’s genes Gc→HG_c \to H (vv, evocative); H→H \to child outcome YY (tt, the true causal effect of the home); Gc→YG_c \to Y (hh, the direct effect of the child’s genes); parent–child genetic correlation cor⁡(Gp,Gc)=0.5\operatorname{cor}(G_p, G_c) = 0.5. An observational study that regresses YY on HH obtains the slope

βnaive=t+h⋅cor⁡(Gc,H)=t+h(0.5b+v)\beta_{\text{naive}} = t + h \cdot \operatorname{cor}(G_c, H) = t + h\,(0.5\, b + v)

In adoptive families the adoptive parents are genetically unrelated to the child, so the passive term vanishes and only the evocative term remains. The program computes the formula and then checks it with simulated data.

# How gene-environment correlation inflates "family environment" effects.
# Standardised path model, ILLUSTRATIVE values: parents' genes -> home (b,
# passive rGE); child's genes -> home (v, evocative); home -> outcome (t, the
# true effect); child's genes -> outcome (h); cor(parent, child genes) = 0.5.
# Naive slope of outcome on home: beta = t + h (0.5 b + v). In adoptive
# families the 0.5 b term vanishes.
import math, random
random.seed(1977)

def naive_slope(t, h, b, v, adoptive=False):
    return t + h * ((0.0 if adoptive else 0.5 * b) + v)

def simulate(t, h, b, v, n=40000, adoptive=False):
    xs, ys = [], []
    for _ in range(n):
        cg = 0.0 if adoptive else 0.5
        gp = random.gauss(0, 1)
        gc = cg * gp + math.sqrt(1 - cg * cg) * random.gauss(0, 1)
        var_h = b * b + v * v + 2 * b * v * cg
        hh = b * gp + v * gc + math.sqrt(1 - var_h) * random.gauss(0, 1)
        var_y = t * t + h * h + 2 * t * h * (cg * b + v)
        ys.append(t * hh + h * gc + math.sqrt(1 - var_y) * random.gauss(0, 1))
        xs.append(hh)
    mx, my = sum(xs) / n, sum(ys) / n
    sxy = sum((x - mx) * (y - my) for x, y in zip(xs, ys))
    return sxy / sum((x - mx) ** 2 for x in xs)

h = math.sqrt(0.40)                     # genes explain 40 % of outcome variance
print(f"child-gene path h = {h:.2f} (40 % of variance); true home effect 0.10")
print("  b (passive) | v (evocative) | naive slope | inflation | adoptive")
for b, v in ((0.0, 0.0), (0.2, 0.0), (0.4, 0.0), (0.4, 0.15), (0.6, 0.15)):
    nv, ad = naive_slope(0.10, h, b, v), naive_slope(0.10, h, b, v, True)
    print(f"     {b:.2f}    |     {v:.2f}      |    {nv:.3f}    |"
          f"  {nv / 0.10:4.1f} x   |  {ad:.3f}")
s1, s2 = simulate(0.10, h, 0.4, 0.15), simulate(0.10, h, 0.4, 0.15, adoptive=True)
print(f"simulation, b = 0.4, v = 0.15: naive {s1:.3f}, adoptive {s2:.3f}")
print("true home effect zero (t = 0), b = 0.4, v = 0.15: naive slope "
      f"{naive_slope(0.0, h, 0.4, 0.15):.3f},")
print("  an apparent 'home effect' created entirely by genes")
# child-gene path h = 0.63 (40 % of variance); true home effect 0.10
#   b (passive) | v (evocative) | naive slope | inflation | adoptive
#      0.00    |     0.00      |    0.100    |   1.0 x   |  0.100
#      0.20    |     0.00      |    0.163    |   1.6 x   |  0.100
#      0.40    |     0.00      |    0.226    |   2.3 x   |  0.100
#      0.40    |     0.15      |    0.321    |   3.2 x   |  0.195
#      0.60    |     0.15      |    0.385    |   3.8 x   |  0.195
# simulation, b = 0.4, v = 0.15: naive 0.320, adoptive 0.193
# true home effect zero (t = 0), b = 0.4, v = 0.15: naive slope 0.221,
#   an apparent 'home effect' created entirely by genes
How gene–environment correlation inflates the apparent “family effect” (illustrative parameters: the child’s genes explain 40 % of the outcome variance; the true effect of the home is t = 0.10). The vertical axis is the observational slope divided by the true effect. Solid line: passive correlation only; dashed line: with an additional evocative correlation v = 0.15; dotted line: in adoptive families the passive term disappears and only the evocative term remains.

Let the true effect of the home be 0.10 and let the child’s genes explain 40 % of the variance in the outcome. Without gene–environment correlation the observational slope equals the true effect. With a path of 0.2 from parents’ genes to the home, the slope is inflated about 1.6-fold; with 0.4, about 2.3-fold; adding parenting differences evoked by the child’s genes (v=0.15v = 0.15) inflates it about 3.2-fold, and with b=0.6b = 0.6 about 3.8-fold. The simulated data (40,000 families per condition) give a slope of 0.320, matching the formula’s 0.321. The last line is more striking: even when the true effect of the home is zero, an observational study would see a “family effect” of 0.221, created entirely by shared genes.

In adoptive families the slope returns to 0.100 when only passive correlation is present, but is still 0.195 when evocative correlation is present: the child’s genes also influence how adoptive parents treat the child. Adoption designs therefore remove passive confounding, but not evocative confounding.

Note

These numbers are illustrative. The inflation factor depends entirely on the path parameters, which vary by trait, population and measure. The program does not show that “the family effect is overestimated X-fold”. It shows that in observational data from biological families, whenever the relevant trait is heritable and the home environment partly reflects the genes of parents and children, the effect of the environment is systematically overestimated, and the overestimate can be large.

How to separate the two

Evidence

Genetic nurture. Among 21,637 Icelanders with at least one genotyped parent, Kong and colleagues split the parents’ genomes into the alleles transmitted to the child and those not transmitted, and computed a polygenic score for educational attainment from each. The non-transmitted half cannot act through the child’s own DNA, yet it was still associated with the child’s educational attainment, with an effect about 29.9 % of that of the transmitted score. The authors called this “genetic nurture”: parents’ genes affect children through the environments the parents create (Kong et al. 2018).

Calculation

Reproducing the design with simulated families. Each parent’s polygenic score is split into a transmitted half TT and a non-transmitted half NN; the child’s score is TT. The outcome is Y=d⋅T+g(T+N)+noiseY = d \cdot T + g\,(T + N) + \text{noise}: dd is the direct effect of the child’s genes and gg the effect of the parents’ whole genotypes through the home. Regressing on TT and NN separately, the slope on NN estimates gg and the slope on TT estimates d+gd + g. Finally a sibling comparison: same parents, different transmissions, same home. d=0.21d = 0.21 and g=0.09g = 0.09 are illustrative values chosen to give a ratio near 0.3.

# "Genetic nurture" in the design of Kong et al. (2018), simulated families.
# Parents' polygenic scores split into transmitted (T, the child's score)
# and non-transmitted (N) halves:  Y = d T + g (T + N) + noise, where g acts
# through the home. Regression gives slope(N) = g, slope(T) = d + g.
# d and g ILLUSTRATIVE, chosen so that N / T is near Kong's 29.9 %.
import random
random.seed(2018)

def ols2(x1, x2, y):                 # least squares, two predictors + intercept
    n = len(y); m1, m2, my = sum(x1) / n, sum(x2) / n, sum(y) / n
    s11 = sum((a - m1) ** 2 for a in x1); s22 = sum((b - m2) ** 2 for b in x2)
    s12 = sum((a - m1) * (b - m2) for a, b in zip(x1, x2))
    s1y = sum((a - m1) * (c - my) for a, c in zip(x1, y))
    s2y = sum((b - m2) * (c - my) for b, c in zip(x2, y))
    det = s11 * s22 - s12 * s12
    return (s22 * s1y - s12 * s2y) / det, (s11 * s2y - s12 * s1y) / det

def family(d, g):                    # half-scores with variance 1/4 each
    tm, nm, tf, nf = (random.gauss(0, 0.5) for _ in range(4))
    t, nt = tm + tf, nm + nf
    return t, nt, d * t + g * (t + nt) + random.gauss(0, 1)

d, g = 0.21, 0.09
fam = [family(d, g) for _ in range(100000)]
bT, bN = ols2([f[0] for f in fam], [f[1] for f in fam], [f[2] for f in fam])
print(f"100,000 simulated families, direct effect d = {d}, nurture g = {g}")
print(f"  slope on transmitted score T     = {bT:.3f}  (expected d + g = 0.30)")
print(f"  slope on non-transmitted score N = {bN:.3f}  (expected g = 0.09)")
print(f"  ratio N / T = {bN / bT:.2f}: share of the population 'genetic' slope"
      f" that is nurture")
sib = []
for _ in range(15000):            # sibling pairs: same parents, new transmissions
    tm, nm, tf, nf = (random.gauss(0, 0.5) for _ in range(4))
    full = tm + nm + tf + nf
    kids = []
    for _ in range(2):            # each child: a new random half from each parent
        sm = random.gauss(0, 0.5 * 2 ** -0.5); sf = random.gauss(0, 0.5 * 2 ** -0.5)
        t = (tm + nm) / 2 + sm + (tf + nf) / 2 + sf
        kids.append((t, d * t + g * full + random.gauss(0, 1)))
    sib.append((kids[0][0] - kids[1][0], kids[0][1] - kids[1][1]))
slope = sum(a * b for a, b in sib) / sum(a * a for a, _ in sib)
print(f"within sibling pairs the slope is {slope:.3f}: the shared home cancels,")
print("  leaving the direct effect d")
# 100,000 simulated families, direct effect d = 0.21, nurture g = 0.09
#   slope on transmitted score T     = 0.301  (expected d + g = 0.30)
#   slope on non-transmitted score N = 0.084  (expected g = 0.09)
#   ratio N / T = 0.28: share of the population 'genetic' slope that is nurture
# within sibling pairs the slope is 0.200: the shared home cancels,
#   leaving the direct effect d

In 100,000 simulated families the slope on the non-transmitted score is about 0.084 and on the transmitted score about 0.301, a ratio of about 0.28, close to the 0.3 that was built in. So nearly a third of the effect with which a polygenic score “predicts” an outcome in the population may actually work through the family environment; within sibling pairs the shared family effect cancels and the slope returns to about 0.20, the direct effect. The design cuts both ways: it shows that the family environment has a real effect (gg is not zero), and that this effect can be entangled with genes.

Evidence

Other designs. Adoption designs compare parent–child resemblance in biological and adoptive families; the children-of-twins design (the children of two twins are cousins, and the children of MZ twins are genetically as related as half-siblings) can separate the genetic and environmental pathways from parental characteristics to offspring; sibling comparisons and within-family analyses of polygenic scores remove family-level confounding. Each design has its own assumptions and limits, but their common conclusion is that observational correlations in biological families cannot be read directly as causal effects of the family environment (Plomin et al. 2016).

What this means for the “family of origin”

Note

Blame neither the parents nor the genes. Gene–environment correlation does not mean that families do not matter; it means that “I am like my parents” has at least three different sources: shared genes, the environment my parents provided, and the environments my own dispositions evoked and selected. Attributing everything to parenting overstates parents’ responsibility; attributing everything to genes ignores the part of evocative and active correlation that can change: how parents respond to a child, and which peers and activities a child chooses, are not fixed by genes.

Hypothesis · not established

The response pattern is a changeable mediator (not yet established). In evocative correlation, a child’s temperament (partly genetically influenced) evokes harsh responses from parents, and the harsh responses aggravate the child’s difficulties. If parents learn to pause when provoked instead of escalating automatically, the “parental response” link in this pathway can be weakened without changing the child’s genes or temperament. A testable prediction: among temperamentally harder-to-soothe children, the reduction in behaviour problems after parents are trained to model a pause should be larger than among easier children. If the training effect does not differ between the groups, or parents’ responses do not change after training, the hypothesis is weakened. The Chapter 8 trial tests a simpler part of it.

Chapter summary

Biological parents provide both the home and half the genes. Measures of “the environment” have heritabilities of 7–39 %, and about 23 % of the variance in parenting is associated with the children’s genes; with illustrative parameters, observational studies can inflate the family effect 1.6- to 3.8-fold and show a “family effect” even when the true effect is zero, and adoption designs remove only passive confounding. Genetic-nurture research shows that parents’ non-transmitted genes act through the home, at about 30 % of the transmitted effect. The next chapter looks at cultural channels beyond the family.

References

Avinun, Reut, and Ariel Knafo. 2014. “Parenting as a Reaction Evoked by Children’s Genotype: A Meta-Analysis of Children-as-Twins Studies.” Personality and Social Psychology Review 18 (1): 87–102. https://doi.org/10.1177/1088868313498308.
Kendler, Kenneth S., and Jessica H. Baker. 2007. “Genetic Influences on Measures of the Environment: A Systematic Review.” Psychological Medicine 37 (5): 615–26. https://doi.org/10.1017/S0033291706009524.
Kong, Augustine, Gudmar Thorleifsson, Michael L. Frigge, et al. 2018. “The Nature of Nurture: Effects of Parental Genotypes.” Science 359 (6374): 424–28. https://doi.org/10.1126/science.aan6877.
Plomin, Robert, J. C. DeFries, and John C. Loehlin. 1977. “Genotype-Environment Interaction and Correlation in the Analysis of Human Behavior.” Psychological Bulletin 84 (2): 309–22. https://doi.org/10.1037/0033-2909.84.2.309.
Plomin, Robert, John C. DeFries, Valerie S. Knopik, and Jenae M. Neiderhiser. 2016. “Top 10 Replicated Findings from Behavioral Genetics.” Perspectives on Psychological Science 11 (1): 3–23. https://doi.org/10.1177/1745691615617439.
Scarr, Sandra, and Kathleen McCartney. 1983. “How People Make Their Own Environments: A Theory of Genotype →\rightarrow Environment Effects.” Child Development 54 (2): 424–35. https://doi.org/10.2307/1129703.

Fan, Y. (2026). Early Experience, Epigenetic Methylation and the Limits of Intergenerational Transmission: From Glucocorticoid-Receptor Programming and Twin Variance Decomposition to Social-Learning Channels, Read Beside Classical Chinese Family Instruction [早期经验、表观遗传甲基化与跨代行为先验的传递边界] (Version 1.0.0). 5D Library. https://doi.org/10.5281/zenodo.23761337 · Licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).