基于DBSCAN的探索性气候分析

September 2017 · 1 minute read

数据挖掘是在大型数据存储库中,自动的发现有用信息的过程。数据挖掘技术用来探查大型数据库,发现先前未知的有用模式。

数据挖掘的任务分为两大类:

  1. 预测任务。目标是根据其它属性的值,预测特定属性的值。
  2. 描述任务。目标是导出概括数据中潜在联系的模式(相关、趋势、聚类、轨迹和异常)。

气象数据是天然的大数据,气象数据的分析研究其实都在遵循数据挖掘的规则,或者说是数据挖掘在这一特定领域的应用。

大家知道,时空分布和变化是气象的基本属性和特征,对时空分布和变化的分析一直以来都是气象学研究关注的重点之一。常用的分析方法如:时间序列分析、高级谱分析、时空变量场的EOF、SVD、CCA分析等。不同的方法适用于不同的问题。

关于气候分区的研究已经有很多了,但往往受限于数据和方法,我们对很多问题的认识仍然是有限的。

今天这里的一个示例是基于DBSCAN聚类分析对降水量的气候特征进行一些探索性的分析。

DBSCAN是一种简单、有效的基于密度的聚类算法,寻找被低密度区域分离的高密度区域

我们对中国160个站1951-2016年夏季(JJA)降水量来做一些分析。距离的度量采用correlation(注意不能用欧式距离)。两个参数Eps和MinPts,实验性的分别尝试[0.3, 0.4, 0.5, 0.6, 0.7]和[3, 4, 5, 6, 7, 8]。Eps是距离半径的阈值,MinPts是点个数的阈值。因此我们刚刚设定的参数搜索范围也就是相关性在0.7~0.3之间,簇内最少站点个数在3~8之间。

由于DBSCAN使用簇的基于密度的定义,因此它是相对抗噪声的,并且能够处理任意形状和大小的簇,可以发现KMeans不能发现的很多簇。这是它的一个优点。

以下是我们得到的一些有意思的结果(时间来不及了,回头再解释):

Eps=0.5, MinPts=8 Eps=0.5, MinPts=5 Eps=0.5, MinPts=4 Eps=0.4, MinPts=3