关于EOF分解(外一篇) — Windows Live

来源:百度文库 编辑:神马文学网 时间:2024/06/03 12:32:48
关于EOF分解(外一篇)
最近做了一些数据分析,用到EOF分解,但是并没有发现网上有中文的相关资源,个人认为这个东西的理解对搞物理海洋和大气科学的人还是非常重要的,这里谈点自己的理解,也请大家多批评指正。
EOF Decomposition 即正交经验函数分解,英文也常用PCA(Principal Components Analysis)即主成分分析。撒一把芝麻在地上,让你用个尽可能小的椭圆把它们圈起来。这个椭圆的长轴,就是这堆芝麻的第一主成分,所谓first leading EOF,也叫Mode-1,短轴呢,就是第二主成分了。如果这群芝麻撒得特听话,基本排成一条线,你的椭圆就会特别扁,这时候长轴就特别能描述这群芝麻的特点。理想化一下,芝麻们就排成一直线,椭圆就理想成Ax+B了。长轴和短轴差别越大,即长轴的“方差贡献”越大,描述地越好。这是最简单的对EOF的理解。
说起将EOF用在大气海洋,不可不提的一个人就是John Kutzbach,Univ. Wisconsin-Madison 的 senior scientist。以前的EOF是一个纯数学概念,和海洋大气并不搭界,而 Kutzbach 第一个把EOF引入海洋大气界,开始彻底改变人们对数据分析和物理现象的认识。Kutzbach是个很有传奇色彩的人物,有很多开创性的工作。比如虽然大家公认 Wallace 是 Arctic Oscillation 的提出者,其实 Kutzbach 很早就发现了AO的存在。再比如 Earth's Climate System 概念的提出及学科系统的完善,他也是功不可没。Ruddiman 著 Earth's Climate: Past and Future 的时候,第一句话就是献给 Kutzbach,极高地评价他 headed the effort to make the study of Earth's climate a science. 还有很多鲜为人知的故事,在此不表。总之,我们要饮水思源的。
对海洋大气四维时空数据做EOF分解,不仅能找到Mode-1、Mode-2、Mode-3……还可以把针对每一个Mode把时间和空间分离,也就是把这个4D场进而分成一个1D时间场和一个3D空间场(因为z通常设为常数,所以实际常为x-y的2D平面场)。这时,每一个Mode都有其方差贡献,并对应一个spatial pattern(空间分布) 和一个time series(时间序列)。
先来看方差贡献(Variance Contribution)。不妨画个柱状图看看,就拿右边这张图说事儿吧,这是全球降水的前5个Mode的方差贡献。你看第一和第二根就分得特别开,第二和第三马马虎虎,第三和第四就差得很小了,往后更是越来越接近。这说明Mode-1和Mode-2还是可以用的,第三往后的尾巴就扔掉吧。大家注意到,这里Mode-1方差贡献仅有9.5%,并不是个好例子,如果做SST,Mode-1的方差贡献会大到30~40%。因为降水的海上观测资料时间短且至今并不理想,加上其本身的时空变化就非常大,能explain 9.5%已然很好了。
再看空间分布,也就是常说的EOF1,EOF2等等。空间分布每个点的值的大小表示其variation,如果值越大,可以理解成这个点特别活泼,总是跳开平均值特别远。其正负没有绝对意义,只表示相对的正反位相。下左图是冬季北半球SLP(Sea Level Pressure)的EOF1,很明显的AO(Arctic Oscillation)pattern。对于海洋大气,EOF1常看到的是ENSO pattern,EOF2开始就能看到其他的pattern了,比如经典的马鞍形PDO(Pacific Decadal Oscillation)。

Winter SLP EOF-1                                  Winter SLP PC-1
再看时间序列,也就是常说的PC1,PC2等等。这条高高低低的曲线,表示的是这些variation在时间上的变动规律,有时也画条形图。一些high amplitude 代表的是一些extreme events,比如82/83、97/98这些强El Nino事件就是从SST的PC1上看出来的。在零线以上或者以下,则表示其在该时间上是正位相或负位相,比如上右图,是和SLP EOF1对应的时间序列,从50年代到90年代AO就经常keep在零线以上,说明它常以正位相的形式存在,这时如果看看它的spatial pattern,果然一像个暖色的帽子扣在北极上。但是90年代以后AO就常以负位相出现了,我们说 Climate Shift了。
理解EOF要特别注意两点,就是EOF只是一种纯数学的分解,并不一定和物理意义完全对应。有时一个强物理机制可以在好几个mode中出现,而且一个mode中也会有很多物理机制在起作用,所以在理解的时候不能生拉硬扯非要和什么pattern挂钩。第二,海洋大气的EOF1常常是ENSO的pattern,如果想看Decadal以上的东西,可以先滤掉ENSO,再做EOF。常用的是FTF(Fourier Transform Function)和wavelet,你要嫌麻烦可以用running mean(呵呵我不推荐)。
以上内容,纯属个人理解。如有雷同,纯属抄袭。引用请注明出处(时髦一下)http://eileenrabbit.spaces.live.com/  在此特别鸣谢Yan Sun提供original program,A. Hannachi 提供的两张图,以及prof和教授在讨论中给予的tips。
P.S. 外一篇由 Yi Wang 完成,在2008-01-25 发布。