CO₂ 排放数据集(1800–2022)🌍
在多数已有研究里,序列分析(sequence analysis)常用在个体层面的序列数据上,比如教育、就业或家庭轨迹。但它不只适用于社会或人口学轨迹也完全可以分析国家、组织、技术,甚至生态过程。
这也是我们选用 CO₂ 排放数据集做快速上手示例的原因:它展示了序列分析如何跳出“人生历程”场景,迁移到更广泛的领域。我们希望这个例子既能帮你理解序列分析的核心思路,也能启发你把它用到别的研究方向里。
这个数据集是什么?来源在哪?
这个数据集记录了各国多年的人均 CO₂ 排放量(per capita)。 它来自 Gapminder 的公共数据(public data),汇集了全球各国的 CO₂ 指标。 我们已把原始数据源保存到 Sequenzo 的 GitHub 仓库: Gapminder data
数据集包含:
CO₂ 总排放量(kilotons,千吨)
人均 CO₂ 排放量(metric tons per person,每人公吨)
国家与地区标识(identifiers)
跨越两个世纪的年度记录(annual records)
在本文里,我们重点关注人均排放(per capita emissions),而不是总排放(emissions)。因为它考虑了人口规模,做跨国比较更公平。
我们如何给 CO₂ 数据做分类?
序列分析(sequence analysis)通常处理的是类别型数据(categorical data),而不是原始数值。为此,我们先把连续型数值(continuous values)转换成类别状态(categorical states),做法是按 十分位组(deciles) 为各国各年的人均排放分组。
这些切分(cut points)是基于整个数据集 (所有年份 × 所有国家) 一次性计算出来的,这样能保证跨时间的比较口径一致。
全局十分位 vs 本地十分位(Global vs. Local Deciles)
谈到“十分位(deciles)”,其实有两种算法:
全局十分位(global deciles,本文采用)
把所有国家、所有年份的人均排放拉成一个大样本池。
只计算一次 10 个切点,并把它们应用到每个国家、每个年份。
好处是:类别在全球范围可比(globally comparable)。
例子:
假设第 2 十分位的阈值是 1.2 吨/人。
那么不管是 2015 年的巴基斯坦(Pakistan),还是 1980 年的巴西(Brazil),只要落在 0.8–1.2 之间,都归为“第 2 十分位(2nd decile)”。
本地十分位(local deciles,本文不采用)
在每个年份(或每个地区)分别计算一次十分位。
这意味着每年的切点都会变。
例子:
1960 年,因为整体排放低,第 2 十分位可能是 0.3 吨。
到了 2020 年,全球排放上来了,第 2 十分位可能变成 1.5 吨。
结果就是:同样是 1.0 吨/人,1960 年可能是很高的分位,但到 2020 年却可能是很低的分位。
为什么选全局十分位(Why Global Deciles)?
它让跨时间的比较更靠谱——你可以在同一套全球标尺下观察一个国家是往上走还是往下走。
如果用本地十分位,每年都会“洗牌”:即便一个国家的绝对排放没变,它的类别也可能因为别的国家变了而跟着跳来跳去。
具体步骤(Step-by-Step Process)
把所有国家 × 所有年份的人均 CO₂ 数值汇总到一起。
在 Python 里用
qcut()把这些数值切分为 10 组(deciles)。把每个国家每年的数值映射到对应的十分位组。
把数据整理成宽表(wide format):一行一个国家,后面是一串按时间排的“十分位状态”,也就是国家的序列(sequence)。
这种做法体现的是:每个国家的排放都是相对于全球分布(global distribution)来评估的,从而既能做跨国比较,也能做 纵向(longitudinal) 的序列比较。
说明 在源笔记本里,我们同时实现了五分位(quintiles,5 组)和十分位(deciles,10 组)两种分类。 试下来我们选择了十分位(deciles) 做最终分析,因为它更细,能看出国家之间更微妙的差异。 你也可以在源笔记本里对比两种分组方式,看看不同粒度会如何影响你的解读。
👉 完整的预处理步骤与代码见: Gapminder CO₂ + GDP notebook
示例:巴基斯坦(Pakistan)的 CO₂ 分类
以下是 Pakistan 的分类示意:
| 年份 | 人均 CO₂(metric tons) | 十分位组 |
|---|---|---|
| 2015 | 0.78 | 第 2 十分位 |
| 2016 | 0.85 | 第 2 十分位 |
| 2017 | 0.92 | 第 2 十分位 |
| 2018 | 0.85 | 第 2 十分位 |
| 2019 | 0.85 | 第 2 十分位 |
因为这些年份里,巴基斯坦(Pakistan) 的人均 CO₂ 排放大多处在全球分布的第 10–20% 区间,所以都被分到第 2 十分位。
为什么用十分位而不是五分位?(Deciles vs. Quintiles)
如果用五分位(quintiles,5 组),上面这些年份里的 Pakistan 可能都会被粗略归为“偏低(Low,20–40%)”。 而换成十分位(deciles,10 组)后,粒度更细:我们能看出它具体在第 2 十分位,而不是第 1 或第 3。
这种更细的分辨率,能帮我们区分那些同属“低位”但并不一样低的国家,尤其在需要比较大量序列时,这点很重要。
数据整理与本文撰写:梁彧祺
中文翻译:明煜坤
校对:梁彧祺