📅  最后修改于: 2023-12-03 15:04:40.586000             🧑  作者: Mango
本文将介绍如何使用Python计算移动平均时间序列。
移动平均时间序列是指在一段时间内,取平均值作为预测值的一种方法。这种方法可以平滑时间序列并减少噪音。移动平均可以是简单移动平均、加权移动平均或指数移动平均。
我们可以使用Python中的pandas库计算移动平均。pandas提供了rolling()函数来计算滚动统计数据,rolling()函数接收滚动窗口大小作为参数。
以下代码展示如何计算简单移动平均时间序列和指数移动平均时间序列:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 创建时间序列
date_rng = pd.date_range(start='1/1/2022', end='1/10/2022', freq='H')
time_series = pd.Series(np.random.randint(0,100,size=(len(date_rng))))
# 计算简单移动平均
rolling_time_series = time_series.rolling(window=3).mean()
# 计算指数移动平均
ewm_time_series = time_series.ewm(span=3).mean()
# 绘制图表
plt.plot(date_rng, time_series, label='Time Series')
plt.plot(date_rng, rolling_time_series, label='Simple Moving Average')
plt.plot(date_rng, ewm_time_series, label='Exponential Moving Average')
plt.legend()
plt.show()
以上代码创建了一个时间序列,然后计算了滑动窗口为3的简单移动平均和指数移动平均。最后,使用Matplotlib绘制了时间序列和两种移动平均线。
本文介绍了如何使用Python计算移动平均时间序列。您可以使用pandas库的rolling()函数计算简单移动平均、加权移动平均或指数移动平均,以平滑时间序列并减少噪音。