神经网络基础-神经网络补充概念-45-指数加权平均

概念

指数加权平均(Exponential Moving Average,EMA)是一种平均方法,用于平滑时间序列数据或者计算变量的滚动均值。它对数据的权重分布呈指数递减,越靠近当前时刻的数据权重越高,越远离当前时刻的数据权重越低。EMA在信号处理、金融分析和深度学习等领域中有广泛应用,可以用于去噪、趋势分析以及模型参数更新等场景。

公式

EMA的计算公式如下:

python 复制代码
EMA(t) = α * x(t) + (1 - α) * EMA(t-1)

其中,t 表示当前时刻,x(t) 表示当前时刻的数据点,α 是平滑因子(也称为衰减因子),通常取值范围在0到1之间。EMA(t-1) 表示上一时刻的指数加权平均。

在每一步迭代中,都会计算新的EMA值,这样可以在数据流动过程中对数据进行平滑处理。

代码实现

python 复制代码
import numpy as np
import matplotlib.pyplot as plt

# 生成随机数据
np.random.seed(0)
data = np.random.randn(100)

# 指数加权平均的平滑因子
alpha = 0.2

# 计算指数加权平均
ema = np.zeros_like(data)
ema[0] = data[0]
for t in range(1, len(data)):
    ema[t] = alpha * data[t] + (1 - alpha) * ema[t-1]

# 绘制原始数据和指数加权平均
plt.plot(data, label='Original Data')
plt.plot(ema, label=f'EMA (alpha={alpha})', color='red')
plt.legend()
plt.xlabel('Time')
plt.ylabel('Value')
plt.title('Exponential Moving Average')
plt.show()
相关推荐
Wbp7 小时前
本地 Codex 接口登录报错 account/read failed 的排查与修复记录
人工智能
X Chow7 小时前
用 NotebookLM 高效阅读文献与撰写综述:从入门到精通的完整指南
人工智能
yanwei20207 小时前
NinChat:构建 AI 时代的实时新闻搜索基础设施
人工智能·ai agent·openclaw·hermes·meilishard·热点新闻聚合
小开_ALSKai7 小时前
Obsidian 最强的 AI 功能,就是它没有 AI 功能
人工智能·agent
_codemonster7 小时前
从零手搓大模型(五)把 GPT 微调成垃圾信息分类器
人工智能·gpt·机器学习
郭泽斌之心7 小时前
不买 Trading Central,自己做一套交易信号引擎:MA/BB/Pivot/ATR + 集中采集架构
人工智能·深度学习·ea·mt5·fay数字人·easydeal
想会飞的蒲公英7 小时前
一个 PyTorch 模型训练的完整流程
人工智能·pytorch·python
Lucky_luckyZzz7 小时前
销售会话分析设备选型:成熟方案实测红榜与避坑指南
人工智能
c_lb72887 小时前
最新AI量化练习,小策略更适合练流程感
人工智能·python
腾讯云大数据7 小时前
腾讯云TBDS面向AI时代的多模态智算平台,助力企业AI转型
人工智能·云计算·腾讯云·tbds