地理时空三向聚类分析方法的构建与实践
程昌秀, 宋长青, 吴晓静, 沈石, 高培超, 叶思菁

Tri-clustering: Construction and practice of space-time integrated analysis tool
CHENG Changxiu, SONG Changqing, WU Xiaojing, SHEN Shi, GAO Peichao, YE Sijing
表1 三向聚类核心算法的伪代码
Tab. 1 Pseudo-code of tri-clustering
算法:基于信息散度(I-divergence)的立方体平均三向类算法
输入:O0 (数据立方体),k(方向1的聚簇数量),l(方向2的聚簇数量),m(方向3的聚簇数量),
输出:优化后的k×l×m的三向聚类结果
开始:
1. 初始化:基于原始数据O0,方向1~3上分别被随机分为klm个区域(聚簇),该数据体和数据分割方案,记为Oi;
2. 对Oi 各区域内数据求均值,并用均值代替区内各元素,形成该分割方案下聚类结果的概化数据体O?i;
3. 计算信息散度(目标函数):fi=D(Oi||O?i)/*fi表征在该分割方案下的概化后的数据体(O?i)与概化前的数据体(Oi)的接近程度,值越小越接近;即数据子集内元素越相似、而数据子集间元素差异越大*/
4. 开始迭代:
4.1 以Oi数据体及其分割方案为基础,在行或列或高的方向上,按一定规则,逐步尝试将Oi中的数据向量 在所属方向的不同区间移动或交换,形成新的数据体和分割方案,记为Oj;
4.2 对Oj各区域内数据求均值,并用均值代替区内各元素,形成该聚类结果的概化数据体O?j;
4.3 计算信息散度:fj=D(Oj||O?j)
4.4 若fj < fi,则Oi = Oj,fi = fj,并跳转到4、开始下一次迭代;否则,直接跳转到4、开始下一次迭代
5. 结束迭代(直到目标函数收敛)
结束