M6.1 兩個城市的人口分佈差多少:W₂ 距離
兩張人口地圖
你手上有兩張同一個地區的人口密度圖:一張是 1990 年的,一張是 2020 年的。三十年間人口從老城區往東邊的新開發區移了一大塊。你想用一個數字說出「這三十年人口分佈變了多少」。
第一個想到的量是 M5.1 的 KL:逐點比兩張圖的密度。但你馬上碰到一個奇怪的現象:新開發區在 1990 年是農地、密度為零, 在那裡是 。KL 說「差無限多」。更糟的是,如果新開發區在隔壁(搬了一公里)或在另一個縣(搬了一百公里),只要 1990 年那裡都是零,KL 都說無限大——它看不出搬了多遠。
若我們在意的是人口搬移的尺度,只逐點比較密度就不夠。能不能把距離也放進定義,問「把這張地圖搬成另一張,至少需要搬多遠」? 上一篇的 coupling 正好記錄了哪裡的質量搬到哪裡。
課堂提問Q1
翻成數學。逐點比較的量(KL、)為什麼看不見「搬多遠」?要看見它,「差多少」的定義裡必須包含什麼?
先想一想,再展開看整理後的答案
課堂上會發現:KL、total variation 、以及所有形如 的量,都是在每一個位置 分別比 與 、然後加起來。它們從不把位置 的密度和位置 的密度放在一起比。所以「這裡少了一塊、那裡多了一塊」在它們眼裡只是「這裡有差、那裡有差」——兩塊之間的距離 根本沒出現在公式裡。
要看見「搬多遠」,定義裡就得有 ,也就是得有「哪裡的人搬到哪裡」——這正是 M6.0 的 coupling 。給一個 coupling,「平均搬家距離的平方」是 ;不同的 coupling 給不同的數,取最省的那個:
這就是 Kantorovich 問題取成本 再開根號。它叫 2-Wasserstein 距離。讀法:把 搬成 ,最省的搬法下,平均要搬多遠(均方根)。
兩堆沙
把 想成一堆沙、 想成另一堆同重量的沙。KL 拿一把篩子在每個位置比兩堆沙的高度,只要有一堆在某處是零就爆掉。 拿一台推土機:問「把左邊那堆推成右邊那堆的形狀,推土機平均要跑多遠」。
兩堆沙相隔一公里,推土機平均跑一公里;相隔一百公里,跑一百公里—— 隨距離變大,正是起點問題要的性質。兩堆沙完全不重疊也沒關係,推土機還是有得推—— 對不重疊的分佈是有限的。兩堆沙形狀相同、只是位置平移了 :每一粒沙都搬 ,—— 對平移的反應就是平移的距離。
圖:逐點距離在支撐錯開後容易飽和;W₂ 仍會反映質量實際要搬多遠。
對什麼敏感、對什麼不敏感
定義(重述)。 對 上有二階動差的機率分佈 ,
(換成 開 次方就是 ;本系列只用 。)
性質一:任何一個 coupling 給上界。 這是定義裡「」的直接後果,卻是實務上最常用的一句話:
你不需要找到最佳搬法才能說「 不超過多少」——隨便找一個合法的搬法,算它的平均平方距離,就是一個上界。最常用的兩個 coupling:獨立 coupling 給 ;任何一個把 推成 的映射 給 。第二個特別有用:如果你手上有一個「從 抽樣、經過某個程序、得到 的樣本」的機制,那個程序本身就是一個 coupling,它的平均位移平方就是 的上界。
性質二:它是真正的距離。 、等於零 ⟺ (最佳 coupling 只能是 )、對稱( 與 只差交換座標)、三角不等式 (把兩個最佳 coupling「接起來」——gluing——再用 的三角不等式;展開框有細節)。KL 三者只滿足第一項。
性質三:對平移與縮放的反應是精確的。 若 是 平移 ,(這裡的 是平移向量;維度那個字母 留給 )。若 、,有 closed form:
一維時就是 ——均值差的平方加標準差差的平方。這條式子讓 的兩個成分分開看:一項量「位置差多少」、一項量「散佈差多少」。
展開細節三角不等式的證明骨架(gluing),與 W₂ 對弱收斂的意義
設 π₁₂ 是 μ,ν 的最佳 coupling、π₂₃ 是 ν,ρ 的最佳 coupling。「黏合引理」(gluing lemma)說可以造一個三變數的聯合分佈 (X,Y,Z),使 (X,Y) ∼ π₁₂、(Y,Z) ∼ π₂₃(把兩張表沿共用的 ν 那一邊黏起來;離散時就是 π_{ijk} = π₁₂(i,j)π₂₃(j,k)/ν(j))。那麼 (X,Z) 是 μ,ρ 的一個 coupling,所以 W₂(μ,ρ) ≤ ‖X−Z‖{L²} ≤ ‖X−Y‖{L²} + ‖Y−Z‖_{L²} = W₂(μ,ν) + W₂(ν,ρ)。 第一個 ≤ 是性質一(任何 coupling 給上界),第二個是 L² 的 Minkowski 不等式。
在固定有界區域上, 等價於 weak convergence。要給特定統計量的定量誤差,還需要它的條件:若 是 -Lipschitz,則 。
KL 控制 也需要參考分布的條件。對標準 Gaussian ,Talagrand 不等式是 ;對曲率下界為 的 strongly log-concave 參考分布,常數相應為 。不能對任意 log-concave 分布直接使用常數 2 [1]。
直覺對了,而且能算
回答起點問題。「人口分佈變了多少」應該跟「平均搬多遠」有關——對,而且 正是那個數:把 1990 年的分佈最省地搬成 2020 年的分佈,平均要搬多遠。新開發區在隔壁與在另一個縣, 差一百倍;KL 兩者都是無限大。
它同時說出兩件事。第一,逐點比較的量在「差異是位置」時失效——不是算錯,是它們的定義裡沒有位置。第二,你不必真的解出最佳搬法就能報數字:任何一個合理的搬法(例如把每個里的人口按地理上最近的新里對應過去)算出來的平均位移,就是 的一個上界;若你另外知道一個下界(例如兩個分佈的均值差——性質三說 ),數字就被夾在一個區間裡。
這個距離使用了位置的幾何:形狀改變,也要透過重新分配質量來計算成本。KL 則比較密度比值,兩者不是同一種差距。本篇把 當成有限距離使用時,要求兩端二階動差有限;若不滿足而考慮 ,也仍需另外檢查一階動差,不能把它當成所有厚尾問題的解法。
兩個 Gaussian 跑一次,再用一個爛 coupling 算上界
import numpy as np
from scipy.optimize import linprog
rng = np.random.default_rng(0)
# 一維兩個 Gaussian:closed form W₂² = (m1−m2)² + (σ1−σ2)²
m1, s1, m2, s2 = 0.0, 1.0, 3.0, 2.0
print(np.sqrt((m1 - m2)**2 + (s1 - s2)**2)) # 3.162
# 用樣本 + LP 驗證:各抽 60 點、等權,解 assignment(Kantorovich 的離散版)
x = np.sort(rng.normal(m1, s1, 60)); y = np.sort(rng.normal(m2, s2, 60))
C = (x[:, None] - y[None, :])**2
A = np.zeros((120, 3600))
for i in range(60): A[i, i*60:(i+1)*60] = 1 # 列和
for j in range(60): A[60 + j, j::60] = 1 # 欄和
res = linprog(C.ravel(), A_eq=A, b_eq=np.ones(120) / 60, bounds=(0, None))
print(np.sqrt(res.fun)) # ≈ 3.30(60 個樣本的抽樣誤差)
# 任何 coupling 給上界:獨立 coupling(隨機亂配)與「排序後一對一」
print(np.sqrt(C.mean())) # 獨立 coupling:≈ 3.80,是上界
print(np.sqrt(np.mean((x - y)**2))) # 排序配對:≈ 3.30,與 LP 完全相同(一維的最佳解)
# KL 看不見距離:把 m2 從 3 改成 30,W₂ 變成 30.02,而兩團不重疊的樣本估出來的 KL 都是「無限大」
解析 Gaussian 距離是 ;有限樣本的 LP 與排序配對給出同一個 empirical ,但不必等於 population 值。獨立 coupling 的成本是這兩份 empirical distributions 的上界,不是自動成為 population 的上界。若直接把不重疊的有限樣本當成原子分布,KL 會無限大;若改用 Gaussian 或其他平滑密度估計,KL 則可能有限,不能混為一談。
互動 demo:移動與縮放分佈並切換 coupling,比較三個距離與搬運上界。
檢查理解
參考文獻
- Villani, C. Optimal Transport: Old and New. Springer, 2009.(第 6 章:Wasserstein 距離的定義、距離公理、gluing lemma、與弱收斂的關係;第 22 章:Talagrand 不等式。)
- Peyré, G., Cuturi, M. Computational Optimal Transport. Foundations and Trends in Machine Learning 11(5–6), 2019.(第 2.4 節:Wasserstein 距離;第 2.6 節:Gaussian 之間的 closed form。)
- Santambrogio, F. Optimal Transport for Applied Mathematicians. Birkhäuser, 2015.(第 5 章:Wasserstein 空間的性質。)
- Ambrosio, L., Gigli, N., Savaré, G. Gradient Flows in Metric Spaces and in the Space of Probability Measures. Birkhäuser, 2nd ed., 2008.(第 7 章: 的度量結構。)