爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 17697|回复: 12

EOF计算的主模态的值为什么相比原数据会大大减小?

[复制链接]

新浪微博达人勋

发表于 2020-8-11 21:55:07 | 显示全部楼层 |阅读模式
100金钱
数据是37*37*20的海表面温度,把矩阵改造成1369*20后,没有算距平,求得模态。

原数据

原数据

第1模态

第1模态

这么大的差距是什么导致的?我统计了所有模态,发现还是很小。
TIM图片20200811214826.png
就是说原数据和模态之间差距过大,我知道如果用距平,差距不会那么大。但是我也在求网格海流速度的模态,分别对海流的U、V分量计算EOF,之后合成为矢量,如果用U、V的距平算我认为没有物理意义。我看别人画的流速模态图如下。
表面流EOF1.png


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

新浪微博达人勋

发表于 2020-8-11 22:14:43 | 显示全部楼层
你第二个图,你乘了空间函数吗?
EOF做距平,比如说减去季节循环,是为了看年际及以上的变化。像第三张图的84%占比,这就是一个代表季节变化的模态。

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

使用道具 举报

新浪微博达人勋

发表于 2020-8-12 06:53:50 | 显示全部楼层
EOF是对协方差或者相关系数阵来算的,你对原始场算的?为啥你觉得距平场的EOF没有物理意义?
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-8-12 08:41:26 | 显示全部楼层
伽蓝鸟 发表于 2020-8-12 06:53
EOF是对协方差或者相关系数阵来算的,你对原始场算的?为啥你觉得距平场的EOF没有物理意义?

我是针对流速U、V说的,SSTA是有意义的,但是流速分量算个距平,然后合成为矢量,我不清楚物理意义是什么?
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-8-12 08:46:23 | 显示全部楼层
呆妹小霸王 发表于 2020-8-11 22:14
你第二个图,你乘了空间函数吗?
EOF做距平,比如说减去季节循环,是为了看年际及以上的变化。像第三张图 ...

你说的是时间系数吗?

[EOFu, Su, Vu] = svd(ut, 'econ');
PCu = Su*Vu';
Eu = Su.^2/size(ut, 2);

[EOFv, Sv, Vv] = svd(vt, 'econ');
PCv = Sv*Vv';
Ev = Sv.^2/size(vt, 2);

这是我求两个流速分量EOF的步骤,我是拿着EOFsst就做统计直方图的,发现值太小,我就没有求矢量场,因为那么小的流速应该不是一个真实的模态,它只能代表一种变化。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-8-12 08:49:23 | 显示全部楼层
其实关于距平场我还有一个疑问,我们做平面图是为了了解一个空间内物理量的高低分布,但是距平是对每个格点在时间上做平均,负值说明这个格点此时相对均值小,正值活命这个个点此时相对该格点的均值大,这应该就只是单个格点上的相对大小了,体现不出来一个时刻的整个空间内各区域相对的大小了吧
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-8-12 08:55:42 | 显示全部楼层
这是我的代码:
load('E:\2_Analysis\1. DataAnalysis\1. Fields\1. UV_Mems\MonthlyUV_mems001030', 'u_monthly', 'v_monthly', 'lon', 'lat');
load('E:\2_Analysis\1. DataAnalysis\1. Fields\2. Scalar_Mems\mems001030_ssh-sst-mlt-chl-sal-sfpt_monthly');
lon = lon(121:157, 61:97);
lat = lat(121:157, 61:97);
um = reshape(u_monthly(121:157, 61:97, :), 37*37, 20);
vm = reshape(v_monthly(121:157, 61:97, :), 37*37, 20);
mltm = reshape(mlt_monthly(49:85, 37:73, :), 37*37, 20);
sstm = reshape(sst_monthly(49:85, 37:73, :), 37*37, 20);
sshm = reshape(ssh_monthly(49:85, 37:73, :), 37*37, 20);
%% 1.2 提取真值格点的数据,并算距平
TrueGrids = setdiff(1:37*37, find(isnan(um(:, 1))));
ut = um(TrueGrids, :);
vt = vm(TrueGrids, :);
mltt = mltm(TrueGrids, :) - mean(mltm(TrueGrids, :));
sstt = sstm(TrueGrids, :) - mean(sstm(TrueGrids, :));
ssht = sshm(TrueGrids, :) - mean(sshm(TrueGrids, :));
%% 1.3 求解EOF和PC
[EOFu, Su, Vu] = svd(ut, 'econ');
PCu = Su*Vu';
Eu = Su.^2/size(ut, 2);

[EOFv, Sv, Vv] = svd(vt, 'econ');
PCv = Sv*Vv';
Ev = Sv.^2/size(vt, 2);

[EOFmlt, Smlt, Vmlt] = svd(mltt, 'econ');
PCmlt = Smlt*Vmlt';
Emlt = Smlt.^2/size(mltt, 2);

[EOFsst, Ssst, Vsst] = svd(sstt, 'econ'));
PCsst = Ssst*Vsst';
Esst = Ssst.^2/size(sstt, 2);

C = sstt*sstt'/size(sstt,2);
[EOF, E] = eig(C);

[EOFssh, Sssh, Vssh] = svd(ssht, 'econ');
PCssh = Sssh*Vssh';
Essh = Sssh.^2/size(ssht, 2);
%% 1.4 取前3个模态
EOFu = EOFu(:, 1:3);
EOFv = EOFv(:, 1:3);
EOFmlt = EOFmlt(:, 1:3);
EOFsst = EOFsst(:, 1:3);
EOFssh = EOFssh(:, 1:3);
PCu = PCu(1:3, :);
PCv = PCv(1:3, :);
PCmlt = PCmlt(1:3, :);
PCsst = PCsst(1:3, :);
PCssh = PCssh(1:3, :);

EOFu3 = nan(37*37, 3);
EOFu3(TrueGrids, :) = EOFu;
EOFu3 = reshape(EOFu3, [37, 37, 3]);

EOFv3 = nan(37*37, 3);
EOFv3(TrueGrids, :) = EOFv;
EOFv3 = reshape(EOFv3, [37, 37, 3]);

EOFmlt3 = nan(37*37, 3);
EOFmlt3(TrueGrids, :) = EOFmlt;
EOFmlt3 = reshape(EOFmlt3, [37, 37, 3]);

EOFsst3 = nan(37*37, 3);
EOFsst3(TrueGrids, :) = EOFsst;
EOFsst3 = reshape(EOFsst3, [37, 37, 3]);

EOFssh3 = nan(37*37, 3);
EOFssh3(TrueGrids, :) = EOFssh;
EOFssh3 = reshape(EOFssh3, [37, 37, 3]);
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2020-8-12 09:25:16 | 显示全部楼层
ghf2679451792 发表于 2020-8-12 08:41
我是针对流速U、V说的,SSTA是有意义的,但是流速分量算个距平,然后合成为矢量,我不清楚物理意义是什么 ...

你没学过多变量EOF嘛。。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2020-8-12 09:28:46 | 显示全部楼层
ghf2679451792 发表于 2020-8-12 08:41
我是针对流速U、V说的,SSTA是有意义的,但是流速分量算个距平,然后合成为矢量,我不清楚物理意义是什么 ...

诶算了,这样吧,你看一下吴洪宝老师的统计书,气象家园上肯定有。我读过的统计书,只有他提过一句对原始场做EOF;其他都是讲距平或者标准化的。唔,反正看你的提问是槽点满满啊。。多变量EOF先不说,你先理解最经典的EOF吧。至于量级比较小,其实你说的不是量级,而是量纲或者单位。是因为距平场=EOF1*PC1+EOF2*PC2+....,我们一般把PC给标准化,把它的标准差乘在EOF上,这样EOF就保留了原来的单位。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-8-12 10:49:27 | 显示全部楼层
伽蓝鸟 发表于 2020-8-12 09:28
诶算了,这样吧,你看一下吴洪宝老师的统计书,气象家园上肯定有。我读过的统计书,只有他提过一句对原始 ...

嗯,我刚才也在想,逐渐理解一些了,应该说EOF并不具有什么物理含义,它只是无量纲数,类似于比例
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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