news 2026/6/20 2:31:07

学习心得1——EOF分解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
学习心得1——EOF分解

前言

之前对EOF分解只是一知片解,没搞懂其存在的意义和数学公式的推导。最近在看文献的时候又遇到了这一概念,因为理解得不是很深导致文献读起来有些困难,因此把它专门学习了一下。以下便是我的一些学习心得:

一、EOF是什么

EOF(Empirical Orthogonal Function)是一种对时空数据进行正交分解的方法,其目标是把一个随时间变化的空间场分解为:空间模态(空间结构) + 时间系数(主成分 PC),其数学形式如下:

其中:
表示第个空间模态(EOF),描述空间结构;
表示对应的时间系数(PC),描述时间变化;
为最大可能的模态数量。

EOF的核心思想是——用少数几个最重要的正交空间模态来解释数据场的主要变化。

在我实际应用EOF的时候也直接对三维空间数据进行过分解,其维度分别为(深度,纬度,经度)。不过EOF是对时空二维数据进行分解的,所以我将水平方向(纬度和经度)展开成一个维度(相当于前面说的“空间”),将垂直方向(深度)作为另一维度(相当于前面说的“时间”),再带入公式中进行计算。

二、EOF 有什么用

1. 寻找主要空间结构

EOF 从数据中提取占方差最高的空间模态。我理解的是方差越大,模态中数据差异就越大,包含的信息就越多,这个模态就越重要。

2. 实现降维

原始数据可能包含数千个网格点,而 EOF 仅需要前几个模态,就能解释 70–90% 甚至更多的方差,从而大幅减小数据维度。

3. 识别时间尺度或物理过程

空间模态配合 PC 时间序列,常能揭示某些物理机制,如海表面温度的季节振荡、风场主控结构、内潮能量传播路径等。

三、EOF 的实现流程是什么

这里有一点让我困惑很久,在我查看其他大佬分享的经验贴时,常看见特征分解和SVD(奇异值分解),第一个在考研的时候学到过,但是第二个接触的很少。我想说的是,这两个方法在解决EOF问题上是等价的,只不过是以不同的方式处理矩阵。

假设原始数据矩阵,行表示空间,列表示时间。

1. 特征分解方法

1.1 去除时间均值

(这一步是为了去除相干信息,主要想知道非相干信息的变化)

对每一个空间点(每一行)做时间去均值:

去均值后的矩阵记为

1.2 构造空间协方差矩阵

其中,,表示空间点之间的协方差。

1.3 特征值分解

这里,​为第个 EOF 空间模态;为该模态的特征值(其大小代表解释的方差量)

1.4 计算时间系数(主成分 PC)

这相当于计算了一个时间点的数据,此时的维度是,把所有时间放在一起就得到:

其中,为 EOF 模态矩阵。

1.5 计算方差贡献率

用来衡量每个模态的重要性。

2. SVD实现

2.1 去除时间均值,同1.1

2.2 直接对X进行SVD

可将分解为以下三部分:

其中,-为左奇异向量组成的正交矩阵,其列向量是单位正交向量。-为右奇异向量矩阵,列向量为时间方向的单位正交向量。-准对角矩阵,唯一的非零元素位于对角线上。(这里要注意的是Σ为准对角矩阵,可以不是方阵)

2.3 得到空间模态和时间系数

空间模态等于左奇异向量,时间系数等于

这里要注意的是,此时对角线上的值为判断空间模态排序的依据,越大排名越靠前,同时也不要忘记对相应的排序。

四、EOF的应用场景

EOF 在地球科学尤其是大气和海洋科学中使用极为广泛,典型应用包括:

1. 空间结构提取

如海温场的主要模态(ENSO 模态)、风场的主导模式、海面高度异常的传播路径。

2. 物理过程分析

EOF 模态往往对应某种物理机制,如内潮能量不均匀分布、涡旋活动主结构、季节变化主模态等。

3. 数据降维

常用于同化、机器学习前处理、预测模型输入压缩。

4. 噪声滤波

通过保留前几个方差贡献率高的模态,可以过滤随机噪声模态(贡献率极低)。

5. 特征构建

在深度学习或统计模型中,EOF 提供更稳定、更物理的特征。

五、实例代码

这个很好实现啦,大家GPT一下就可以了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 4:42:12

SpringBoot快速搭建登录注册模块(含Thymeleaf页面+H2数据库+完整接口)

本文还有配套的精品资源,点击获取 简介:直接运行就能用的SpringBoot登录注册功能模板,覆盖用户注册、密码加密存储、登录验证、会话管理、前端表单提交与后端REST接口响应全流程。项目基于Spring Boot 2.x,内置Thymeleaf渲染简…

作者头像 李华
网站建设 2026/6/20 2:23:53

OpsTiny:一款面向技术团队的密码与资产协作工具

1. 产品概述 OpsTiny 是一个面向技术团队的密码与开发资产协作平台,官网地址为 https://opstiny.cn。 根据官网描述,该产品提供以下核心能力: 端到端加密存储集中管理开发/运维资产支持 Windows 11/10 和 macOS 10.12 客户端支持 Server、Dat…

作者头像 李华
网站建设 2026/6/20 2:29:34

生产级AI智能体设计:场景化组装与决策灰度带实践

1. 项目概述:这不是又一个“AI Agent”概念秀,而是一份踩过二十多个坑后的实操手记“Building Smarter Agents: A Practitioner’s Journey Through Agentic AI”——这个标题里没有“零代码”“三分钟上手”“爆火模型”,也没有“颠覆性突破…

作者头像 李华
网站建设 2026/6/6 4:38:06

BERT中文微调实战:从Tokenizer陷阱到分层调参的工业级避坑指南

1. 这不是又一篇“BERT原理速读”,而是一份能让你真正动手调参、看懂日志、避开预训练陷阱的实战手记你点开这篇,大概率正卡在某个地方:跑通了Hugging Face的pipeline,但换自己数据就崩;Fine-tuning时loss掉得飞快&…

作者头像 李华
网站建设 2026/6/8 4:18:08

图解gem5:手把手拆解一个TimingSimpleCPU系统模拟的完整数据流

图解gem5:手把手拆解一个TimingSimpleCPU系统模拟的完整数据流当你第一次在gem5中运行simple.py并看到"Hello world"输出时,是否好奇这简单的输出背后隐藏着怎样的复杂机制?作为计算机体系结构研究的黄金标准,gem5模拟器…

作者头像 李华
网站建设 2026/6/6 4:34:13

别再乱接地了!从PCB小白到老鸟,聊聊单点、多点、混合接地的实战选择(附高频/低频电路设计实例)

从示波器波形到PCB布局:硬件工程师的接地决策实战手册刚完成第一版智能家居控制板的Layout设计,示波器上却出现了诡异的50mV高频毛刺——这个场景对从理论转向实战的硬件工程师来说再熟悉不过。接地,这个在教科书里用两页纸就能讲完的概念&am…

作者头像 李华