解释:指数加权移动平均(EWMA)

指数加权移动平均(EWMA, Exponential Weighted Moving Average) 是一种常用于时间序列平滑、异常检测、过程控制等领域的统计方法。相比普通移动平均,它对最近的数据赋予更高权重,对旧数据逐渐“淡化”。


✅ 一、通俗理解

想象你在追踪一个传感器的温度信号:

  • 如果今天的温度变化剧烈,你可能更关注今天的数据;
  • 昨天、前天的数据也重要,但权重要低一些;
  • EWMA 就是一个“记忆逐渐衰退”的平均方法。

✅ 二、公式讲解

假设:

  • 当前时间点为 t t t
  • 当前观测值为 x t x_t xt
  • 当前 EWMA 为 s t s_t st
  • 平滑系数为 α \alpha α,范围在 ( 0 , 1 ] (0, 1] (0,1]

EWMA 计算公式:

s t = α ⋅ x t + ( 1 − α ) ⋅ s t − 1 s_t = \alpha \cdot x_t + (1 - \alpha) \cdot s_{t-1} st=αxt+(1α)st1

其中:

  • s t s_t st:当前的平滑值
  • s t − 1 s_{t-1} st1:上一个时刻的平滑值
  • x t x_t xt:当前观测值
  • α \alpha α:控制“记忆力”的程度

✅ 三、平滑系数 ( \alpha ) 的意义

α \alpha α解释适用场景
趋近于 1强调最新值,反应更灵敏快速检测突变、异常检测
趋近于 0更平滑,强调长期趋势长期趋势分析、去除波动噪声

✅ 四、初始值设定

  • 一般 s 0 = x 0 s_0 = x_0 s0=x0,即用第一个观测值作为初始均值;
  • 或者可以使用简单平均的结果作为初始值,增强稳定性。

✅ 五、特点总结

特点描述
权重指数衰减越旧的数据权重越小
实时更新只依赖当前值和上一个 EWMA,适合在线计算
响应迅速可控通过 α \alpha α 控制对突变的响应程度
常用于过程监控比如在质量控制图(如 EWMA控制图)中监测变量是否偏离控制线

✅ 六、图示(如果可视化)

如果画出数据曲线和 EWMA 曲线,会看到:

  • 原始数据波动较大
  • EWMA 曲线更平滑,且在数据趋势变动时会“有延迟地”跟着变

✅ 七、简单 Python 示例

import numpy as np
import matplotlib.pyplot as plt# 模拟数据
np.random.seed(0)
x = np.random.randn(100).cumsum()# 计算 EWMA
alpha = 0.2
s = np.zeros_like(x)
s[0] = x[0]
for t in range(1, len(x)):s[t] = alpha * x[t] + (1 - alpha) * s[t - 1]# 画图
plt.plot(x, label="原始数据")
plt.plot(s, label="EWMA (α=0.2)", linewidth=2)
plt.legend()
plt.title("指数加权移动平均(EWMA)示意图")
plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/75669.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 项目基于责任链模式实现复杂接口的解耦和动态编排!

全文目录: 开篇语前言一、责任链模式概述责任链模式的组成部分: 二、责任链模式的核心优势三、使用责任链模式解耦复杂接口1. 定义 Handler 接口2. 实现具体的 Handler3. 创建订单对象4. 在 Spring Boot 中使用责任链模式5. 配置责任链6. 客户端调用 四、…

COMSOL仿真遇到的两个小问题

最近跑热仿真的时候跑出了两个问题,上网查发现也没什么解决方式,最后自己误打误撞的摸索着解决了,在这里分享一下。 问题一 我当时一准备跑仿真就弹出了这个东西,但在此之前从未遇到 然后我试着在它说的路径中建立recoveries文件…

如何在英文学术写作中正确使用标点符号?

标点符号看似微不足道,但它们是书面语言的无名英雄。就像熟练的指挥家指挥管弦乐队一样,标点符号可以确保您的写作流畅、传达正确的含义并引起读者的共鸣。正如放错位置的音符会在音乐中造成不和谐一样,放错位置的逗号或缺少分号也会使您的写…

【深度学习与大模型基础】第10章-期望、方差和协方差

一、期望 ——————————————————————————————————————————— 1. 期望是什么? 期望(Expectation)可以理解为“长期的平均值”。比如: 掷骰子:一个6面骰子的点数是1~6&#x…

JAVA虚拟机(JVM)学习

入门 什么是JVM JVM:Java Virtual Machine,Java虚拟机。 JVM是JRE(Java Runtime Environment)的一部分,安装了JRE就相当于安装了JVM,就可以运行Java程序了。JVM的作用:加载并执行Java字节码(.class&#…

【数据结构与算法】——堆(补充)

前言 上一篇文章讲解了堆的概念和堆排序,本文是对堆的内容补充 主要包括:堆排序的时间复杂度、TOP 这里写目录标题 前言正文堆排序的时间复杂度TOP-K 正文 堆排序的时间复杂度 前文提到,利用堆的思想完成的堆排序的代码如下(包…

什么是柜台债

柜台债(柜台债券业务)是指通过银行等金融机构的营业网点或电子渠道,为投资者提供债券买卖、托管、结算等服务的业务模式。它允许个人、企业及机构投资者直接参与银行间债券市场的交易,打破了以往仅限机构参与的壁垒。以下是综合多…

【Android读书笔记】读书笔记记录

文章目录 一. Android开发艺术探索1. Activity的生命周期和启动模式1.1 生命周期全面分析 一. Android开发艺术探索 1. Activity的生命周期和启动模式 1.1 生命周期全面分析 onPause和onStop onPause后会快速调用onStop,极端条件下直接调用onResume 当用户打开新…

Java对象内存结构详解

Java对象内存结构详解 Java对象在JVM内存中的存储结构可以分为三个部分:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。以下是64位JVM(开启压缩指针)下…

【TI MSPM0】Printf重定向学习

一、新建工程 通过XDS110与电脑进行通信。 选择这两个引脚 需要添加这两个头文件 在程序中添加这三个函数即可对printf进行重定向 二、封装函数 另一种方法 封装一个函数,定义一个数组

深度强化学习基础 0:通用学习方法

过去自己学习深度强化学习的痛点: 只能看到各种术语、数学公式勉强看懂,没有建立清晰且准确关联 多变量交互关系浮于表面,有时候连环境、代理控制的变量都混淆 模型种类繁多,概念繁杂难整合、对比或复用,无框架分析所…

asm汇编源代码之-字库转换程序

将标准的16x16点阵汉字库(下载16x16汉字库)转换成适合VGA文本模式下显示的点阵汉字库 本程序需要调用file.asm中的子程序,所以连接时需要把file连接进来,如下 C:\> tlink chghzk file 调用参数描述如下 C:\> chghzk ; 无调用参数,转换标准库文件(SRC16.FNT)为适合VGA…

uniapp转换markdown

效果 AI智能体 微信小程序 流式 1.安装Node.js 参考:2024最新版Node.js下载安装及环境配置教程(非常详细)_node.js 安装-CSDN博客 2.需要克隆项目到本地或直接到项目地址下载压缩包。 参考:uniapp中解析markdown支持网页和小程序_uniapp ma…

用java代码如何存取数据库的blob字段

一.业务 在业务中我们被要求将文件或图片等转成 byte[] 或 InputStream存到数据库的Blob类型的字段中. 二.Blob类型介绍 在 MySQL 中,Blob 数据类型用于存储二进制数据。MySQL 提供了四种不同的 Blob 类型: TINYBLOB: 最大存储长度为 255 个字节。BL…

qemu(2) -- 定制开发板

1. 前言 qemu支持自定义开发板,本文就记录一下折腾的过程。基于qemu-10.0.0-rc3添加x210vb3s开发板。 2. 添加板卡文件 网上参考了一些文章,有些文章使用的版本和我的不一样,折腾起来费了点时间,最后发现还是直接参考qemu中已有…

Python在糖尿病分类问题上寻找具有最佳 ROC AUC 分数和 PR AUC 分数(决策树、逻辑回归、KNN、SVM)

Python在糖尿病分类问题上寻找具有最佳 ROC AUC 分数和 PR AUC 分数(决策树、逻辑回归、KNN、SVM) 问题模板解题思路1. 导入必要的库2. 加载数据3. 划分训练集和测试集4. 数据预处理5. 定义算法及其参数6. 存储算法和对应指标7. 训练模型并计算指标8. 找…

CPU(中央处理器)

一、CPU的定义与核心作用 CPU 是计算机的核心部件,负责 解释并执行指令、协调各硬件资源 以及 完成数据处理,其性能直接影响计算机的整体效率。 核心功能: 从内存中读取指令并译码。执行算术逻辑运算。控制数据在寄存器、内存和I/O设备间的…

上层 Makefile 控制下层 Makefile 的方法

在复杂的项目中,通常会将项目划分为多个模块或子项目,每个模块都有自己的 Makefile。上层 Makefile 的作用是协调和控制这些下层 Makefile 的构建过程。下面是几种常见的示例,实现上层 Makefile 对下层 Makefile 的控制。 直接调用&#xff1…

prompts提示词经典模板

prompts.py 中的提示词模板详解 文件中定义了两个核心提示词模板:REASON_PROMPT 和 RELEVANT_EXTRACTION_PROMPT。这两个模板在 DeepResearcher 的推理过程中扮演着关键角色。下面我将详细解析这两个模板的结构和功能。 REASON_PROMPT 详解 REASON_PROMPT 是用于指…

使用python获取电脑硬盘信息

import psutil# 获取硬盘信息 disk_partitions psutil.disk_partitions() print(disk_partitions) for partition in disk_partitions:print(f"设备: {partition.device}")print(f"挂载点: {partition.mountpoint}")print(f"文件系统类型: {partitio…