神经网络基础-神经网络补充概念-46-指数加权平均的偏差修正

由来

指数加权平均(Exponential Moving Average,EMA)在初始时可能会受到偏差的影响,特别是在数据量较小时,EMA的值可能会与实际数据有较大的偏差。为了修正这种偏差,可以使用偏差修正方法,通常会将EMA的初始值初始化为第一个数据点,然后逐步修正。

公式

偏差修正的EMA计算公式如下:

EMA(t) = { x(t),                 if t = 0
          α * x(t) + (1 - α) * EMA(t-1),  if t > 0 }

其中,t 表示当前时刻,x(t) 表示当前时刻的数据点,α 是平滑因子。在这个偏差修正版本的EMA中,当t=0时,直接将EMA初始化为第一个数据点。

代码实现

import numpy as np
import matplotlib.pyplot as plt

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

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

# 计算带有偏差修正的指数加权平均
ema_bias_corrected = np.zeros_like(data)
ema_bias_corrected[0] = data[0]
for t in range(1, len(data)):
    ema_bias_corrected[t] = alpha * data[t] + (1 - alpha) * ema_bias_corrected[t-1]

# 绘制原始数据和带有偏差修正的指数加权平均
plt.plot(data, label='Original Data')
plt.plot(ema_bias_corrected, label=f'EMA with Bias Correction (alpha={alpha})', color='red')
plt.legend()
plt.xlabel('Time')
plt.ylabel('Value')
plt.title('Exponential Moving Average with Bias Correction')
plt.show()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丰。。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值