✦ 九章 · 十二个模型 · 全部数字现算

爱情数学:把《爱情数学》九章做成可计算的十二个模型

Hannah Fry《爱情数学》(The Mathematics of Love) 全书重点的可计算化 · 全部数字由 compute_models.py 现算(seed = 20260923)· 无手写

一句话结论:这本书是九章,不是「四个模型」。把每一章的重点写成有明确目标函数、可求最优解、且结论能被数值模拟验证的数学模型之后,会看到四件事:

  1. 37% 不是心灵鸡汤——它是 n → ∞ 时最优比例收敛到的 1/e ≈ 0.368,成功率也恰好是这个数。
  2. 关系能不能长,相似性权重要远大于互补性——相似度拉满延 7.2 倍、互补度拉满只延 1.72 倍。
  3. 「追最好的人」在数学上从不占优——因为漏掉了一个常被忽略的变量:出击成本。
  4. 全书唯一一条定理级结论在第 4 章——稳定匹配一定存在,而且主动提出的一方拿到的是「所有稳定匹配里对自己最好的那一个」。主动在数学上严格占优,代价只是可能被拒绝。

👇 点选任意一个模型,右侧(手机上为下方)会展开它的数学形式 / 能算出来的数 / 关键洞见 / 怎么用 / 什么时候别用 / 可信度。

可信度标记:严格(与参数无关)假设(假设在则结论在)参数(依赖示意值)方法论(校准/敏感性)

《爱情数学》原书九章 → 本报告对应的模型。点选章节展开它的模型索引。

第 1 章 找到真爱的概率

候选池是被「乘」的,不是被减的。最贵的条件往往是你最不肯松的那条。

第 2 章 容貌

原书这一章讲外貌与照片;本报告没有单独建模(它要的是图像数据,不是一个可解析的目标函数),只用「信息量」间接涉及「资料里该写什么」。

第 3 章 选择

多一个「同价但更差」的选项,反而让你选贵的——诱饵效应。

第 4 章 匹配

全书唯一一条定理级结论,也是唯一一个已经在为几百万人分配命运的制度。

第 5 章 恋爱游戏

「该出手时就出手」的时机问题(最优停止)与「该追多好的人」的目标问题(吸引力分布)。

第 6 章 伴侣数量

别用「平均」代表「典型」——长尾分布下,多数人在平均值下面。

第 7 章 何时安定

什么时候定下来(观察期比例),以及定下来之后靠什么撑住(相似 vs 互补)。

第 8 章 如何办一场婚礼

座位是图划分、请柬是二项分布——两道纯组合数学题。

第 9 章 如何一直幸福

冷战是协调问题不是利益冲突;相似度是及格线、互补度是加分项。

第 2 章「容貌」是全书九章里唯一没有单独建模的一章——它需要的是图像数据,不是一个可解析的目标函数。本报告用模型 2(信息量)覆盖它相邻的「资料里该写什么」这一层。

总用法:把这些模型当决策规则用,不要当预测器用。它们不会告诉你「这个人会不会喜欢你」;它们告诉你的是——在什么情况下,什么样的策略更容易成、什么样的说法其实是自欺。

卡 137% 法则:定「观察期比例」,不是算日期模型 1

先估 N(未来一段时间你大概会认真接触多少人,比如一年 10 个)→ 前 37% 只观察、不承诺(N = 10 → 前 3 到 4 个)→ 从第 4 个开始,遇到第一个超过观察期最好水平的人就定。为什么不是「等最好的」:随机挑的成功率是 1/N,37% 法则把它提到 0.3710(N = 100),理论上限是 1/e = 0.367879。

⚠️ 偏离不对称,这是最该记住的一条:设短了是打折(N=100 时前 30 个对应峰值的 98%),设长了是腰斩(前 70 个只剩 68%)。拿不准就往早的一侧偏。

卡 2资料与开场白:把不筛人的字删掉模型 2

把形容词全圈出来 → 全删(「幽默」0.478 vs 「滑板」3.507,差 7.34 倍)→ 换成 3 个只有你会写的具体事实。判据:「这句话是不是换个人也能写?」能 → 删。优先级:具体经历 > 具体爱好 > 具体观点 > 形容词。

⚠️ 具体 ≠ 长。Bruch & Newman 发现发给越受欢迎的人写更长消息几乎没用——具体指的是信息密度,开场白要短一点、具体一点。

卡 3相似 vs 互补:相似是及格线,互补是加分项模型 3

约会前写下 3 条「不能让」(价值观、金钱观、生活节奏、要不要孩子、和原生家庭的边界),这 3 条就是筛选条件,其余全部当加分项。判据:凡是「我希望对方改」的项目 → 归相似类、当场筛掉;凡是「我欣赏但不必参与」的项目 → 才归互补类。

⚠️ Gottman:69% 的关系问题是永久性、解决不掉的——所以「以后会好的」「磨合磨合就行」在统计上是低概率事件。

卡 4该追多好的人:提升 x 优先于抬高 y模型 5

提升自己(x)永远比追更好的人(y)划算——提升 x 会同时抬高你对所有目标的回应率;抬高 y 只会把回应率压下去。目标定在比自己高 1.09 个标准差(x = 0 时),人群层面平均最优差距 1.448 个标准差。

⚠️ 反例:如果你的场景里一次成功的回报远大于单次出击成本(朋友介绍 vs 发一条消息),那就该更敢追高——γ = 1 时最优 1.09,γ = 2 时 1.69,γ = 3 时 2.23。

卡 5冷战:改机制,不是改「谁更愿意道歉」模型 4

把 p 从 0.50 调到 0.80,单期收益才从 −0.001 爬到 +0.842,冷战期数从 1.33 降到 1.04——改善有限。真正的解法是相关均衡,由外部信号指定谁让,收益 +1.003,比混合纳什高 +1.005/期,且冷战清零。

⚠️ 两条一起用:① 事先约定外部规则(这周轮到谁先开口),规则要在不吵架时定好;② 先各自离开 20 分钟等心跳回落,再谈。

卡 6匹配:主动出击在数学上占优(第 4 章)模型 8

只换「谁主动」:主动方平均落在第 5.7 志愿,被动方落到第 35.6 志愿;主动方最差的人落在第 30.6 志愿,被动方最差的人平均要落到第 172.2 志愿。这不是「主动的人更优秀」——两个匹配同样稳定,差别只来自谁在提出。

⚠️ 区分「提出」和「纠缠」:提一次、得到明确答复,这个动作就完成了。前提只有一个——你承受得起被拒绝。

卡 7把「平均」换成「中位数」和「上分位」(第 6、8 章)模型 11 / 12

① 描述人群时用中位数——中位数 7.0、算术平均 25.3、78.8% 的人低于「平均」。② 准备资源时用上分位——请 60 人、到场概率 90%,按期望值 54.0 人订桌有一半概率不够坐,要按 58 人订。

⚠️ 「按上分位备资源」只在多备代价低、少备代价高时成立;多备代价极高时回到期望值附近,另加一个「售罄」流程。

🧭 自校准:用你自己的数据估 β 和 COST

这是全篇唯一能真正「用到你身上」的部分——参数没有普适值,但你自己的数据可以估出来。

步骤做什么注意
1记 3 个月里你自己发起的每一次接触:① 对方相对你大概高多少(−2 到 +2 标准分,粗估即可)② 有没有回应至少 30 条,不然估不出来
2对(差距,是否回应)做逻辑回归:logit(p) = β(x − y + c)β 大 = 这个市场越「看条件」
3估 COST:想一下「发 10 条消息都没成,我大概愿意接受多大代价」,换算成一个吸引力单位的数这是主观值,用你自己的感受
4把 β、c、COST 代回 f(y) = y·p(x,y) − COST,数值求最优 y*一条 python3 命令就能扫一遍
5每 3 个月重估一次因为你的 x 在变,市场也在变

✅ 今天就做的五件事

🚩 这个模型不能替你做的三件事:① 不能预测某个具体的人会不会喜欢你——它算的是人群层面的概率,不是个体判断;② 不能替你判断「这个人好不好」——模型里的 y 是「市场受欢迎程度」,而「受欢迎」和「合适」是两件事;③ 最优策略 ≠ 最好的关系——最优停止最大化的是「选中最好的那个」的概率,不是「在一起之后过得好」的概率,这两个目标可以冲突。

「这个模型有效吗」必须先拆开,否则任何回答都是耍流氓。有效性至少分三层,同一个模型完全可以在第一层成立、在第三层不成立。

A数学上可证明,与参数无关

1/e 最优停止比例 · Chicken 的混合纳什 p = 0.50 · 相关均衡收益 +1.005/期 · 稳定匹配一定存在且主动方拿到主动方最优解(模型 8) · 条件池相乘 → 指数衰减(模型 9) · 长尾下「低于均值的人数占比」= f(σ)(模型 11) · 「波动需求按期望值备资源必有一半概率不足」(模型 12b)

什么能推翻它:推翻不了——只能推翻它的「适用前提」

B由假设推出,假设在则结论在

「回应率随差距下降 + 每次出击有成本 → 追 Top 1% 不占优」 · 「混合纳什永远填不平那个坑」 · 「诱饵效应要出现,必须让相似度进入效用(标准 MNL 满足 IIA,做不出来)」

什么能推翻它:换掉假设就反转(把成本项去掉、把相似度权重归零)

C依赖「示意参数」

相似/互补的量级差 · 出击门槛的具体位置 · 期望关系年数的绝对值 · 模型 9 里七条条件的通过率取值 · 模型 10 里诱饵效应的幅度 · 模型 11 的中位数与 σ · 模型 12 的到场概率

什么能推翻它:能推翻——见敏感性分析

一句话:越靠上越可信,越靠下越要自己校准。下面拿真实数据逐条对一遍。

一、逐模型对照实证

模型外部证据对得上吗说明
模型 1 最优停止实验室能复现(秘书问题),但真实恋爱市场没有「n 已知 + 不可回头 + 只能相对比较」的可靠数据数学最硬 / 经验最弱那 37% 是结构参考,不是操作指令
模型 2 信息量Bruch & Newman 大样本:措辞越积极的消息回应率越低;发给越受欢迎的人写更长消息几乎没用方向一致支持「不筛人的表达 = 低信息量」
模型 3 相似 vs 互补Gottman:69% 的关系问题是永久性、解决不掉的;四骑士型平均 5.6 年 vs 情感抽离型 16.2 年方向一致 / 数字有争议2.89 倍反解出相似度差 0.483,不离谱
模型 4 冷战Gottman 的 20 分钟生理冷静实验(心跳回落后再谈,讨论质量显著改变)机制有实验支持博弈论部分本身是定义性的,不怕数据
模型 5 吸引力Bruch & Newman:回应率随差距单调下降;发给更受欢迎女性的回应率从未超过 21%;男性平均向排位高 26%、女性 23% 的人出手方向全对 / 量级对不上本报告唯一做了外部校准的模型
模型 8 稳定匹配美国住院医师匹配(NRMP)1950 年代起在用;牙科住院、加拿大律师分配、波士顿与纽约学区分配同族机制;Shapley 与 Roth 获 2012 诺奖制度级验证定理本身不需要数据
模型 10 诱饵效应Ariely《经济学人》订阅实验:两选项时目标 32%,插入被完全支配的诱饵后 84%实验可复现 / 幅度对不上幅度取决于「相似度怎么进效用」
模型 11 长尾收入、城市规模、社交连接数、伴侣数量都是公认的长尾分布;用「平均数」描述长尾变量是统计教科书里的标准错误统计常识模拟 78.8% 与理论 Φ(σ/2) 完全对上

二、模型 5 的定量对照:方向全对,量级差了一倍

对照项本报告模型Bruch & Newman 2018判断
回应率随差距下降单调:39.1% → 10.3%单调下降一致
消息向高分位集中Top 10% 收 70.8%少数人收走大部分首条消息一致
人群平均向上追平均差距 1.448 个标准差男性 +26%、女性 +23%(排位口径)口径不可直接比
回应的绝对水平总回应率 50.7%女性平均 < 20%差一倍以上
追高者的回应率差距 1.683 处为 21.0%上限 21%数字吻合
⚠️ 口径警告:经验研究用的是排位(rank),本报告用的是标准分。在人群中段两者近似线性,但在高分位会严重发散(排位前 1% 对应好几个标准差)——所以那两行不能直接相减,只能比「方向」。把一个模型的输出和另一个口径的统计量相减,是数据对比里最常见的错。
🚨 这个荒谬的结果本身就是最有价值的发现:为了把总回应率校准到经验的 20%,只调「容忍度 c」(0.80 → −1.031),却把出击门槛从 −0.736 推到 +1.138——意味着只有自身吸引力在 +1.14 个标准差以上的人才值得主动开口,其他人都不该说话。这说明模型在这个区间的函数形式是错的,不是参数没调好。错在哪:f(y) = y·p − COST 里成本是固定值、收益线性正比于 y,而现实里发一条消息的成本极低、收益也不是「对方多好」而是「成了」这件事本身。

三、一次「事后一致」,以及自我批评

把「回应率 21%」反解回目标差距,得到 1.683。而把收益定义改成 yγ·p 时,γ = 2 给出的最优目标是 1.69——两个数字几乎重合,却来自完全不同的方向。

🚨 但必须自己指出这一点:γ = 2 是看到这两个数接近之后才回头挑的。这正是要批判的那种错误——在同一份数据上挑参数,然后宣称模型有效。诚实的说法是:模型并没有回答「为什么 γ 应该是 2」,它只告诉我们「人群的实际行为等价于 γ ≈ 2」。这件事叫 事后一致(post-hoc fit),不叫预测成功。

四、必须讲的失败案例:Gottman 的 90%

关系科学里最著名的「有效模型」,刚好是最好的反面教材。

指标(Heyman & Smith Slep 2001,n = 528)拟合自身数据换到新样本
整体准确率90%69%
敏感度(真会离的能不能抓出来)92%46%
阳性预测值(说会离时有多准)65%29%
按真实离婚基础率 16% 调整后的阳性预测值—21%

最后一行是关键:当模型说「这对夫妻会离婚」时,它四次里错近三次。一个看起来 90% 准确的模型,实际使用时接近抛硬币。这就是本报告给模型 5 做外部校准、而不是只做内部敏感性的原因:在自家数据上算得漂亮是廉价的。

五、所以,怎么判断一个「关系 / 行为模型」可不可信

  1. 它有没有给出可证伪的推论?「37% 法则」可证伪——偏离它有确定的代价,代价大小可以算出来;「两个人要多沟通」不可证伪,因为没有任何观察能反驳它。
  2. 参数是被独立校准的,还是为了拟合结果挑的?本报告的 β、c、COST、a、b 全都还是示意值——这是最大的弱点。
  3. 做过 out-of-sample 测试吗?做过的是 Bruch & Newman(四城互相验证、样本从 9113 到 50618);没做的是 Gottman 的 90%。
📌 本报告自评:模型 1、4 在「可证伪 + 数学自洽」上最强,但经验支撑最弱;模型 5 经验支撑最强,但参数没校准、外推不可靠;模型 2、3 介于两者之间。没有一个模型可以直接拿来做预测——它们能做的是把话说清楚、把假设摆出来。

口径与复现

本文所有数字均由 compute_models.py(纯标准库、固定种子 seed=20260923)现算,无手写。

python3 compute_models.py > result.txt   # 逐行核对上表
python3 build_report.py                 # 重新生成本页数据

参数性质

模型 3 的 a、b 与模型 5 的 β、c、COST、模型 9 的七条通过率、模型 10 的相似度与尺度、模型 11 的中位数与 σ、模型 12 的到场概率均为示意值,只用于比较效应量级,不代表真实人群的测量结果。不含自由参数的是:模型 1、2,模型 4 的支付矩阵,模型 8 的稳定匹配定理,模型 9 的「相乘」结构,模型 10 的 IIA 结论,模型 12 的全部结论。

数据与计算的分工

数字有两个来源,各自只有一个出处:自算数字(模型输出)的唯一出处是 compute_models.py,随 result.txt 逐行可核;外部实证数字(文献引用)的唯一出处是脚本顶部的 LIT 表。正文里不允许手写任何一个数字——自检会把文中每个小数、每个百分数同时去这两处比对,两边都找不到即报错。

外部实证来源

参考

Hannah Fry,《爱情数学》(The Mathematics of Love),2015(共九章)。最优停止问题的最优性(1/e)自 1960 年代起即为经典结论(秘书问题 / Chow–Robbins–Siegmund);稳定匹配与延迟接受算法出自 Gale & Shapley (1962), American Mathematical Monthly 69(1);市场设计方向的扩展(含美国住院医师匹配 NRMP)以 Shapley 与 Roth 获 2012 年诺贝尔经济学奖为标志;诱饵效应与 IIA 的经典讨论见 Ariely《怪诞行为学》(2008) 与 Huber, Payne & Puto (1982);长尾与均值陷阱的标准结论见任何一本概率论教材的对数正态一节。

这篇把九章拆成了能算的十二个模型,觉得有用,欢迎请作者喝杯咖啡 ☕️

支付宝收款码

支付宝

微信收款码

微信

⚠️ 本文为读书笔记与自建模型的复现,不构成心理学、心理咨询或专业建议。所有含「示意参数」的结论请自行校准后再用。