经验正交函数分析法(EOF)在matlab上的实现

Matlab实现EOF分析 这里使用了Matlab的eig函数,计算出协方差矩阵的特征值和特征向量。这里使用了Matlab的mean函数,计算了数据的平均值,同时使用repmat函数将平均值扩展为一个与数据矩阵相同大小的矩阵,然后使用减法得到去平均化的数据矩阵data_anom。一般而言,需要计算出数据的平均值,并将原始数据减去平均值,得到去平均化的数据。这里使用了Matlab的矩阵乘法运算符,将去平均化的数据矩阵和选定的特征向量矩阵相乘,得到EOF模态矩阵eof_mode。这里选择前3个特征向量。首先,需要导入待分析的数据。 阅读详情

转载自:https://blog.youkuaiyun.com/qq_23860475/article/details/80665289

数据准备

    数据集为福建省28个气象站1960-2013年的年际降水量数据,行为站点编号(数值格式),列为年份时间(数值格式)。部分数据如下:

matlab代码

需要代码(包括REOF)的请根据文章最后面的信息联系我。

运行结果及分析

空间分布特征分析

      前5个特征向量特征值的累积贡献率达到85.4%,但只有前两个特征根的误差范围不重叠通过North显著性检验,累积贡献率接近75%,因此这两个特征根可以很好地解释福建省近1960-2013年降水的两种分布类型。

表1 福建省年降水量EOF分解的前5个特征向量贡献率

 

模态

特征值

方差贡献率

累计方差贡献率

特征根误差范围

下限

上限

1

1679316.03

0.6232

0.6232

1230499.94

2128132.12

2

324813.75

0.1205

0.7437

238003.62

411623.87

3

131434.39

0.0488

0.7925

96307.07

266561.71

4

96314.33

0.0357

0.8282

70573.24

122055.42

5

69212.62

0.0257

0.8539

50714.77

87710.47

 

      运用Arcgis作模态1和模态2空间分布图(图1、图2)。作图数据如下:

表2 模态1、模态2作图数据

 

站号站名纬度经度模态1模态2
58725邵武27.33117.470.230.27
58730武夷山27.72118.000.240.31
58731浦城27.92118.530.210.24
58734建阳27.33118.120.200.23
58737建瓯27.05118.320.210.18
58744寿宁27.53119.420.21-0.02
58754福鼎27.33120.200.17-0.15
58818宁化26.23116.630.240.10
58820泰宁26.88117.150.240.23
58834南平26.65118.170.220.19
58837尤溪26.17118.150.150.06
58843霞浦26.88120.000.18-0.11
58846宁德26.67119.520.20-0.16
58847福州26.08119.280.16-0.12
58911长汀25.85116.370.220.04
58918上杭25.05116.420.16-0.15
58921永安25.97117.350.180.03
58926漳平25.30117.400.17-0.10
58927龙岩25.10117.020.17-0.15
58931九仙山25.72118.100.15-0.15
58933屏南26.92118.980.230.10
58936仙游25.35118.680.17-0.22
58944平潭25.52119.780.12-0.08
59113永定24.85116.820.18-0.26
59126漳州24.50117.650.16-0.26
59133崇武24.90118.920.10-0.24
59134厦门24.52118.150.15-0.29
59321东山23.78117.500.17-0.29

      模态1特征向量的方差贡献率为62.32%,远高于其他模态的贡献率,是福建省降水场的主要空间分布形式。图1显示,模态1站点的特征值均为正值,表明1960~2013年间福建省的降水变化趋势具有高度的一致性,即呈现全省全年要么都多雨,要么都少雨的降水分布特征。高值中心位于闽西北地区,反映该区域降水变化量大,低值中心位于东南地区。整个闽西北地区的降水变化程度远高于闽东南地区,闽中则为过度区。

      模态2特征向量的方差贡献率为12.05%,也是典型的降水主要空间分布形式。图2显示,这种分布格局以鹫峰山-戴云山-玳瑁山为界,向北为正值区,向南为负值区,正值中心出现在西北武夷山地区,负值中心出现在东南厦漳泉地区,呈现西北-东南反向分布模式,即要么闽西北地区降水量增多,闽东南地区降水量减少,要么闽西北地区降水量减少,闽东南地区降水量增多。特征向量值从西北向东南依次减小,反映福建省降水量变化也是由西北向东南递减。

 

时间分布特征分析

      根据空间分布特征分析,福建省降水场主要有4种表现类型:模态1决定全年全省多雨或者全省少雨2种类型;模态2决定全年闽西北地区降水偏多东南地区降水偏少,或者闽西北地区降水偏少东南地区降水偏多2种类型。时间系数代表了所对应特征向量空间分布模态的时间变化特征,系数符号决定模态的方向,正号表示与模态同方向,负号则相反,且系数绝对值越大,表明这一时刻这一类模态越典型。对54a来的4种降水空间模态分布类型做统计分析,取每年时间系数绝对值最大所对应的特征向量作为当年降水空间分布模态,得出有14a全年全省多雨,19a全年全省少雨;闽西北地区多雨东南地区少雨的为7a,闽西北地区少雨东南地区多雨的为4a,具体年份见表3。可以看出54a来降水场的分布模式以模态1为主,有33a,占总年数61.11%,且模态1的时间系数趋势斜率大于零,在一定程度上说明福建省54a来年降水量有增多的趋势;模态2出现11a,占总年数20.37%,模态2时间系数趋势斜率小于零,说明54a来闽西北地区降水量有增加的趋势,东南地区有减少的趋势。其余零散不典型模态类型出现10年,占总年数18.52%。时间系数所反映的与特征向量反映的典型降水场程度基本一致。

表4 四种降水场表现类型年份分布

 

模态1

全省多雨

1961

1973

1975

1983

1992

1994

1997

1998

1999

2000

2005

2006

2010

2012

全省少雨

1963

1965

1966

1967

1971

1974

1977

1979

1984

1986

1991

1993

1996

2003

 

2004

2007

2008

2009

2011

 

 

 

 

 

 

 

 

 

模态2

西北多东南少

1962

1970

1976

1980

1982

1995

2002

西北少东南多

1972

1985

1990

2013

 

 

 

 

 

 

 

 

 

 

表3 模态1、模态2时间系数

 

时间模态1时间系数模态2时间系数
1960-158.14-650.41
19611652.81-541.87
1962788.881110.46
1963-1830.29-112.63
1964223.57-321.01
1965-215.72-0.34
1966-735.88293.32
1967-2354.93601.72
1968-28.73653.56
19692.94293.82
1970624.00946.78
1971-2599.28-440.43
1972-90.89-561.47
19731839.88-456.35
1974-739.77-10.85
19752274.88277.39
1976-363.66639.93
1977-816.71628.96
1978-437.53-223.47
1979-837.96169.88
1980-73.27453.39
1981-140.65114.34
1982-99.95570.71
19831297.81-911.78
1984-1218.47161.46
1985-1.66-499.80
1986-1039.5334.22
198713.19295.07
1988292.29138.44
1989-453.9837.69
1990905.54-1865.65
1991-2041.42-43.99
19921846.41-274.80
1993-631.25100.03
1994556.50123.75
1995-274.32737.85
1996-853.52-604.67
19972240.64-201.37
19982819.40723.27
1999544.71347.52
20001016.44-489.25
2001418.54201.46
2002638.70693.94
2003-2812.4516.29
2004-1519.38-86.82
20051269.29-361.10
20062245.40-1006.72
2007-789.83-724.74
2008-634.49-346.52
2009-1206.84232.69
20102009.48768.07
2011-1882.11-424.01
20121817.91790.38
2013-456.57-996.32

结束语

承接模型、算法代码实现(支持python、matlab、excel vba),比如REOF,有意请联系QQ947943645 ,非诚勿扰! 此观点仅为创作者观点,不代表转载者观点。关于程序大家可以自己在网上查询,可以参考的资料很多。

MATLAB eof用法,经验正交函数分析法(EOF)在matlab上的实现 原理与计算步骤数据准备数据集为福建省28个气象站1960-2013年的年际降水量数据,行为站点编号,列为年份时间。部分数据如下:matlab代码clc;clear;data=xlsread('C:\Users\Administrator\Desktop\福建降水量.xls');[r1,c1]=size(data);x=data(2:end,2:end);[m,n]=size(x);fori=1:... 阅读详情

相关推荐

matlab经验正交分解函数EOF的实现—基于Climate Data Toolbox操作

经验正交函数分析方法(Empirical Orthogonal Function,缩写为EOF),也称特征向量分析(Eigenvector Analysis),或者主成分分析(Principal Component Analysis,缩写PCA),是一种分析矩阵数据中的结构特征,提取主要数据特征量的一种方法。

PeanutbutterBoh的博客 1万+

经验正交分解EOF详解及案例

由于这些主分量中前几个就可能占有原空间点(即多个变量)总方差的很大部分,即通过EOF分解可以很容易地将原始要素场的变化信息浓缩在前几个主分量及其对应的空间函数上,所以,EOF分解常被用于气象要素场时空变化特征规律的提取和研究。因为所有空间模态(或时间系数)所对应的方差贡献率加起来等于 1,所以,当方差贡献率最高的几个空间模态(或时间系数)加起来得到的累计方差贡献率较大时(比如达到80%),我们就会用它们几个来表示原始数据中所包含的主要特征。中第 t 时刻的空间场(共有m个空间点),就可以表示为。

同步于【自学气象人公众号】! 2万+

经验正交函数分析(EOF)或主成分分析(PCA)在matlab上的实现及实例

经验正交函数分析方法(Empirical Orthogonal Function,缩写为EOF),也称特征向量分析(EigenvectorAnalysis),或者主成分分析(Principal Component Analysis,缩写PCA),是一种分析矩阵数据中的结构特征,提取主要数据特征量的一种方法。Lorenz在1950年代首次将其引入气象和气候研究,在地学及水声学等其他学科中得到了非常广泛的应用。地学数据分析中通常特征向量对应的是空间样本,所以也称空间特征向量或者空间模态;主成分对应的是时间变化.

waterstar2010的博客 1万+

气象数据分析之EOF分析以及python的实现

import numpy as np import cartopy.crs as ccrs import cartopy.feature as cfeature import matplotlib.pyplot as plt from eofs.multivariate.standard import MultivariateEof from eofs.standard import Eof #计算权重:以纬度cos值得平方作为权重 coslat = np.cos(np.deg2rad(lat)) w

domotokoi的博客 2万+

MATLAB eof用法,[转载]基于Matlab软件进行EOF分解、回归趋势分析

clearcloseclcncload('E:/data/mon/ndvi79-06.nc','time','lat','lon','ndvi');%第一部分:数据处理,剔除缺失值,求距平,并修正为等权重%下面均针对温娜的sst进行标注%选取区域:纬度:-9.5-59.5 ;经度:60.5-149.5ilat=find(lat>=-10 & lat<60);nlat=lengt...

weixin_29475313的博客 3368

4、EOF分析方法

EOF(经验正交函数分解方法)是大气科学以及海洋科学中常用的分析方法,本文以海温数据为例讲解如何在Python中快速实现资料的EOF处理,关于EOF原理及分析方法不再赘述,感兴趣的小伙伴可以参考南京信息工程大学李丽平老师的课件EOF分析原理。

小兔子乖乖 6207

经验正交分解EOF的Matlab的实现示例

MATLAB EOF 经验正交函数 经验正交分解 海洋表面温度 ENSO 厄尔尼诺-南方涛动 GIF PSD

weixin_43047707的博客 4373

【统计方法】经验正交函数详解

经验正交函数详解

WW、forever的博客 2265

matlab经验正交eof,经验正交函数分解(EOF).pdf

气象统计预报气象统计预报李丽平南京信息工程大学2010年12月PDF 文件使用 "pdfFactory Pro" 试用版本创建第八章 气象场的自然正交展开第八章 气象场的自然正交展开PDF 文件使用 "pdfFactory Pro" 试用版本创建、引 言经验正交函数(EOF )方法最早由统计学家pearson在1902 年提出,由Lorenz[1](1956 )引入气象问题分析中。该方法以场的时间...

weixin_29128423的博客 1575

MATLAB实现经验正交函数(EOF)分解

EOF(Empirical Orthogonal Function,经验正交函数)分解是一种用于时空数据分析的技术,它能够揭示数据中的主要变化模式。通过这种方法,可以将一个大型的数据集简化为一组更少的、互不相关的模式。本章将介绍EOF分解的基本概念和理论框架,为后续章节中在MATLAB环境下的具体实现奠定基础。我们首先从理论角度讲解EOF分解的目的和在数据处理中的应用,随后探讨如何将这一理论应用到实际数据中,为读者提供一个全面的了解。

weixin_42452924的博客 1146

REOF旋转经验正交函数实战:从EOF模态混合到SVD分解与MATLAB实现

经验正交函数(EOF)通过SVD分解提取时空模态,但正交约束常导致物理模态混合。旋转经验正交函数(REOF)在前k个模态子空间内进行Varimax正交旋转,使空间载荷局部化,提升物理解释性。该技术广泛应用于气象、海洋和遥感领域的区域分型与外部强迫耦合分析。MATLAB中REOF.m脚本结合SVD与EOF,实现从数据准备、去均值、旋转到解释方差重排的完整链路,并需注意旋转模态数选择、North检验及CCA下游分析等关键环节。

weixin_29311017的博客 133

经验正交函数分解matlab,matlab物理场的正交分解

经验正交分解的原理简介经验正交函数分析方法(empirical orthogonal function,缩写为EOF),也称特征向量分析(eigen vector analysis),或者主成分分析(principal component analysis,缩写PCA),是一种分析矩阵数据中的结构特征,提取主要数据特征量的一种方法。Lorenz在1950年代首次将其引入气象和气候研究,现在在地学及...

weixin_39900582的博客 2032

MATLAB环境下实现EOF分析的代码示例

经验正交函数(EOF)分析,起源于20世纪初,最初由数学家卡尔·皮尔逊和查尔斯·斯皮尔曼等发展,用以从大量数据中提取主要的变异模式。随着时间的推移,此方法逐渐成为地球科学领域分析时空数据的重要工具。在50年代和60年代,EOF成为气候学和海洋学研究中的关键技术。它通过降维和模式识别,使得研究者能够在诸多数据中捕捉到主要的信号,从而简化复杂系统。MATLAB(Matrix Laboratory的缩写)是一种高性能的数值计算环境和第四代编程语言。

weixin_35826166的博客 1232

经验正交分解(EOF)的推导

Am×n​表示待分析变量(anomaly),有m个格点,n个时间片,Aa1​a2​...an​​XAATXm×m​表示方差-协方差方阵。Xm×m​Um×mT​Sm×m​Um×m​其中S是对角方阵,Sλ​是对角线上的特征值组成的向量,其中U​u1​u2​...um​​​则有UAUATSUA可以写作UA​ua1​ua2​...uam​。

weixin_44808352的博客 1509

经验正交函数 (EOF) 分析:经验正交函数 (EOF) 分析常用于气象学和气候学-matlab开发

在统计和信号处理中,经验正交函数 (EOF) 分析方法是根据从数据确定的正交基函数对信号或数据集进行分解。 它与对数据执行主成分分析相同,只是 EOF 方法可以找到时间序列和空间模式。 该术语也可与地球物理学中的地理加权 PCA 互换。

EOF分析matlab代码

气象统计EOF的MATLAB程序,可以直接使用,比较容易看懂的

气象数据分析实战:用Matlab的EOF/PCA功能挖掘气候变化的隐藏模式

本文详细介绍了如何利用Matlab中的经验正交函数(EOF)和主成分分析(PCA)方法,从海量气象数据中提取气候变化的隐藏模式。通过实战流程,指导读者完成数据预处理、EOF/PCA分解、可视化及显著性检验,并将统计模态与厄尔尼诺等实际气候现象关联,为气候研究提供了一套完整的分析方案。

g9h0i1的博客 1020

【Qt笔记】1.VSCode搭建Qt运行环境

Qt6之后已经抛弃qmake,使用cmake。cmake相对qmake来说只有优点没有缺点。使用VSCode搭建完Qt的运行环境就能开开心心debug了.vscode需要使用的插件:2.Qt tools3.CMakec++插件可以不关注,缺啥都会提醒你.正常安装即可。

没有手牌的博客 2万+
上一篇: 调试和运行matlab代码(源程序)的技巧和教程
下一篇: 编程之路的小感想
good_learn
博客等级 码龄11年 195粉丝 14原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值