针对天气预报集合数据的时间层次聚类和可视化

 针对天气预报集合数据的时间层次聚类和可视化

集合(ensemble)模拟数据可视化是科学可视化的一个重要研究方向,特别是针对气象学这一特定领域。通过扰动初始条件或者使用不同的预测模型公式,集合方法会生成代表大气未来可能状态的一些数据成员。分析集合预报中的时间演化和可变性是这类问题的一个重要的任务。

在已有的方法中,spaghetti plots (意大利面条图)是一种比较常用的分析气象标量场集合数据中等高线(iso-contour)的变化的方法。具体来讲,对于每个时间步,都有一个spaghetti plot展示某一iso-value下所有集合成员的等高线,这些spaghetti plots往往并列放置。如果需要看其动态演变,则需要通过动画的方式。

但是,由于用户需要感知大量的视觉信息,动画很难建立连续时间步下等高线之间的关联。针对这一问题,今年的SciVis上提出了一种新的方法,可以分析集合天气预报数据中等高线的时空演变[1]。

文中的方法包含三个部分。如图1所示,首先将所有集合成员具有相似时间演化特性的等高线进行聚类,得到一个初始的等高线分类。然后,使用一个时间层次聚类的方法将这些初始的等高线类沿时间步反向合并,得到一个时间层次上的聚类树。最后,设计了一种空间-时间聚类可视化的方法来展示聚类信息。下面我们将一一介绍各个步骤。

针对天气预报集合数据的时间层次聚类和可视化

在初始等高线分类中,用户首先选择一个感兴趣的时间窗口,然后在一个给定的iso-value下得到所有集合成员在这个时间窗口下的等高线。之后,使用符号距离函数(signed distance function, SDF)将这些等高线转化为高维空间中的点,然后就可以使用一些标准的聚类方法对这些点进行聚类,从而得到对应等高线的初始聚类。

文中用了合成聚类(agglomerative hierarchical clustering, AHC)的方法,一开始将每个的等高线都看成是一个个的类,然后迭代地将相似的类进行两两合并,直至最终只剩下一个类或者所需要的类数。

针对天气预报集合数据的时间层次聚类和可视化

对于每个类的所有等高线,我们可以从中选择一个中位等高线(median contour),其对应的高维空间的点到其他所有点的距离平方的和最小。有了中位等高线,我们再将所有等高线的空间标准差通过环绕在中位等高线的条带展示出来,以表示该类中所有等高线的空间差异,这种可视化形式叫做等高线变化图(contour variability plot),如图2所示。

为了得到所要的时间层次聚类,作者使用了AHC方法中的linkage criterion来决定类之间何时会合并。其思想就是,假设有n个类,根据类间距离的计算组织一个n×n的linkage矩阵形式,矩阵每个单元表示两个类之间的距离。这里面类与类之间的距离是基于类中等高线对应的高维空间点之间的欧式距离计算得到。

作者定义了一个类间距离的阈值,然后在初始等高线分类的基础上,沿着反向时间步的方向对这些类进行合并。对于每一个时间步,当有两个类的距离小于阈值时,这两个类会被合并,并且对应的linkage矩阵也会更新。这一过程一直迭代进行,直到该时间步上不再可以聚类。接着会进行前一个时间步的合并过程,直至在第一个时间步上形成一个最终的类,如图3所示。

针对天气预报集合数据的时间层次聚类和可视化

得到时间层次聚类树后,文章设计了一种空间-时间聚类可视化的可视化,包括两种形式。一种是空间-时间聚类面(space-time cluster surfaces)。对于每一个类,它是将其每个时间步上中位等高线的符号距离场堆叠起来形成一个空间-时间的3维距离场,然后使用光线追踪和三线性插值绘制该3维场的level-0 set,得到一个平滑的变化聚类面,如图4(a)所示。

为了展示聚类中等高线在时间上的传播,还可以将所有等高线对应的符号距离值的标准差映射成颜色反应在聚类面上。如图4(b)所示,其表示了随时间的增加聚类成员在空间的伸展也越大,表示不确定性越大。

针对天气预报集合数据的时间层次聚类和可视化

另一种可视化表示形式是堆叠时间切片(stacked time-cuts)。因为对每一个时间步,一个类可以用一个等高线变化图来表示,因此将这个类对应的一系列离散时间步的等高线变化图由下至上堆叠起来,便形成了堆叠时间切片。如图5所示,可以很清楚看到聚类随着时间的增长的演化。

针对天气预报集合数据的时间层次聚类和可视化

总的来讲,这篇文章针对二维时变标量场集合数据的等高线,使用一种新的方法展示其在时间和空间上的演化。不过,该方法建立在聚类只有合并没有分裂这一假设上,其合理性值得推敲。不过这也正是这一方法可以改进的地方。

如果可以将等高线在演化过程中的出现、合并、分裂以及消亡等事件以一种比较好的形式展示出来,例如故事线等,可以让用户更好地对该类问题进行分析和理解。此外,文章使用的堆叠时间切片的可视化方法在时间步比较多的情况下还不是非常灵活,这一点也是需要改进的地方。


本文作者:Jiang Zhang

来源:51CTO

上一篇:数据挖掘的数据集资源


下一篇:C# Deldegate的使用