A time resolved clustering method revealing longterm structures and their short-term internal dynamics
一种揭示长期结构及其短期内动力学的时间分辨聚类方法
arxiv2019
源码:
https://github.com/t4d-gmbh/MajorTrack/tree/master
https://github.com/j-i-l/pyAlluv/tree/master
挑战:跨时间识别模式
贡献:检测动态集群的新方法
优势:
“数据聚类问题”——聚类可以应用于非关系数据和关系数据(图)
时间数据:每个数据源可能对数据集贡献几个数据点,每个数据点都有不同的时间戳。——这种时间信息可以描绘系统的演变
典型的时间类型关系数据:社交媒体、移动订阅网络、共同作者关系
两类名称:
常用分析方法:
时间数据表现为一系列快照(snapshot)的形式,对于关系型数据,叫做时间窗口图(time-window graphs)
——在单个快照中,单个数据源最多表现为与单个数据点,若有多个点,则采用聚合的形式表达。
优点:可以使用传统聚类分析方法
缺点:在聚合窗口中丢失有关数据源的所有时间信息
对时间快照的处理:
适应快照表示(如创建联合图)或 使用静态聚类的度量,或两者兼顾——
常见方案:定义规则来组合一系列静态聚类:自组织进化聚类(Ad hoc evolutionary clustering)——选用任意静态算法,更通用
定义:
动态集群(dynamic clusters DCs):可能在几个快照上持续存在的集群(理想情况下是先验定义的)
方法:提出了一种特殊进化聚类方法来检测时间数据中的 DC
下文:剖析 DC 的生命周期事件、指定了一组明确定义了健壮 DC的属性
DC 由一组数据源组成。我们将这些数据源称为 DC 的成员
六个基本事件:出生、死亡、生长、收缩、分裂和合并
需要一组明确定义的规则来稳健地将观察到的模式与这些生命周期事件联系起来。
上半部分:动态集群演化,封闭的节点集对应于集群,颜色表示相关的 DC。虚线是随着时间的推移跟踪当前 DC 的视觉指南。
下半部分:冲击图(Alluvial diagram),每个块对应一个集群。块的高度代表簇的大小,宽度没有特定的含义。块之间的流说明了数据源如何在时间点之间重新分配。流入和流出的块高度对应于加入和删除的数据源数量。
简单直观的原则:基于多数的关联——集群成员的最大分数是过去或未来的其他一些点
方法:使用基于双射多数的关系——来自相邻时间点的集群彼此的最大成员比例相互保持,作为识别 DC 的第一个标准。
倾向于将 DC 识别为在几个连续的时间点上作为相关集群出现的数据源集
许多真正的系统容易产生不连续但持久的结构。
使用术语同质不连续性(homogeneous discontinuities)来描述 DC 短暂分解为子单元的情况,例:社会系统中的裂变融合模式
具有同质不连续性的两个基本模式:分裂(splintering)和转变(transitioning)
——两个事件都必须是短暂的(根据具体情况定义时间尺度),否则初始 DC 不能被认为持续存在。
下图说明了时间尺度限制中的两个极端选择如何影响 DC 的检测
定义一个动态集群的特征组:
渐进式检测算法:
——算法在观察时的状态使用橙色箭头框表示,并由时间索引 i 指定。
定义的特征如下所示:
从不同时间点识别集群的大多数公共部分将确定 DC 的机械定义。
从连续的快照中评估两个集群的相似性:
使用共享成员的比例,只考虑驻留成员
将两个簇的交集大小分别除以另一个簇的数量——不受成员周转影响的相似性度量
可以看作众所周知的指标:Jaccard系数的非对称变化
f
i
m
(
g
i
?
1
,
α
,
g
i
,
β
)
=
∣
g
i
?
1
,
α
∩
g
i
,
β
∣
∣
g
i
?
1
,
α
∪
g
i
,
β
∣
f
i
m
→
(
g
i
?
1
,
α
,
g
i
,
β
)
=
∣
g
i
?
1
,
α
∩
g
i
,
β
∣
∣
g
i
?
1
,
α
∣
f
i
m
←
(
g
i
?
1
,
α
,
g
i
,
β
)
=
∣
g
i
?
1
,
α
∩
g
i
,
β
∣
∣
g
i
,
β
∣
,
\begin{aligned}fim\left(g_{i-1, \alpha}, g_{i, \beta}\right) & =\frac{\left|g_{i-1, \alpha} \cap g_{i, \beta}\right|}{\left|g_{i-1, \alpha} \cup g_{i, \beta}\right|} \\fim_{\rightarrow}\left(g_{i-1, \alpha}, g_{i, \beta}\right) & =\frac{\left|g_{i-1, \alpha} \cap g_{i, \beta}\right|}{\left|g_{i-1, \alpha}\right|} \\fim_{\leftarrow}\left(g_{i-1, \alpha}, g_{i, \beta}\right) & =\frac{\left|g_{i-1, \alpha} \cap g_{i, \beta}\right|}{\left|g_{i, \beta}\right|},\end{aligned}
fim(gi?1,α?,gi,β?)fim→?(gi?1,α?,gi,β?)fim←?(gi?1,α?,gi,β?)?=∣gi?1,α?∪gi,β?∣∣gi?1,α?∩gi,β?∣?=∣gi?1,α?∣∣gi?1,α?∩gi,β?∣?=∣gi,β?∣∣gi?1,α?∩gi,β?∣?,?
确定相邻快照中最相似的集群:使用双射多数匹配,即集群是其自身映射集群的跟踪集群,作为将连续快照中的两个集群相互关联并最终关联到同一个 DC 的条件。
——后面的集群可以追溯多个历史集群,所以在识别双射多数匹配时考虑集群集合。
集群总是至少与自身形成双射多数匹配,如果集群与早期快照中的集群集形成双射多数匹配,我们将集群与最早的源集(source set)的 DC 相关联。
目标集群的身份流(identity flow):跟踪路径和映射路径中的所有集群的组合可以看作是 DC 的身份随时间传播的簇集序列
如下图所示,跨越两个以上的快照的身份流可以包含集群集序列,些嵌入序列必然短于识别流的最大长度,并满足我们的瞬态齐次不连续条件。因此,我们将属于嵌入序列的簇识别为嵌入 DC 的边缘部分。
DC集群关联(考虑3步历史信息)——算法过程的可视化说明
橙色框是 ti+1 处的目标集群,它将与 ti-1 处集群源集的 DC 相关联(紫色部分)
给定历史参数,源集被定义为双射匹配的最早候选集(0)
以橙色突出显示的通量显示了目标集群的跟踪流
紫色突出显示的通量描述了来自源集的映射流——这些通量称为恒等流
蓝色着色的通量指定跟踪或映射路径,这些路径专门连接到来自身份流的集群——这些通量对 DC 的身份传播没有贡献,因此称为边际流
DC 定义为一组簇满足以下条件之一:
聚类源集的识别以双射多数匹配的最大长度为条件,该匹配必须通过方法的参数化先验确定。
遍历快照序列,从最早的时间点开始,为当前快照中的每个集群执行两个不同的任务:
设置参数来确定该过程如何及时确定目标集群的源集。
——该参数可以被认为是该方法的历史视界,必须以时间步数给出。此后,我们将该方法的特定配置称为 x 步历史(x-step history),其中 x 指定算法在时间上回溯的快照数量。
附录 表1 算法详细步骤
在时间序列 t0 开始时,所有当前集群都与新创建的表示不同集群的 DC 相关联。
质量评估的一个更客观的方法是探索时间点成员的自相关:
C
(
i
)
=
∣
c
i
∩
c
i
+
1
∣
∣
c
i
∪
c
i
+
1
∣
C(i)=\frac{\left|c_i \cap c_{i+1}\right|}{\left|c_i \cup c_{i+1}\right|}
C(i)=∣ci?∪ci+1?∣∣ci?∩ci+1?∣?
其中ci和ci+1分别是 c 在时间点i,i + 1在DC中的成员集合,|x|表示集合x的基数。
——也称为 Jaccard 指数,表示当前所有成员中相同成员的比例
我们将动态聚类的总一致性定义为平均自相关:
C
t
o
t
=
∑
c
∈
D
C
∑
i
=
0
n
?
1
∣
c
i
∩
c
i
+
1
∣
c
i
∪
c
i
+
1
∣
∣
∑
c
∈
D
C
∣
c
∣
?
∣
D
C
∣
C_{t o t}=\frac{\sum_{\mathbf{c} \in \mathbf{D C}} \sum_{i=0}^{n-1} \frac{\left|c_i \cap c_{i+1}\right|}{c_i \cup c_{i+1} \mid} \mid}{\sum_{\mathbf{c} \in \mathbf{D C}}|\mathbf{c}|-|\mathbf{D C}|}
Ctot?=∑c∈DC?∣c∣?∣DC∣∑c∈DC?∑i=0n?1?ci?∪ci+1?∣∣ci?∩ci+1?∣?∣?
其中 n 是快照的总数,DC 是所有动态集群的集合,|c| DC 中存在的快照c的数量。
——此定义不包括创建和销毁事件,因此,它表明了现有结构的整体一致性。
——此处没有指定最大时间步参数,在此情况下该准则最合适。
- 美国参议员对美国整个历史的投票行为——用作测试用例
- 一组自由范围房屋小鼠的接触结构
议员投票:
结果:
野生家鼠的社会网络分析
结果:
提出了一种算法,该算法在一系列时间戳数据的快照中检测动态集群 (DC)。
定义了动态集群的特征,明确如何衡量两个集群更相似。
定义了总一致性度量,不仅允许客观地参数化新方法而且允许定量地比较不同的动态聚类。
允许在较长时间尺度上存在的动态集群中检测瞬态齐次分解。