前言#
从 DNA 序列到人生轨迹,从生物信息学中的技术工具到社会科学中的解释框架,“距离”这一概念已经从简单的编辑步骤计数,演变为理解社会过程差异的一种方式。
这个教程系列将带你梳理这一范式转变的路径:从最初的“编辑距离”(edit distance),到后来发展出的各种“社会意义距离”(socially meaningful distances),它们不仅关注状态之间的转化,更关注轨迹在社会背景中的结构、功能与意义。
在传统的序列分析方法中,最为人熟知的或许是 Levenshtein 距离 与 Optimal Matching(OM)。它们通过计算插入、删除和替换的操作次数来判断两个序列的相似性。但这些技术起初是为 DNA 和字符比对设计的;也就是说,它们并不关心“状态”之间是否存在社会关系、文化语义、制度结构上的深层差异。
然而,社会轨迹不是字符,而是具有历史背景、文化惯性与结构性约束的过程性叙事。当 Andrew Abbott 在 1980 年代提出将序列视为“有意义的故事”时,他实际上揭开了一个更深层次的问题:
“我们比较的,到底是状态本身,还是状态背后的社会意义?”
因此,从 2000 年代起,OM 方法的社会适配性不断受到质疑。研究者开始探索更能体现语境、功能与社会结构的距离计算方式,逐步走出编辑距离的主流语境,进入到一个多维、可解释、嵌入社会逻辑的测量新世界。
📘 本系列教程的目标是:
- 梳理从编辑距离到社会意义距离的发展脉络;
- 引导读者理解这些方法背后的核心概念与计算机制;
- 提供对比清晰的案例与模型,帮助大家从“怎么做”过渡到“为什么这样做”。
⚠️ 注意:阅读本系列的前提,是你已经掌握了我在哔哩哔哩系列视频中的基础内容。如果你尚未观看,建议先补完视频课程。
如果你已经准备好了,让我们从历史脉络、关键人物、方法演化和范式张力几个方面,展开详细解释。
目录#
- 前言
- 一、早期:生物信息学的序列距离计算
- 二、范式转折点:社会学家 Andrew Abbott 的“叙事转向”
- 三、向“社会意义距离”的方法扩展(2000s–)
- 四、进入“社会意义距离”时代(2010s–)
- 五、一种范式转换:从“符号”到“意义”
- 参考文献
- 总结:这个社会科学的范式转向带来了什么?
一、早期:生物信息学的序列距离计算#
在现代社会科学中,我们常说“路径”或“过程”之间存在某种“距离”。但如果我们追溯这一概念的算法来源,它最初并不是为社会研究设计的,而是来自一个非常不一样但又有很多底层共性的学科领域:生物信息学。
生物信息学(Bioinformatics)是将计算机科学、数学和统计学方法应用于生物数据分析的学科,尤其用于处理和解释像 DNA、RNA、蛋白质序列这类“生命信息”。 比如人类的基因组是一条长长的 DNA 序列,由四种“字母”(A, T, C, G)组成。生物信息学的目标之一,就是:
-
比较不同物种或不同个体的 DNA 序列
-
找出其中的差异、突变或进化关系
-
理解这些信息在遗传、疾病、进化中的作用
这就需要大量的数据处理技术,比如:
-
序列比对(谁和谁长得像?)
-
基因预测(这段DNA是干啥的?)
-
结构分析(蛋白质是怎么折叠的?)
在生物信息学中,尤其是 20 世纪中叶以来,科学家们面临一个核心挑战:如何定量比较两段 DNA、RNA 或蛋白质序列的相似性?
如上所说,这些生物序列可以看作是由字母(A、T、C、G 等)构成的字符串。在进化、生物遗传和基因突变研究中,科学家需要判断两段序列是否源自同一个祖先,是否有突变发生,突变发生的“程度”有多大。 为了解决这个问题,一种被称为编辑距离(edit distance)的算法被提出和广泛应用。
为什么生物学需要编辑距离?#
在生物学,尤其是生物信息学中,研究人员经常需要比较 DNA、RNA 或蛋白质序列之间的相似性。我们刚刚已经说了,这些序列可以看作是由字母组成的长字符串,那我们在这里再来具体一点:
- DNA 序列:由 A(腺嘌呤)、T(胸腺嘧啶)、C(胞嘧啶)、G(鸟嘌呤)组成
- 例如:
ACGTTGCA
- 例如:
在比较两个序列时,科学家经常想回答这样的问题:
- 这两个序列有多相似?
- 一个序列是否可能是另一个的突变版本?
- 它们是否来自同一个祖先基因?
但序列在自然界中常常会因为突变 mutation而发生变化,比如:
- 插入(insertions):加了一个碱基
- 删除(deletions):丢了一个碱基
- 替换(substitutions):一个碱基变成另一个
所以,编辑距离(Edit Distance)就是在模拟这些突变过程,以衡量两个序列之间的差异。
什么是 Levenshtein Distance?#
Levenshtein Distance 是最经典的一种编辑距离。它最初由苏联数学家 Vladimir Levenshtein 于 1965 年在其论文《Binary codes capable of correcting deletions, insertions, and reversals》中提出。 这项研究旨在解决信息传输过程中可能出现的字符插入、删除和替换等错误,属于信息论领域的研究成果。
这个算法的初衷不是比 DNA,是解决通信中的错误,因为在早期通信系统中,信息在传输中容易出错,比如有可能出现下面这些情况:
- 字母丢了(删除)
- 多了(插入)
- 传错了(替换)
因此,Levenshtein 想解决的是: 如何判断两个“收到的信号”之间有多少编辑操作差异?怎么纠错?
他从纯粹的信息论(Information Theory)角度出发,提出了最小编辑步数的概念。
具体而言,这个算法回答了这个问题:把一个字符串变成另一个字符串,最少需要几步操作?
这三种操作是:
- 插入一个字符(insertion)
- 删除一个字符(deletion)
- 替换一个字符(substitution)
而且默认每一步操作的“代价”都一样,比如每一步成本都是 1。
💡 举个简单的例子:
把 "cat"
变成 "cut"
,只需要替换 'a' → 'u'
,所以距离是 1。
那为什么这个算法后来出现在生物信息学里?#
原因1:DNA 是“字母序列”#
DNA、RNA、蛋白质都是由有限字母构成的线性序列(A、T、C、G 或氨基酸编码)。
换句话说:它们在数学上就是“字符串”。
所以,当生物学家在比对两条 DNA 序列时,他们面临的是一个非常类似的问题:“这些序列是不是一个原型经过了突变?”
突变的形式,正好是:
- 插入(insertion)
- 删除(deletion)
- 替换(substitution)
这和 Levenshtein 模型不谋而合
原因2:1980s–90s 是生物信息学的算法化时代#
在基因组学爆发之前,生物数据非常稀疏;但进入 1980–1990 年代以后,因为DNA 测序技术进步、GenBank 等公共数据库建立、比对与注释问题变成高优先级任务,这些都让科学家迅速发现:要处理这些海量的基因序列,必须依赖计算机算法,而现成的编辑距离算法正好可以套用。
因此,很多 Levenshtein / Needleman-Wunsch / Smith-Waterman 这样的字符串比对算法,都在不改变核心原理的情况下,被移植到了生物信息学里。
加餐:生物信息学的方法很多都是从数学和计算机“引进”的,比如:
方法 | 原始来源 | 在生物信息学中的用途 |
---|---|---|
Levenshtein 距离 | 信息论、编码理论 | 基因/蛋白质序列比对(突变检测) |
动态规划 | 计算机算法 | 序列比对(如 Needleman-Wunsch 算法) |
马尔可夫模型 | 概率论 | 建模 DNA 转移概率,HMM 注释基因结构 |
PCA、聚类 | 多变量统计学 | 基因表达数据降维和分群 |
贝叶斯网络 | 统计图模型 | 蛋白质相互作用预测 |
图神经网络 | 深度学习 | RNA 结构预测、基因调控建模 |
小结一下,虽然 Levenshtein 距离常常被用来衡量 DNA 或蛋白质序列之间的相似性,但它最早并不是为生物学设计的,而是出自信息论,用于解决通信中的错误校正问题。
后来,随着基因组学的发展,生物学家发现 DNA 序列正好可以看作字符序列,因此很多原本用于字符串处理的算法(如编辑距离、动态规划)都被引入到生物信息学中,成为理解生命结构的核心工具。
在生物信息学里,这就像比较两条 DNA,看它们哪里有突变,用这些小的插入、删除、替换操作就能很好地建模生物变异。
再举个例子,如果我们要把字符串 "GATTACA"
变成 "GCATGCU"
:
G A T T A C A| | | | | | |G C A T G C U
可能的最少编辑路径是:
- GATTACA → GCATTACA(插入C)
- GCATTACA → GCATGCA(替换T→G)
- GCATGCA → GCATGCU(替换A→U)
共需要 3 步,所以 Levenshtein 距离为 3。
这个距离度量方法后来被广泛应用于计算机语言学,特别是在自然语言处理(NLP)中,用于评估两个字符串之间的相似性。
例如,在拼写检查、OCR 纠错、语音识别和机器翻译等任务中,Levenshtein 距离被用来衡量词语之间的差异程度。此外,它还被用于语言学中,量化不同语言之间的语言距离,帮助研究语言之间的相互理解程度。
但是这个算法缺失了“社会含义”#
编辑距离是一种强大的形式工具,但它并不关心字符的“内容”或“意义”。例如:
把 A 换成 G,和把 C 换成 T,对 Levenshtein 来说成本是一样的;但在生物进化中,它们可能对应完全不同的突变风险。
更不用说,如果我们用它来比较社会路径(如职业变动),就更不适用了,因为它无法区分“失业→就业”和“失业→监禁”在意义上的天壤之别。
所以我们说:在这一时期,“距离”就是“编辑成本”,并没有社会含义。它关心的是操作步骤的数量,而非状态背后的意义。
二、范式转折点:社会学家 Andrew Abbott 的“叙事转向”(1980s–90s)#
核心人物:Andrew Abbott
- Abbott (1983, 1990, 1992) 提出将序列分析(sequence analysis)引入社会科学
- 他提出一种方法论上的基础:narrative positivism(叙事实证主义)
“Instead of modeling processes through regression, we can treat entire sequences of events as meaningful narratives and study their structures directly.”
——Abbott, 1992, “From Causes to Events: Notes on Narrative Positivism”
上面这句英文翻译成中文可以是这样的版本: “我们不必总是用回归分析来建模社会过程,而可以把整段事件序列当作有意义的叙事来看待,并直接研究它们的结构。”
听起来有点抽象?我们下面来仔细拆解,他想表达的核心思想是什么。
具体理解这个理论范式#
1. 他在批评主流社会科学过于依赖“变量模型”或“回归模型”
传统社会科学中,我们通常用 回归分析 来研究因果关系,比如:“家庭背景 → 教育程度 → 收入水平”,这种分析强调“变量之间的线性关系”和“独立性”。
但 Abbott 认为这种方式 忽略了人生中的过程感。也就是说,一个人的人生是一个过程、一个故事,而不是一些静态变量的组合。
2. 因此,他希望把“过程”当作“叙事”来研究
Abbott 说:不要再只看变量之间的相关性,而要把人的经历看作一段序列,像一个故事,然后研究这个故事的“结构”。
比如两个人的就业轨迹:
- A:学生 → 实习 → 职员 → 经理
- B:学生 → 职员 → 失业 → 职员
传统方法会只看“最终职业”或“收入”,但 Abbott 想说的是:“这两个人经历的路径非常不同,‘过程本身’才是我们该研究的重点。” 这就是所谓的 “叙事转向(narrative turn)”。
这句话强调了几个关键词:
关键词 | 意义解释 |
---|---|
regression | 传统的统计建模方法,只看变量关系(如X影响Y) |
entire sequences | 一整段经历(如职业路径、家庭变迁),不是几个孤立的点 |
meaningful narratives | 有意义的“故事”——过程、转折、顺序都重要 |
study their structures | 用算法(如序列分析)研究这些路径“结构”的相似性与差异性 |
举个通俗小例子,想象我们研究“婚姻幸福程度”:
- 传统方法可能问:“收入是否影响婚姻幸福?”
- Abbott 的方法问:“婚姻过程的轨迹是怎样的?比如:
- A:恋爱 → 同居 → 结婚 → 孩子 → 婚姻满意
- B:闪婚 → 离婚 → 恋爱 → 再婚 → 婚姻满意”
虽然两个人最后都说“我现在幸福”,但过程完全不同。Abbott 认为,这种“路径”或“叙事”本身就值得研究。
有了理论,那相应地就会引入一个新方法,Optimal Matching (OM) 就在社会科学中应运而生#
等等,你可能会问:“咦?不是都在比两个序列有多像吗?为什么社会学用的算法和生物信息学不一样?”
因为 Levenshtein 和 OM 是“同一家族”的算法,都是编辑距离(Edit Distance),但它们的目标、规则、用途很不一样,就像是同一个工具箱里,锤子和电钻各有用法。 一句话总结:因为社会科学不是比字符本身,而是比“状态背后的社会意义”。
- 强调“解释性”而非“预测力”:许多 AI 或机器学习算法在技术上具有很强的预测能力,但它们往往是“黑盒”式的,难以揭示结果背后的社会逻辑。而在社会科学研究中,我们不仅关注模型是否“好用”,更关注它是否能“说清楚”:为什么两个轨迹相似?为什么某种变化代价更高?
- “社会意义”强调结构、语境与制度位置:两个状态(比如“失业”和“育儿”)在数学上可能相隔一段距离,但如果它们在特定社会情境下是彼此转换的常见路径(如年轻女性在育儿期间退出劳动力市场),那么这种“意义上的接近”应当被计入,而不仅仅是标签不同。
- 让算法成为“社会过程的镜子”,而不是“符号处理的工具”:我们发展有社会意义的距离计算,不仅是为了更精确的预测或者分析,也更是为了让人更理解:这些人生路径差异,背后反映了怎样的社会制度结构、性别分工、就业障碍或文化预期。
回到我们 Levenshtein 和 OM 的对比,Levenshtein 很经典,但它太“死板”了,不够灵活,比如不懂比如职业轨迹里面的两个状态“职员”和“经理”有多像;而 OM 相比而言更灵活,可以融入研究者对现实的理解,是更适合分析“人生过程”这样复杂社会序列的方法。
让我们的时钟拨回到 1980 年代,社会学家 Andrew Abbott 突然问了个很有意思的问题:如果人的一生也能看作一个“状态序列”,我们能不能用类似的方法来比较不同人的人生路径?
比如:
- 甲的人生路径:学生 → 实习生 → 职员 → 经理
- 乙的人生路径:学生 → 实习生 → 职员 → 教师
你看,他们前半段一样,后半段不一样。但如果我们只用 Levenshtein 距离,一律把“经理”和“教师”的替换成本设为1,那我们是不是忽略了这两个职业在社会意义上非常不同?
于是 Abbott 引入了一个重要的想法: 他认为,我们可以用 Optimal Matching,它允许我们手动设定替换成本,比如说:
- 把“职员”换成“经理”成本是 1(因为是常见升迁)
- 把“职员”换成“教师”成本是 3(因为是转行)
这样,我们就不是在比“字母有多像”,而是比“路径在社会意义上有多接近”。而这,就是 叙事视角 和 语义对齐 的转折。
- 虽然理论上 OM 比 Levenshtein 距离要灵活很多,但是实际上很多的学者还是用的是比较基本的 OM 及其变种的配置,比如,比较少有学者会用自己配好的 substitution matrix 来计算距离。
- 再加上 OM 虽然有解释力,但因为它本质上还是技术性的距离计算,在如何解释 indel 或者 substitution cost 上面还是比较难有比较具体的社会含义(下面会有例子)。
- 这也让很多学者开始思考,如何让距离计算更有实际意义。
再让我们回顾一下这两个算法的具体区别:技术对比 + 意义对比,我们来对照着讲得更清楚些#
1. 成本的设定方式不同#
- Levenshtein 距离的成本是统一的、死板的,比如替换任何两个字符都算一步。
- OM 的成本可以是可调的、灵活的,可以基于你对社会现实的理解定制。
举个例子:你可以告诉算法,“‘失业’变成‘就业’成本低,但‘失业’变成‘高管’成本高”,让它更贴近现实。
2. 适用的领域不同#
- Levenshtein 更适合那种“所有字符地位平等”的任务,比如 DNA、拼写检查、编程代码比对。
- OM 更适合“字符背后有社会意义”的场景,比如人生轨迹、家庭结构变化、职业路径。
比如一个人生从“学生→研究生→博士后→教授”,和另一个人“学生→蓝领→自由职业者→退休”,你希望的是捕捉这些路径的社会含义的差异,而不仅仅是表面有几个词不一样。
3. 可解释性不同#
- Levenshtein 距离就是告诉你“不同点有几个”,没法解释为什么这些不同重要。
- OM 可以通过自定义成本,解释为什么某些状态之间的转换更难、更重要、更常见。
这也让它更符合社会科学研究追求“解释”的目标。
简单来说,
- Levenshtein 比的是“字母差几步”,
- OM 比的是“人生轨迹像不像”。
注意,OM 仍然存在解释性上的问题,也就是说,OM 在“社会解释”上仍然比较弱
比如,如替换一个“已婚”→“离婚”状态是“1”,那“1”代表什么?意义模糊,甚至可能违反社会逻辑。
我们再通过一个更技术的方式解释一下二者的区别:
1. 核心算法与操作类型#
-
Levenshtein距离
仅支持三种基本操作:插入、删除和替换(单字符操作),且默认每种操作成本固定(通常为1)。例如,将DNA序列”AGCT”转换为”AGT”需要一次删除操作,距离为1。
动态规划矩阵通过累加最小操作成本计算总距离,适用于精确的字符级比对。 -
Optimal Matching
扩展了操作类型,支持块操作(如一次插入/删除多个字符)和自定义替换成本。例如,在社会职业轨迹分析中,将“失业→就业”替换为“失业→培训→就业”可能赋予不同成本。
采用Needleman-Wunsch算法,允许更灵活的序列对齐策略。
2. 成本模型差异#
维度 | Levenshtein距离 | Optimal Matching |
---|---|---|
替换成本 | 固定为1(或统一权重)[2] | 可自定义(如不同职业状态转换成本不同)[6] |
插入/删除成本 | 固定为单位成本[1] | 支持线性/非线性差距惩罚(如分块成本)[4] |
生物学适配性 | 通过调整替换成本反映进化概率[1] | 不适用 |
社会科学适配性 | 不适用 | 通过成本矩阵反映社会事件重要性差异[6] |
3. 应用场景对比#
-
生物信息学(Levenshtein)
侧重微观突变分析,如:- DNA单点突变检测(替换成本可调)
- 蛋白质序列进化距离计算 因生物序列突变模式相对规则,固定成本模型已足够。
-
社会科学(Optimal Matching)
侧重宏观模式匹配,如:- 职业生涯轨迹相似性(不同职业转换成本不同
- 文化事件序列分析(块操作对应复合事件)
社会序列中的事件具有异构性,需通过自定义成本反映现实逻辑。
4. 性能与扩展性#
- Levenshtein的复杂度为O(nm),对长序列效率低,而Optimal Matching通过分块操作和启发式剪枝可优化长序列比对。
- Optimal Matching支持非对称成本(如“失业→就业”与“就业→失业”成本不同),而Levenshtein默认对称。
小结:
- Levenshtein距离因其简单性和对单字符操作的敏感性,成为生物信息学中突变分析的基石;
- 而Optimal Matching通过灵活的成本模型和块操作能力,更适合社会科学中复杂事件序列的异质性分析。
- 两者的选择本质上是精确字符比对与语义模式匹配需求差异的结果。
三、向“社会意义距离”的方法扩展(2000s–)#
随着 OM(Optimal Matching)在社会科学中的广泛应用,也出现了一些方法论上的质疑和挑战。核心的问题是:
OM 真的是在比较“社会路径”吗?还是仅仅比较了一些符号的排列组合?
因此,从 2000 年代起,研究者开始寻求更加贴近社会语义的测量方式,推动了“从技术距离 → 社会意义距离”的转向。
对 OM 的批评:三大代表性文献解读#
1. Abbott & Tsay (2000):OM 仍然不够有“社会解释力”#
标题:Sequence Analysis and Optimal Matching Methods in Sociology
期刊:Sociological Methods & Research
Abbott 和 Tsay 自己在这篇综述中承认,OM 虽然在技术上有效,但其输出的“距离”很难解释成具体的社会意义。比如,两个职业路径的距离是“5”是什么意思?是换了几份工作?还是社会地位差异很大? 那么这就会凸显出OM的问题:OM 的结果“数值明确但语义模糊”。
就像你说一个人“和另一个人差了5公里”,但不告诉我是“平地走5公里”还是“翻山越岭5公里”,而这个“5”可能毫无意义。
2. Wu (2000):OM 的成本矩阵太主观#
标题:Some Comments on “Sequence Analysis and Optimal Matching Methods in Sociology”
期刊:Sociological Methods & Research
Wu 批评说,OM 成本设定没有“客观标准”。因为学者们往往凭经验或假设设定状态之间的转换成本,例如“失业↔就业”设为2,“职员↔经理”设为1。而这容易造成结果依赖于研究者的主观判断,难以重复验证。
就像考试标准是老师“凭感觉”打分,不是根据评分细则,别人复现你的分析就可能得出完全不同的结果。
3. Hollister (2009):OM “忽略上下文”#
标题:Is Optimal Matching Suboptimal?
期刊:Sociological Methods & Research
Hollister 的核心批评在于,OM 把一个状态当作“静态标签”,不管它出现在序列的哪个位置。但在现实中,状态的“意义”与它在路径中的位置高度相关。例如,“失业”出现在职业早期 vs. 退休前,社会影响完全不同。 也就是说,OM 没法表达这种“语境感知(context sensitivity)”。
就像是我们不能把“下雨”当作一个独立的现象,因为春天的雨、收割前的雨、暴雨 vs. 小雨,它们影响是完全不同的。
总结一下这些批评背后的共同问题:
批评者 | 指出的问题 | 具体含义 |
---|---|---|
Abbott & Tsay (2000) | 还是缺乏语义解释力 | 距离是“数字”,但不知道背后代表什么社会过程 |
Wu (2000) | 成本主观 | 不同研究者设定的成本不同,影响结果可靠性 |
Hollister (2009) | 忽视上下文 | 状态的位置、前因后果都影响它的意义,OM 无法捕捉 |
这些批评推动了学界重新思考:我们要比较的究竟是“符号顺序”,还是“社会意义”? 而这些批评激发了后续一系列新的方法探索,比如:
- 基于实证数据推导成本矩阵(如:观察状态间的转移概率)
- 带上下文的序列比较(如:Context-sensitive OM)
- 从对齐算法转向特征抽取方法(如:用 clustering、embedding 表达路径的形状和语义)
这部分可以在下一节继续展开讨论。
四、进入“社会意义距离”时代(2010s–)#
就像上一节所说,虽然 Optimal Matching 开启了社会序列分析的大门,但它的问题在于:
- 距离虽“精确”,但意义模糊;
- 成本可设,但主观性强;
- 序列可比,但对“语境”不敏感。
所以,进入 2000 年之后,学界开始迈向一种新目标:让“距离”不仅是操作步骤的数量,而是能反映社会意义的指标。
这一转向并不是一蹴而就的,而是经历了从结构性概括到社会语义引入的渐进过程。
⚠️ 注意:下面的描述会比较简略,因为这正是这个系列的核心所在,以 OM 为代表的编辑距离分析很重要,但这类方法的世界也很精彩。所以,本系列的接下来的教程里,主要就会给大家仔细讲讲这些距离对比算法。在这里,我们仅仅先给大家上个开胃菜。
0. 状态分布距离的起点:欧几里得距离#
在社会轨迹分析中,我们最常见的起点,就是把一段复杂的轨迹简化成一个状态的“分布向量”。
什么是状态分布向量?#
举个例子,假设我们观察某人的人生轨迹,记录了他每年处于的状态(如就业、失业、照顾家庭等),共观察了 10 年:
年份 | 状态 |
---|---|
第1年 | 就业 |
第2年 | 就业 |
第3年 | 失业 |
第4年 | 就业 |
第5年 | 失业 |
第6年 | 失业 |
第7年 | 就业 |
第8年 | 照顾家庭 |
第9年 | 就业 |
第10年 | 就业 |
我们可以把这条轨迹“压缩”为这样一个分布向量:
就业:60%(6年),失业:30%(3年),照顾家庭:10%(1年)
即向量:[0.6, 0.3, 0.1]
这就像是把一个时间序列转化成了一个频率统计图。
然后我们怎么比较两个轨迹?#
如果我们有两个人的分布向量,比如:
- 人 A 的向量是
[0.6, 0.3, 0.1]
- 人 B 的向量是
[0.3, 0.6, 0.1]
我们可以用欧几里得距离(Euclidean distance)来计算它们的差异程度:
这个数值越小,代表两个轨迹越相似;越大,代表越不同。
优点 | 说明 |
---|---|
直观 | 就是“空间上两个点之间的距离”,容易理解 |
计算快 | 适合大规模数据分析 |
易于可视化 | 可以用于二维/三维图中对轨迹聚类 |
与聚类算法兼容性好 | 可直接应用于 k-means 等算法中 |
⚠️ 欧几里得距离的关键问题:一视同仁、不识语义、不顾时间#
虽然欧几里得距离有如上所述的诸多优点,但在社会科学分析语境中,它实际上隐藏了三种重要的结构性信息缺失:
也就是说,它打破了时间结构,把“同一个状态”在不同时间的位置合并为一个比例。因此,轨迹的顺序性、阶段性、时间语义都很大程度上丢失了。
(1) 所有状态被当作“等价维度”#
欧几里得距离将“就业”、“失业”、“照顾家庭”等状态视为完全平行、不可比的维度(就像 x、y、z 轴),彼此之间没有任何社会结构含义:
- “就业”和“照顾家庭”可能不是相互替代,而是角色转换;
- “就业”和“失业”之间有制度障碍、社会污名、心理影响等结构性差异,并不能简单视作一个坐标差值。
结果:社会意义被简化为纯几何距离。
(2) 无法识别状态的“重要性”或“稀有性”#
欧几里得距离不管状态出现的社会背景或罕见程度,一律按频率来衡量。
举个例子:
- A 的轨迹中 90% 是“无国籍拘留”(极端少见状态);
- B 的轨迹中 90% 是“照顾家庭”(相对常见);
它们在欧几里得意义上可能非常接近,但社会意义上是天壤之别。 社会科学在意的是“结构性例外”或“边缘化路径”,而不是只看“比例近似”。
(3) 忽略时间顺序和阶段位置#
欧几里得距离基于总时长的分布,把整个轨迹压缩为一个状态频率向量。例如:
人物 | 状态向量(就业/失业/照顾家庭) |
---|---|
A | [0.5, 0.3, 0.2] |
B | [0.5, 0.3, 0.2] |
这两个向量看起来一模一样,但:
- A:前半生就业 → 后半生失业
- B:前半生失业 → 后半生就业
在社会意义上,这两种轨迹可能具有完全不同的含义:
- 一个是逐步“脱轨”;
- 一个是“逆境反弹”。
而欧几里得距离对此没有相应的感知能力。
也就是说:顺序性、转折性、阶段性这些在社会路径中极其重要的东西,欧几里得距离全部忽略。
局限类别 | 描述 | 影响 |
---|---|---|
(1) 不太识语义 | 把所有状态当作无关联维度 | 无法表达状态之间的社会距离 |
(2) 不太顾及稀有性 | 无视状态出现的结构重要性 | 无法识别边缘/少数群体路径 |
(3) 比较忽略顺序 | 将轨迹压缩成“平均分布” | 丢失阶段、转折、发展逻辑 |
欧几里得距离虽然可以作为状态分布型距离的起点,但在分析真实社会路径时,它只能捕捉“多少”,却无法回答“是什么”或“怎么发展而来”。
因此,要想让现实世界中应用算法,需要考虑的内容非常多,尤其是解释性、帮助我们理解很多内在的机制非常重要。
那为什么说它是“第一代”方法?
尽管有上述问题,状态分布 + 欧几里得距离作为最早的轨迹比较方法仍具有重要历史意义,因为:
- 它提出了“轨迹 ≈ 状态频率向量”的简化思路;
- 提供了一种快速初步评估序列差异的手段;
- 为后续带权距离、稀有状态加权、社会意义距离等方法,提供了一个可对比的基准。
就像最早的照片是黑白的,虽然不够丰富,但它确实是可视化的开始。
可能有的一些问题 | 回答 |
---|---|
欧几里得距离在序列分析中怎么用? | 把每个轨迹转化为状态频率向量,然后计算向量之间的距离 |
它有啥优点? | 快速、直观、兼容聚类分析,适合初步探索 |
它的缺点是啥? | 忽略状态的语义和稀有性,把所有状态都“平等”看待 |
后面为什么要扩展? | 因为社会状态不只是符号,而是有结构、有含义的角色 |
1. 卡方距离与状态分布分析#
- 在欧几里得距离的基础上(具体是怎么拓展的,详见之后的教程),Deville & Saporta (1983) 提出了 χ²-distance,引入了稀有状态的加权机制:
- 在社会科学中,这种加权被解释为:如果一个人在“少见状态”上花了很多时间,那这种轨迹差异应被放大
- 例如:女性在军旅生涯、男性在照顾家庭等状态的差异,这些虽然在统计上小,但社会含义比较显著
- 这一方法由社会学和统计学家 Studer & Ritschard (2016) 系统化整理,归入distribution-based distances,成为“社会意义距离”时代的重要起点
2. 基于未来的相似性:Functional Distance#
随着对传统编辑距离方法在“社会意义解释”上的不足不断被指出,法国学者 Rousset、Giret 和 Grelet(2012)提出了一种全新的思路:用状态的“未来倾向”来定义它们之间的相似性。
这一方法不再关注状态的字面标签(如“实习”“兼职”),也不强调两个状态在序列中是否可以技术性替换为彼此,而是问:“这些状态之后的轨迹会走向哪里?如果它们带来的后果类似,是否可以认为它们在社会意义上是相似的?”
这就构成了所谓的 功能性距离(Functional Distance),也称为 基于共享未来的状态距离。
Rousset 等人将这一方法应用在对法国青年职业轨迹的研究中,特别是在他们的论文:
Rousset, Giret & Grelet (2012). Typologies de parcours et dynamique longitudinale.
发表在《Bulletin de Méthodologie Sociologique》上。
他们关注的问题是:
- 两个青年人在职业整合阶段(insertion professionnelle)虽然当前状态不同(一个在实习、一个在兼职);
- 但它们都有很高的可能性在未来几个月进入稳定就业;
- 那么这两个状态虽然名字不同,但其功能性后果相近,可以视作社会上“作用类似”的状态。
在这个方法中,状态之间的距离不是通过“直接替换成本”计算的,而是通过它们的未来转移分布来衡量。
具体地,状态 a 和状态 b 之间的距离定义为:
其中:
- 是从状态 转移到状态 的概率;
- 分母 是归一化因子,用于调整不同状态在全局中的转移分布权重。
换句话说,状态之间的距离,是它们“未来指向”的分布差异。
这种方法实际上构建了一种状态的“未来向量”表示,然后用欧几里得距离来衡量两个状态“通向未来的路径”有多相似。
技术结构:像马尔可夫,不等于生物学
这一方法在技术上使用了状态转移概率矩阵,形式上与马尔可夫链(Markov Chains)类似,因此有时也被称作基于马尔可夫预测的状态距离。
不过要注意: 虽然形式上相似,这种方法并非源自生物信息学,而是在社会科学问题背景下设计与应用的。
马尔可夫模型作为一种数学工具,广泛存在于生物、经济、工程、社会等多个领域。在社会科学中,它早已被用于描述职业变动、家庭结构转变、教育路径等状态序列的动态过程。
Rousset 等人的贡献并不在于提出马尔可夫结构,而是将“未来走向”当作衡量状态相似性的基础,强调状态之间的功能性作用,而非标签表面的一致性。
这种方法体现了一种重要的范式转变:
对比维度 | 编辑距离 / OM | Functional Distance(共享未来) |
---|---|---|
相似性基础 | 当前状态是否相等 / 替换成本是否低 | 状态是否通向类似的未来 |
状态的定义方式 | 静态符号(标签) | 动态功能(作用与后果) |
能否识别潜在结构 | ❌ 难以捕捉语义含义 | ✅ 强调“意义相似”而非“名字相同” |
这种基于“功能后果”的思路,尤其适用于下列场景:
- 青年职业轨迹分析
- 社会融合/脱轨路径比较
- 异质路径中识别“潜在趋同性”
3. SVRspell(Subsequence Vector Representation)#
- Elzinga & Studer (2015) 提出一种新的匹配方式:
- 子序列之间的匹配数量
- 匹配时考虑 spell 的持续时间和“含义权重”
这是从“最小变换成本”向“最大共享叙事”的转变。
4. Gower 距离用于状态相似性#
- Hollister (2009) 提出:状态本身有多维属性(比如工作状态有薪资、稳定性、职业等级等)
- 这些属性可以组合成一个向量,状态之间的“距离”基于这些“社会属性”的相似性来计算
状态不再是符号(如 A、B、C),而是有社会维度的实体。
五、一种范式转换:从“符号”到“意义”#
路径类型 | 旧范式 | 新范式(侧重于社会意义) |
---|---|---|
状态之间的关系 | 视作离散符号(如 A ≠ B) | 状态有属性、位置、社会后果 |
距离的意义 | 编辑成本 | 社会距离、结构距离、分布差异 |
相似性的标准 | 最小操作数 | 共享命运、共享含义、共享功能 |
方法典范 | OM、LCS、Hamming | χ²-distance、SVRspell、Gower、功能性距离 |
参考文献#
作者与年份 | 标题 | 内容摘要 |
---|---|---|
Deville & Saporta (1983) | Correspondence Analysis, with an Extension towards Nominal Time Series | 研究分类变量随时间的演化,如何将不同时间点的状态分布进行对应分析;奠定了卡方距离适用于分类分布的数学基础 |
Abbott (1990) | A Primer on Sequence Methods | 提出将序列视作“叙事”分析单位 |
Abbott (1992) | From Causes to Events: Narrative Positivism | 方法论基础转向,强调事件而非变量 |
Hollister (2009) | Is Optimal Matching Suboptimal? | 批评 OM 缺乏社会语境与含义解释力 |
Rousset et al. (2012) | Shared Future-Based Distance | 提出共享未来的状态距离定义,关注状态的社会功能后果 |
Elzinga & Studer (2015) | Spell Sequences, State Proximities, and Distance Metrics | 提出 SVRspell 方法,强调子序列的匹配与 spell 权重 |
Studer & Ritschard (2016) | What Matters in Differences Between Life Trajectories | 系统分类序列距离方法,明确区分结构型与社会意义型度量框架 |
总结:这个社会科学的范式转向带来了什么?#
1. 更具“解释力”的分析工具#
传统的序列距离(如 Optimal Matching)强调结构相似性,却难以解释“为什么两条轨迹不同是有社会意义的”。范式转向后的方法(如卡方距离、SVRspell、共享未来距离等),引入了状态的重要性、罕见性、未来功能等社会变量,使得分析不再只是技术比较,而能反映个体经历所蕴含的社会结构差异。
2. 更贴近社会研究的“现象结构”逻辑#
现实中的人生轨迹不仅仅是某些状态的排列组合,它们往往反映制度性阶段、社会转折点、机会不均等。新方法(如 Gower 距离或基于状态属性的距离)能够纳入状态的社会语义、角色属性与时空语境,使轨迹分析更好地契合社会学关于“历程结构性”(structured process)的理解方式。
3. 更敏感地识别非典型路径与边缘经验#
在传统方法中,少数群体或罕见轨迹(如丧偶再婚、父职中断、女性军旅)常被归为“异常”或被稀释掉。而“社会意义距离”强调稀有性并非误差,而是可能揭示社会机制的关键点,例如边缘群体如何偏离主流路径、制度如何限制某些过渡。这种方法更能服务于多样性与不平等的研究目标。
4. 推动序列/轨迹分析与其他领域的跨学科融合#
随着卡方、Dirichlet、共享未来等方法的引入,轨迹分析逐步连接上多个学科:
- 与统计学/机器学习接轨:借助分布建模、聚类优化、贝叶斯推断等技术
- 与复杂系统科学接轨:关注路径依赖、临界转折、轨迹演化机制
- 与计算社会科学接轨:发展大规模轨迹数据的自动化分类与解释方法
这些融合不仅拓展了方法边界,也使社会科学研究更具前瞻性与实证能力。
总而言之,这个范式转向不仅是方法层面的更新,更是一个社会解释逻辑的升级,即从“看得出不同”到“说得出为什么不同重要”。