爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 97562|回复: 169

EOF易懂讲解(转)

  [复制链接]

新浪微博达人勋

发表于 2015-12-24 08:59:04 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
关于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(呵呵我不推荐)。                              
1. 主成分分析原理介绍(该部分选自胡基福老师的《气象统计原理与方法》)
    为了直观理解主成分定义,设研究对象有x1与x2两个变量(指标)(个人认为如果真想区分EOF和PCA,指标这个词是可以帮助理解的),共观测了n次,样本数据排列为
x11, x12, …,x1n
x21, x22, …,x2n
现以x1与x2分别为坐标轴,对n对资料作相关点聚图。可见,由于x1与x2的相关关系,使n个点的分布情况大致成一椭圆形(如图1所示)。显然,椭圆的长轴方向反映了n个点的主要变化趋势,可作为新变量y1,椭圆的短轴反映了n个点变化的次要趋势,可作为新变量y2。新变量y1与y2有如下特征:
1)新变量y1与y2相关关系很小(互相独立)
2)n个点在新变量y1方向上离散度最大,而在y2方向上离散度最小。
                                

                               
登录/注册后可看大图
                                                      图1
    因此,新变量y1与y2综合反映了原变量x1与x2的信息,是相互独立的,而且是按方差贡献(离散度)大小排列的,所以y1称为x1与x2的第一主成分,y2称为x1与x2的第二主成分。这种变量变换结果相当于在原坐标系中旋转一个角度θ,使新坐标y1在椭圆长轴方向上,y2在椭圆的短轴方向上。即使原变量x1与x2的离散度在新坐标中重新分配,y1占绝大部分,而y2占小部分,但是其总和是相等的,例如:
                              

                               
登录/注册后可看大图
              (55%)    (45%)     80%)    (20%)
    可见我们若只取第一主成分y1来代替原变量x1与x2,进行分析就可以达到80%的精度,从而达到降维分析的目的,这就是主成分分析的意义。(两个指标变一个)
2. 个人理解
    上面是主成分分析的意义,用一个新变量代替两个旧变量,降维~(或许不应该叫变量)
    先抛开EOF的具体分析方法,改用带气象海洋的特点,把上面的工作做一遍,看能发现什么:两个空间点x1与x2(起码一条,不再是指标),n次观测(长度为n的时间序列)
                          x11, x12, …,x1n
                          x21, x22, …,x2n
以x1与x2分别为坐标轴,对n对资料作相关点聚图。还是那个椭圆,还是y1与y2
                      y1= x1cosθ+ x2sinθ
                       y2= x2cosθ- x1sinθ
这个是很容易得到的。θ是两坐标系间的夹角。现在我们看图2:
                                    

                               
登录/注册后可看大图
图2
红点是一个测点。蓝色的x1与x2就是原始的数据。现在走出PCA的路线。不写y1与y2的表达式了,把x1与x2分别用y1与y2表示,(对原数据影响力依次减小的项)就是:
                     x1= y1cosθ- y2sinθ
                     x2= y2cosθ+ y1sinθ
这样实际上是把原数据写成了两项和的形式。这是一个时刻的点,然后所有的点上面的式子就应该是
                     x1n= y1ncosθ- y2nsinθ
                     x2n= y2ncosθ+ y1nsinθ
或者换个写法,就全明白了
               x1(t)= y1(t)cosθ- y2(t)sinθ
               x2(t)= y2(t)cosθ+ y1(t)sinθ
很好理解,θ是只与空间有关的,y1(t)y2(t)是只和时间有关的(在椭圆上不同的点不同)。这就是两个空间点时间序列的EOF分解~
    把两个点扩展成n个点,那么点聚图就变成了n维,就有n个模态,椭圆就变成了椭球或者然后我们不知名的椭某某,式子就写成了y1yn与θ的表达式。y几的那一项就是第几模态,因为y1yn的影响逐渐减小的。
    简单说,我现在理解EOF就是在把原数据拆成若干项和的形式,每项反映原数据的程度依次降低。而且每项时间导数空间导数的组成也就好理解了(有上面的表达式),就说当时间系数变化定数时,空间系数绝对值越大,这个点数据的变化程度越大(不同空间点的比较)。同样空间系数固定时,时间系数变化越大,不同时刻数据变化越大(不同时间点的比较)在这样理解的基础上空间系数分布和时间系数曲线图就好看了。而且该方法与物理意义不对应,纯是数学方法,有上面的表达式,也好理解了。

评分

参与人数 10金钱 +55 贡献 +9 收起 理由
大气之子 + 2 赞一个!
Tobyright + 10 很给力!
阿梨 + 1 很给力!
威武霸气的潘潘 + 10 很给力!
mfzy + 2 很给力!
pc4087 + 1 很给力!
大家防护四不 + 1 高手,这是高手
麒麟2333 + 3
勿忘草 + 5 + 1 很给力!
言深深 + 20 + 8

查看全部评分

本帖被以下淘专辑推荐:

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-24 10:08:11 | 显示全部楼层
要是文字的背景颜色能去掉就好看多了
密码修改失败请联系微信:mofangbao
回复 支持 4 反对 1

使用道具 举报

新浪微博达人勋

发表于 2016-1-12 21:53:08 | 显示全部楼层
我最近也在做eof相关的分析,请问楼楼有没有处理过hdf格式或网格精度很高数据量极大的数据呢?请教。
密码修改失败请联系微信:mofangbao
回复 支持 0 反对 1

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2015-12-24 10:50:05 | 显示全部楼层
言深深 发表于 2015-12-24 09:36
看完了,说的还是很丰富的。
一般而言,SST的解释方差(PDO的计算)打不到30-40,我做过很多次,似乎只有2 ...

{:eb502:}
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 成长值: 0
发表于 2015-12-24 15:16:07 | 显示全部楼层
白夜桃夭 发表于 2015-12-24 10:22
谢谢楼主细致的讲解还有一个问题,要是把时间和空间结合来看呢,要怎样分析,比如说负的 ...

是的
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2015-12-24 09:05:19 | 显示全部楼层
学习{:5_213:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2015-12-24 09:32:43 | 显示全部楼层
果然很赞{:5_213:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 成长值: 0
发表于 2015-12-24 09:36:24 | 显示全部楼层
看完了,说的还是很丰富的。
一般而言,SST的解释方差(PDO的计算)打不到30-40,我做过很多次,似乎只有20多一点。
另外解释方差其实跟序列长度、空间范围的大小都有关系。
毕竟第一模态相当于气候态,平均值怎样就怎样
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-24 10:07:19 | 显示全部楼层
学习,很好
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2015-12-24 10:22:02 | 显示全部楼层
谢谢楼主细致的讲解{:eb502:}还有一个问题,要是把时间和空间结合来看呢,要怎样分析,比如说负的空间场再结合某段时期内时间是正位相,两者相乘就说明该段时期内某要素有负方向的变化趋势 ,这样理解对不对呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-24 10:36:28 | 显示全部楼层
正好要学习,大赞
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-12-24 10:49:03 | 显示全部楼层
白夜桃夭 发表于 2015-12-24 10:22
谢谢楼主细致的讲解还有一个问题,要是把时间和空间结合来看呢,要怎样分析,比如说负的 ...

只是我在新浪博客上看到的,就转过来啦。你的解释应该是不对的,我认为应该说是该时段较平均态偏低的异常分布,具体你可以多看看具体分析某个场时空变化EOF的文献。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-12-24 10:49:54 | 显示全部楼层
言深深 发表于 2015-12-24 09:36
看完了,说的还是很丰富的。
一般而言,SST的解释方差(PDO的计算)打不到30-40,我做过很多次,似乎只有2 ...

{:eb502:}
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表