5D Library › 早期经验、表观遗传甲基化与跨代行为先验的传递边界 · English

第三章 基因—环境相关:「原生家庭归因」的混淆

一个常见的推理

「父母常吵架的家庭,孩子长大后更容易情绪不稳;所以父母的争吵造成了孩子的情绪不稳。」这类推理在心理学科普与日常生活中随处可见。它的前提是:家庭环境与孩子结局之间的相关,反映的是环境对孩子的因果作用。

但在亲生家庭里,父母同时给了孩子两样东西:一个家,和一半的基因。如果影响父母行为的基因也影响孩子的结局,那么「家庭环境」与「孩子结局」之间的相关中,就有一部分不是环境造成的。

三种基因—环境相关

证据

三型分类。 普洛明、德弗里斯与洛林在 1977 年区分了三种基因型—环境相关:被动型(父母提供的环境与他们传给孩子的基因相关,孩子被动地接受两者)、反应型(他人对孩子由基因影响的特征作出反应)与主动型(孩子主动选择、改造与自己倾向相符的环境)(Plomin et al. 1977)。斯卡尔与麦卡特尼把第二种称为唤起型,并提出随着孩子长大,被动型的作用减弱、主动型的作用增强,这可以解释为什么某些特征的遗传力随年龄上升 (Scarr and McCartney 1983)。

证据

「环境」也有遗传性。 肯德勒与贝克系统综述了 55 项研究中的 35 种环境测量(例如养育方式、家庭环境、同伴群体、社会支持、生活事件),这些测量的加权遗传力从 7% 到 39% 不等,多数在 15%—35% 之间 (Kendler and Baker 2007)。阿维农与克纳福对 32 项「以子女为双生子」的养育研究作了元分析:父母养育行为的变异中,约 23% 与孩子的基因有关,43% 与共享环境、34% 与非共享环境有关 (Avinun and Knafo 2014)。普洛明等人把「大多数环境测量都有显著的遗传影响」与「环境测量与心理特征之间的相关大多部分地经由遗传中介」列为十大重复发现中的两条 (Plomin et al. 2016)。

孩子的基因能影响父母怎样对待他,这一点常被忽略。一个天生更容易激动、更难安抚的孩子,会唤起更多的批评与更少的耐心;研究者看到的「严厉的父母」与「难带的孩子」之间的相关,有一部分方向是从孩子到父母的。

混淆有多大:一个路径模型

推导

所有变量标准化。路径(示意值):父母基因 Gp→G_p \to 家庭环境 HH(bb,被动型);孩子基因 Gc→HG_c \to H(vv,唤起型);H→H \to 孩子结局 YY(tt,家庭环境的真实因果作用);Gc→YG_c \to Y(hh,孩子基因的直接作用);亲子遗传相关 cor⁡(Gp,Gc)=0.5\operatorname{cor}(G_p, G_c) = 0.5。观察性研究把 YY 对 HH 回归,得到的斜率是

β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)

在收养家庭中,养父母与孩子没有遗传关系,被动项消失,只剩唤起项。程序先按公式计算,再用模拟数据检验。

# 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
基因—环境相关对「家庭环境作用」的放大(示意参数:孩子基因解释结局 40% 的变异,家庭环境的真实作用 t = 0.10)。纵轴为观察性斜率与真实作用之比。实线:只有被动型相关;虚线:再加上唤起型相关 v = 0.15;点线:收养家庭中被动项消失,只剩唤起项。

设家庭环境的真实作用为 0.10,孩子的基因解释结局 40% 的变异。没有基因—环境相关时,观察性斜率等于真实作用。父母基因对家庭环境的路径为 0.2 时,斜率被放大到约 1.6 倍;为 0.4 时约 2.3 倍;再加上孩子基因唤起的养育差异(v=0.15v = 0.15),放大到约 3.2 倍;b=0.6b = 0.6 时约 3.8 倍。模拟数据(每组 40,000 个家庭)给出的斜率 0.320 与公式的 0.321 一致。最后一行更醒目:即使家庭环境的真实作用为零,观察性研究也会看到 0.221 的「家庭效应」,它完全来自共享的基因。

收养家庭的斜率在只有被动型相关时回到 0.100,但在存在唤起型相关时仍是 0.195:孩子的基因同样会影响养父母怎样对待他。所以收养设计能去掉被动型混淆,不能去掉唤起型混淆。

注

这些数字是示意的。 放大倍数完全取决于路径参数,而这些参数因特征、人群与测量而异。程序要说明的不是「家庭作用被高估了 X 倍」,而是:在亲生家庭的观察性数据中,只要相关的特征有遗传性、家庭环境又部分反映父母与孩子的基因,环境作用就会被系统地高估,而且高估的程度可以很大。

怎样把两者分开

证据

遗传养育。 孔等人在冰岛 21,637 名至少一位父母有基因型数据的受试者中,把父母的基因分成传给孩子的与没有传给孩子的两部分,分别计算教育程度的多基因分数。没有传给孩子的那一半等位基因,不可能通过孩子自己的 DNA 起作用,却仍然与孩子的教育程度相关,其效应约为传递部分效应的 29.9%。作者称之为「遗传养育」(genetic nurture):父母的基因通过父母塑造的环境影响孩子 (Kong et al. 2018)。

推导

用模拟家庭重现这一设计。每位父母的多基因分数分成传递的一半 TT 与未传递的一半 NN;孩子的分数为 TT。结局 Y=d⋅T+g(T+N)+噪声Y = d \cdot T + g\,(T + N) + \text{噪声}:dd 是孩子基因的直接作用,gg 是父母全部基因经由家庭环境的作用。分别对 TT 与 NN 回归,NN 的斜率估计 gg,TT 的斜率估计 d+gd + g。最后用兄弟姐妹对比:同一对父母,两个孩子得到不同的传递,家庭环境相同。d=0.21d = 0.21、g=0.09g = 0.09 为示意值,使两者之比接近 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

在 100,000 个模拟家庭中,未传递分数的斜率约为 0.084,传递分数约为 0.301,两者之比约 0.28,与设定的 0.3 接近。这说明,人群中「多基因分数预测结局」的效应里,有接近三成其实是通过家庭环境实现的;而在兄弟姐妹之间比较时,共享的家庭作用相互抵消,斜率回到约 0.20,即直接作用。这个设计的意义是双向的:它显示了家庭环境的真实作用(gg 不为零),也显示了这种作用可以与基因纠缠在一起。

证据

其他设计。 收养设计比较亲生与收养家庭中的亲子相似;「双生子的子女」设计(一对双生子各自的孩子是堂表亲,同卵双生子的孩子在遗传上相当于半同胞)可以区分父母特征经由基因与经由环境对子女的作用;兄弟姐妹对比与多基因分数的家庭内分析可以去掉家庭层面的混淆。每种设计都有自己的假设与限制,但它们共同的结论是:亲生家庭中的观察性相关,不能直接读作家庭环境的因果作用 (Plomin et al. 2016)。

这对「原生家庭」意味着什么

注

既不归咎父母,也不归咎基因。 基因—环境相关不说明家庭不重要,而是说明「我像我的父母」至少有三种不同的来源:共享的基因、父母提供的环境、以及我自己的倾向唤起和选择的环境。把一切归于父母的养育,会高估父母的责任;把一切归于基因,则会忽视唤起型与主动型相关中可以改变的那一部分:父母对孩子的反应方式、孩子选择的同伴与活动,都不是基因所固定的。

假说 · 尚未验证

反应方式是可改变的中介(尚未确立)。在唤起型相关中,孩子的气质(部分受基因影响)唤起父母的严厉反应,严厉反应又加重孩子的问题。如果父母学会在被唤起时暂停、而不是自动地升级,这条路径中的「父母反应」一环就可以被削弱,而不需要改变孩子的基因或气质。可以检验的预测:在气质上较难安抚的孩子中,父母接受「暂停示范」训练后,孩子行为问题的减少应大于气质较易安抚的孩子。如果训练效果在两组之间没有差别,或者父母的反应方式在训练后并未改变,这一假说就被削弱。第八章的试验检验其中较简单的一部分。

本章小结

亲生父母同时提供家庭与一半的基因。「环境」测量有 7%—39% 的遗传力,养育行为约 23% 的变异与孩子的基因有关;路径模型显示,示意参数下观察性研究可把家庭作用放大 1.6—3.8 倍,真实作用为零时也会出现「家庭效应」,收养设计只能去掉被动型混淆。遗传养育研究显示,父母未传递的基因经由家庭环境起作用,约为传递部分效应的 30%。下一章转向家庭之外的文化信道。

参考文献

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).