指数加权移动平均(Exponential Weighted Moving Average)

为什么在优化算法中使用指数加权平均 本文知识点: 什么是指数加权平均? 为什么在优化算法中使用指数加权平均? β 如何选择? 1. 什么是指数加权平均 指数加权平均(exponentially weighted averges),也叫指数加权移动平均,是一种常用的序列数据处理方式。 它的计算公式如下: 其中, θtθtθ_t:为第 t 天的实际观察值, VtVtV_t: 是要代替 θtθtθ_t 的估... 阅读详情

一、EMA 简介

1、演化

  • 算术平均(权重相等)—>加权平均(权重不等)—>移动平均(大约是只取最近的 N 次数据进行计算)—> 批量归一化(BN)及各种优化算法的基础
  • EMA:是以指数式递减加权的移动平均,各数值的加权影响力随时间呈指数式递减,时间越靠近当前时刻的数据加权影响力越大

2、公式及理解

这里写图片描述

  • vt=βvt−1+(1−β)θt v t = β v t − 1 + ( 1 − β ) θ t ,公式中 θt θ t 为 t 时刻的实际温度;系数 β β 表示加权下降的快慢,值越小权重下降的越快; vt v t 为 t 时刻 EMA 的值。
  • 当 v0=0 v 0 = 0 时,可得: vt=(1−β)(θt+βθt−1+β2θt−2+...+βt−1θ1) v t = ( 1 − β ) ( θ t + β θ t − 1 + β 2 θ t − 2 + . . . + β t − 1 θ 1 ) ,从公式中可以看到:每天温度( θ θ )的权重系数以指数等比形式缩小,时间越靠近当前时刻的数据加权影响力越大。
  • 在优化算法中,我们一般取 β>=0.9 β >= 0.9 ,而 1+β+β2+...+βt−1=1−βt1−β 1 + β + β 2 + . . . + β t − 1 = 1 − β t 1 − β ,所以当 t 足够大时 βt≈0 β t ≈ 0 ,此时便是严格意义上的指数加权移动平均。
    这里写图片描述
  • 在优化算法中,我们一般取 β>=0.9 β >= 0.9 ,此时有 β11−β≈1e≈0.36 β 1 1 − β ≈ 1 e ≈ 0.36 ,也就是说 N=11−β N = 1 1 − β 天后,曲线的高度下降到了约原来的 13 1 3 ,由于时间越往前推移 θ θ 权重越来越小,所以相当于说:我们每次只考虑最近(latest) N=11−β N = 1 1 − β 天的数据来计算当前时刻的 EMA,这也就是移动平均的来源。

二、EMA 偏差修正

这里写图片描述

  • 在 β=0.98 β = 0.98 时,理想状况下,我们应该能得到绿色曲线,然而现实我们得到的却是紫色曲线,它的起点比真实的要低很多,不能很好的估计起始位置的温度,此问题称为:冷启动问题,这是由于 v0=0 v 0 = 0 造成的。
  • 解决方案:将所有时刻的 EMA 除以 1−βt 1 − β t 后作为修正后的 EMA。当 t 很小时,这种做法可以在起始阶段的估计更加准确;当 t 很大时,偏差修正几乎没有作用,所以对原来的式子几乎没有影响。注意:我们一般取 β>=0.9 β >= 0.9 ,计算 t 时刻偏修正后的 EMA 时,用的还是 t−1 t − 1 时刻修正前的EMA。

三、EMA 的优点及其应用理解

1、EMA 的优点

  • 它占用极少内存:计算指数加权平均数只占用单行数字的存储和内存,然后把最新数据代入公式,不断覆盖就可以了。
  • 移动平均线能较好的反应时间序列的变化趋势,权重的大小不同起到的作用也是不同,时间比较久远的变量值的影响力相对较低,时间比较近的变量值的影响力相对较高。

2、EMA 在 Momentum 优化算法中应用的理解

  • 假设每次梯度的值都是 g g 、γ=0.95 ,此时参数更新幅度会加速下降,当 n 达到 150 左右,此时达到了速度上限,之后将匀速下降(可参考一中的公式理解)。
  • 假如,在某个时间段内一些参数的梯度方向与之前的不一致时,那么真实的参数更新幅度会变小;相反,若在某个时间段内的参数的梯度方向都一致,那么其真实的参数更新幅度会变大,起到加速收敛的作用。在迭代后期,由于随机噪声问题,经常会在收敛值附近震荡,动量法会起到减速作用,增加稳定性。
    这里写图片描述

四、参考资料

1、Coursera:Exponentially-Weighted-Moving-Averages
2、Gluon:优化算法中关于 EMA 的讲解
3、优化算法之指数移动加权平均

史上最通俗易懂的EWMA(指数加权移动平均)的参数解释以及程序代码 在上述代码中,我们首先使用pandas中的Series数据类型生成了一组示例数据,然后调用ewm()函数对其进行计算并指定alpha参数为0.5。最后,我们输出了原始数据和EWMA数据以供参考。 阅读详情

相关推荐

数据平滑技术全解析:从移动平均到Kalman滤波的降噪与趋势提取

在数据分析与信号处理领域,数据平滑是一类基础且关键的预处理技术,其核心原理是通过数学方法滤除数据中的短期随机波动(噪声),从而提取出长期趋势与稳定模式。这一过程通常基于滑动窗口或递归计算,对数据点及其邻域信息进行加权或拟合,生成更平滑的序列。从工程实践角度看,掌握数据平滑技术能显著提升数据质量,为后续的统计分析、机器学习模型训练(如时间序列预测)以及业务决策提供更可靠的输入。常见的应用场景包括金融时间序列分析、传感器信号去噪、业务指标趋势观察以及工业生产质量控制等。本文聚焦于移动平均、指数平滑、Savitz

weixin_30254435的博客 428

滑动平均模型

指数加权平均算法的原理 在书上看到了滑动平均模型,不懂什么意思,然后博客上有一篇写的很明白,摘抄了一段,然后附上书中的代码。 TensorFlow中的滑动平均模型使用的是滑动平均(Moving Average)算法,又称为指数加权移动平均算法(exponenentially weighted average),这也是ExponentialMovingAverage()函数的名称由来。 先来看...

Dongjiuqing的博客 1万+

技术分析基石:移动平均线(MA、WMA、EMA)原理、应用与实战策略

移动平均线是技术分析中用于平滑价格数据、识别趋势的核心工具。其基本原理是通过计算特定周期内价格的平均值,过滤市场短期波动噪音,从而揭示资产价格运行的主要方向。根据对历史数据权重的不同处理方式,衍生出简单移动平均线(SMA)、加权移动平均线(WMA)和指数移动平均线(EMA)等主要类型,它们在滞后性和灵敏度上各有侧重。理解这些均线的计算逻辑与设计哲学,对于构建稳健的交易系统至关重要,能帮助交易者更有效地进行趋势跟踪、判断支撑阻力,并作为多空过滤的重要依据。在实际应用中,均线常与金叉死叉、均线排列等形态结合,并

weixin_33968104的博客 360

指数加权移动平均

一.概述 指数加权移动平均(Exponential Weighted Moving Average),简称EMA。 算术平均(权重相等)—>加权平均(权重不等)—>移动平均(大约是只取最近的N次数据进行计算)—> 批量归一化(BN)及各种优化算法的基础 EMA:是以指数式递减加权的移动平均,各数值的加权影响力随时间呈指数式递减,时间越靠近当前时刻的数据加权影响力越大 以伦敦...

bestrivern的博客 9190

Linux Load Average 原理与实战:读懂 R/D 进程队列的系统负载指标

Load Average 是 Linux 系统核心性能指标,反映单位时间内处于可运行(R)或不可中断睡眠(D)状态的平均进程数,而非 CPU 使用率。其本质是内核调度队列长度的指数加权移动平均,直接关联 CPU 核心数、I/O 阻塞、锁竞争等底层资源瓶颈。该指标具备零采样开销、全栈覆盖、跨代兼容等技术优势,在云原生与高并发场景中仍是定位性能问题的‘第一哨兵’。结合 uptime、top、glances 及 iostat 等工具,可快速区分 CPU 密集型与 I/O 密集型异常,尤其适用于排查 NFS 延迟、

weixin_34242331的博客 520

【信息科学与工程学】【数据科学】数据科学领域理论10-数据测试之数值测试(数值分析、数值计算、数值极限、数值纠偏)

数值测试

weixin_49199313的博客 1342

理解exponential weighted || 指数

Exponentially weighted moving average average is a single data point; moving average is a sequence of data point; weighted moving average means the process calculating average 给不同元素不同权重; exponential weighted moving average 指计算权重的方式是指数方式; 先看这四个概念中最核心的aver..

漫步量化 1107

时序SDC约束set_data_check及常见应用场景

时序约束SDC之set_data_check命令及常见应用场景解析

weixin_37584728的博客 2275

vcluster 仓库中的 EWMA 依赖解析:VividCortex/ewma 指数加权移动平均算法库使用指南

> 本篇文章以 vcluster 仓库 `vendor/github.com/VividCortex/ewma` 目录下的官方 README 与 [ewma.go](https://link.gitcode.com/i/707c4128d42de78dbc2c9219cf1766eb) 源码为核心,系统讲解指数加权移动平均(EWMA)的算法原理、alpha 衰减因子的选择方法,以及 `Simple

gitblog_00087的博客 341

西门子828D/840DSL数控机床产量数据采集实战:一个C#程序员的踩坑与填坑记录

本文详细记录了C#程序员在西门子828D/840DSL数控机床产量数据采集实战中的经验与教训。从硬件连接到软件配置,再到数据读取与异常处理,文章分享了工业现场编程的特殊挑战和解决方案,特别是针对数控系统的TCP/IP通信、PLC变量地址映射及数据解析等关键技术点。

weixin_42741930的博客 590

基于STM32F103与AD8232的便携式心电监测系统设计与实现

本文详细介绍基于STM32F103微控制器与AD8232心电传感器模块的便携式心电监测系统设计与实现。系统通过ADC采集心电信号,结合软件滤波算法处理基线漂移和工频干扰,并利用OLED屏幕实时显示波形,具有低成本、高实用性的特点,适用于健康监测与嵌入式学习。

m5n6o7的博客 732

Exponentially Weighted Moving-Average

指数加权平均值 一下是基于pandas的。 应该是和exponential smoothing or Holt–Winters method 是基于一个基础的。 DEMO, 原址:http://connor-johnson.com/2014/02/01/smoothing-with-exponentially-weighted-moving-averages/ # -*- codi...

weixin_30600197的博客 305

ERA5数据驱动WRFV4.4实战:单层嵌套配置与关键报错排查指南

本文详细介绍了使用ERA5再分析数据驱动WRFV4.4模式进行单层嵌套模拟的完整实战流程。内容涵盖从数据精准下载、WPS前处理配置、WRF核心参数设置到高频报错的深度排查与解决方案,旨在帮助初学者在有限服务器资源下,高效完成WRF模拟并规避常见陷阱。

q5r6s7的博客 767

时间序列预测类算法(一)「移动平均与指数平滑」

文章摘要 本文系统介绍了时间序列预测的核心方法,重点讲解了移动平均和指数平滑两大技术体系。 移动平均包括简单移动平均(同等权重)和加权移动平均(近期权重更高),适用于平稳序列的短期预测。指数平滑系列方法则通过权重指数衰减机制,实现了更灵活的预测: 简单指数平滑(SES)处理无趋势数据 Holt双指数平滑增加趋势项 Holt-Winters三指数平滑进一步加入季节因子,分为加法模型(固定季节波动)和乘法模型(波动幅度随水平变化) 文章通过食堂人流预测的生动比喻,配合Python代码实现,清晰展示了各方法的数学

lidinghu的博客 272

yolov8的Detect层详解(输出维度改动)

对于部署端需要拿到onnx的output进行后处理,但是基于anchor_free的yolov8输出是1*(4+cls)*8400,不是我们常见的ncwh格式,所以对Detect层进行了学习,分享一下体会。

yjcccccc的博客 2万+

扩展卡尔曼滤波 (EKF, Extended Kalman Filter) 算法详解及案例分析

扩展卡尔曼滤波是一种用于估计非线性动态系统状态的递归算法。其目标是通过结合非线性系统模型和观测数据,估计系统的最优状态。

闲人编程的博客 2366

Python | 移动平均法 销量预测

简单平均(SMA)​直接取最近N天的平均销量。 加权平均(WMA)​越近的数据权重越大(昨天比前天更重要)。 指数平滑(EMA)​​给每天销量按固定比例打折计算(新数据影响更大)。 ​​赫尔平均(HMA)​​用两次加权计算,既看趋势又防误判。

hao20211228的博客 1203

10、智慧变电站 - 加载vue大屏元素(整体效果)

这一篇文章非常简单,但是也非常出效果阅读前面几篇文章,都可以看到有顶部、左侧、右侧的面板,主要我不会录gif图片,大屏元素面板还有一些动态加载的效果。 vue的transition标签 Vue 提供了 transition 的封装组件,可以给任何元素和组件添加进入/离开过渡;在进入/离开的过渡中,会有 6 个 class 切换:v-enter 、v-enter-active 、v-enter-to 、v-leave 、v-leave-active 、v-leave-to。我们正好使用这个特性来达到面板进入

github_39988036的博客 1034

时间序列预测算法对比与分析

原则 :通常给最近的数据点( [ o bj ec tO bj ec t ] y t ​ )分配最高的权重( [ o bj ec tO bj ec t ] w n ),而给最远的数据点( [ o bj ec tO bj ec t ] y t − n + 1 ​ )分配最低的权重( [ o bj ec tO bj ec t ] w 1 )。这是时间序列预测领域最经典、应用最广泛的统计模型之一,由Box和Jenkins于1970年代提出,由自回归(AR)、差分(I)和移动平均(MA)三部分组成。

年轻即出发, 694

osgEarth加载大疆数据

【代码】osgEarth加载大疆数据。

weixin_44769745的博客 305

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Composer 中的 EMA 指数移动平均算法:原理、超参数与实战接入指南

本文以 MosaicML Composer 开源仓库中 [composer/algorithms/ema/README.md](https://link.gitcode.com/i/1904165ee31973256ea156d58158542f) 为骨架,系统讲解 **Exponential Moving Average(EMA)** 模型参数指数移动平均算法。EMA 在训练过程中维护一份对模型

gitblog_00705的博客 502

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

如何用Pyti快速实现技术分析?3分钟上手的简单教程

Pyti是一个功能强大的Python金融技术指标库,让新手也能轻松实现专业的技术分析。无论你是股票投资者、量化交易爱好者还是金融数据分析师,这个简单易用的工具都能帮助你快速计算各种技术指标,为投资决策提供数据支持。 ## 📦 快速安装Pyti的简单步骤 要开始使用Pyti进行技术分析,首先需要安装这个库。安装过程非常简单,只需在命令行中输入以下命令: ```bash pip install

gitblog_00840的博客 880

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

ta-rs:Rust技术分析库完全指南,从入门到精通

ta-rs是一个专为Rust语言设计的技术分析库,提供了丰富的金融市场技术指标计算功能,帮助开发者轻松构建高性能的交易分析工具和量化策略系统。无论是加密货币、股票还是期货市场分析,ta-rs都能为你提供可靠的技术指标支持。 ## 为什么选择ta-rs? ta-rs作为Rust生态中的技术分析解决方案,具有三大核心优势: - **极致性能**:利用Rust语言的内存安全和零成本抽象特性,指标计

gitblog_00526的博客 1079

dash.js 吞吐量计算模式(Throughput Calculation)完全指南:八种均值算法、配置参数与源码剖析

dash.js 提供了多种可配置的"当前平均吞吐量"(average throughput)计算方法,该计算结果是一系列 ABR(自适应码率)规则——如 [ThroughputRule](https://link.gitcode.com/i/9f3d55c5fc71b5f92ad8f000053d59ba)——决策下一段媒体码率的核心输入。本文将完整梳理 dash.js 支持的 8 种吞吐量计算模

gitblog_01177的博客 398

Pyti终极指南:探索70+金融技术指标的Python库完全解析

Pyti是一个功能强大的Python金融技术指标库,提供70多种常用技术分析工具,帮助交易者和投资者快速实现市场数据分析。无论是股票、期货还是加密货币市场,Pyti都能提供专业级的技术指标计算支持,让量化分析变得简单高效。 ## 📊 为什么选择Pyti?核心优势解析 ### 1. 全面的指标覆盖 Pyti包含70多种技术指标,涵盖趋势分析、动量指标、波动率指标和成交量指标四大类,满足不同交易

gitblog_00253的博客 852
上一篇: 过拟合和欠拟合问题
下一篇: 深度学习中的优化问题
man_world
博客等级 码龄11年 481粉丝 205原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值