参与了一个cluster+visualization的工作。
今天开始读论文,记录idea。
ST-OD Traj Cluster visualization
dataset
现有的数据集:起讫的 经度/纬度/时间
调研
可能用到的都塞进来吧!
- 事件驱动窗口:程序执行由事件出发而非线性执行。
- DBSCAN
- R树
- 二维显示的滑动窗口?
- 矩阵编码(多维语义)?
- LDA主题模型
- 桑基图:能量守恒->颜色编码守恒?
- 三视图:
- 矩阵视图
- 流图视图
- 地理视图
- 解决视觉交叉混乱
- 方向-距离聚合
- 时间序列数据可视化
- M4:面向可视化的时间序列数据聚合
- Time Series Representation for Visualization in Apache IoTDB
一种逐级合并 OD 流向时空联合聚类算法
- 空间相似度度量:
找到一个$dis_limit$,使得一条轨迹的起/止点以它为半径,另一条轨迹的起/止点都包含在内。
因为极端情况下可能出错,所以定义流向之间的空间相似性过程中,提出了流向长度不小于搜索半径的 2/sin 45°(≈2.83)倍,这保证了 2 条位置相邻的 OD 流向之间的夹角小于 45°。
- 时间相似度度量
给出一个$time_limit$,使得两个轨迹起始时间oTime和结束事件dtime间隔小于时间约束。
两种拼凑起来得到一个公式。
- 逐级合并
类簇间高相似度:即 2 流向类簇之间两两呈现高度相似的流向组合个数占所有组合的比值。超参数:相似度,轨迹和类簇都设置一组。
大概这样。水水的。
An OD Flow Clustering Method Based on Vector Constraints
bg:
两种主要用于OD的聚类方法:1)层次(hierarchical)聚类,2)密度聚类(density)
challenge:
high-dimensional,距离定义(欧氏距离?形态距离?)。
受尺度差异和局部密度干扰。
insight:
- 双指标融合+动态自适应:
将SSE的全局趋势分析与轮廓系数的局部质量评估结合,突破传统肘部法的主观性限制。
通过PIP算法压缩数据并定位拐点,结合轮廓系数动态修正,实现K值的鲁棒提取。
(:有点炒冷饭)
两步分层聚类(ODFCVC)
空间聚类(Space Division)
- 输入:OD流事件点(Event Points)——将OD流映射为二维空间中的代表性点(如通过O/D点均值或其他聚合方式)。
- 目标:按空间邻近性划分簇群,保证簇内OD流空间位置紧密。
- 算法:基于K-means,使用SSEPIP自动确定最优空间簇数KS。
向量聚类(Vector Clustering)
- 输入:OD流向量(Flow Vectors)——以方向与长度描述流动几何特征(如向量坐标为(XD−XO,YD−YO))。
- 目标:在每个空间簇内,基于调整余弦相似度(Adjusted Cosine Similarity)进一步划分几何相似的子簇。
- 算法:并行K-means,各空间簇独立计算最优向量簇数KV。
好处是维度解耦(空间和几何分离,向量坐标系的统一),效率,鲁棒性……
IEEE smartworld:Clustering Large-Scale Origin-Destination Pairs
粗粒度聚类——>细粒度谱聚类——>文本语义挖掘聚类。
- 粗粒度
大概就是这个算法。
- 细粒度
相似图构建
基于同一粗聚类中的OD对构建ε邻域加权图,节点为OD对
边存在条件:OD相似度(ODS) > ε,权重为ODS值
ODS = α时间相似度 + β空间相似度(α+β=1)相似度计算
时间相似度(TS):使用高斯核函数公式:TS(x,y) = exp(-|x.O.t - y.O.t|²/(2ρ²)),ρ=18分钟
时间差<18分钟时TS>0.6,>60分钟趋近0
空间相似度(SS):双Logit函数组合
公式:SS = 0.5*[Logit(起点距离) + Logit(终点距离)]
Logit函数参数:π=2.0,τ=2.0,距离>4.5时趋近0
实际道路网络距离计算(地图匹配+Dijkstra算法)
谱聚类流程
(1) 构造相似矩阵S∈ℝⁿˣⁿ,元素sᵢⱼ=ODS(i,j)
(2) 计算拉普拉斯矩阵L=D-S(D为度矩阵)
(3) 求解归一化拉普拉斯矩阵D^{-1/2}LD^{-1/2}的前g个最小特征值对应特征向量
(4) 构建特征向量矩阵F并进行行归一化
(5) 对F的行向量执行k-means聚类,获得最终k个细粒度簇
- 语义挖掘
- POI特征提取:收集聚类内所有OD对的起点/终点周边POI信息,通过分词构建”POI文档”
- TF-IDF向量化:构建文档-词项矩阵(Vm×k),量化POI关键词的重要性
- 约束非负矩阵分解(CNMF):将矩阵分解为词项-主题矩阵(W)和主题-文档矩阵(H),揭示潜在语义主题
- 语义描述生成:选取主题矩阵中权重最高的15个POI关键词,形成聚类的语义标签
很公式。
M4
- insight:
基于聚合的时间序列降维,高数据缩减率,无错误的可视化。
主要考虑折线图的线光栅化。
可视化驱动的query重写系统。
query重写
query定义:从可视化客户端开始。用户使用的最多的是time和value的查询。但实际上,只要结果是一个可用的时间序列关系,客户端就能任意定义查询。
时间序列数据模型:当作二元组*T(t,v)*,其中t是时间戳,v是值。其他多元组表示方法都能拆成这样。
可视化参数:客户端使用几何变换将t,v投影到可视化坐标系。假设所选投影(图表域)与画布域完全匹配,不会额外缩放。
查询重写:原查询Q,可视化参数(宽w高h)。重写为QR,包含:Q原始查询,QC(对Q结果集执行行计数,与阈值比较判断是否缩减。),缩减=?(面向可视化聚合PAA(可能失真)等)。
可视化形式
大多数(柱状图,饼图)在大数据场景下效率不足(单个元素占据过多空间)。
有效的方法:
- 折线图(line chart):连续线段连接数据点,每个点只需要少量像素
- 散点图(scatter plot):离散点标记数据位置
上面两者仅逊色于空间填充可视化,但折线图更广泛适用。
- 数据缩减策略与可视化缩减逻辑?
散点图和可视化:需要对时间序列二维分组,最终可能要选w*h组。
折线图:双色折线图保真只需要最多4w(w为宽度)。
数据缩减
- M4聚合:每列保留最小值+最大值+首时间戳+末时间戳 元组。可以保证无误差可视化。
SIGMOD2024:Time Series Representation for Visualization in Apache IoTDB
思考
- 参数:交互性,人为调整聚类超参数。地图缩放对应的聚类中,空间阈值参数。
- 缩放过程的聚类成本复用。
创新点:
时空OD本身:
算法加速
缩放
索引可视化
光栅化
发散……
- 多维语义复用?