Якщо розглядати переваги метрики Вассерстейна порівняно з розбіжністю KL, то найбільш очевидним є те, що W є метрикою, тоді як KL розбіжність не є, оскільки KL не симетричний (тобто взагалі) і не задовольняє нерівності трикутника (тобто взагалі не виконується).D K L ( R | | P ) ≤ D K L ( Q | | P ) + D K L ( R | | Q )DKL(P||Q)≠DKL(Q||P)DKL(R||P)≤DKL(Q||P)+DKL(R||Q)
Що стосується практичної різниці, то одним із найважливіших є те, що на відміну від KL (та багатьох інших заходів) Вассерштейн враховує метричний простір, і що це означає у менш абстрактних умовах, можливо, найкраще пояснюється прикладом (не соромтеся пропускати до рисунка, код тільки для його створення):
# define samples this way as scipy.stats.wasserstein_distance can't take probability distributions directly
sampP = [1,1,1,1,1,1,2,3,4,5]
sampQ = [1,2,3,4,5,5,5,5,5,5]
# and for scipy.stats.entropy (gives KL divergence here) we want distributions
P = np.unique(sampP, return_counts=True)[1] / len(sampP)
Q = np.unique(sampQ, return_counts=True)[1] / len(sampQ)
# compare to this sample / distribution:
sampQ2 = [1,2,2,2,2,2,2,3,4,5]
Q2 = np.unique(sampQ2, return_counts=True)[1] / len(sampQ2)
fig = plt.figure(figsize=(10,7))
fig.subplots_adjust(wspace=0.5)
plt.subplot(2,2,1)
plt.bar(np.arange(len(P)), P, color='r')
plt.xticks(np.arange(len(P)), np.arange(1,5), fontsize=0)
plt.subplot(2,2,3)
plt.bar(np.arange(len(Q)), Q, color='b')
plt.xticks(np.arange(len(Q)), np.arange(1,5))
plt.title("Wasserstein distance {:.4}\nKL divergence {:.4}".format(
scipy.stats.wasserstein_distance(sampP, sampQ), scipy.stats.entropy(P, Q)), fontsize=10)
plt.subplot(2,2,2)
plt.bar(np.arange(len(P)), P, color='r')
plt.xticks(np.arange(len(P)), np.arange(1,5), fontsize=0)
plt.subplot(2,2,4)
plt.bar(np.arange(len(Q2)), Q2, color='b')
plt.xticks(np.arange(len(Q2)), np.arange(1,5))
plt.title("Wasserstein distance {:.4}\nKL divergence {:.4}".format(
scipy.stats.wasserstein_distance(sampP, sampQ2), scipy.stats.entropy(P, Q2)), fontsize=10)
plt.show()
Тут заходи між розподілом червоного та синього кольорів однакові для розбіжності KL, тоді як відстань Вассерстейна вимірює роботу, необхідну для перенесення маси ймовірності з червоного стану в синій стан, використовуючи вісь x як "дорогу". Цей показник, очевидно, тим більший, чим далі знаходиться ймовірнісна маса (отже, відстань псевдоніма Землі). Отже, який саме ви хочете використовувати, залежить від вашої області застосування та що ви хочете виміряти. Зауважимо, замість розбіжності KL є також інші варіанти, як відстань Дженсена-Шеннона, які є належними показниками.