时间序列分析 Tsfresh 基于统计学的时间序列分析方法 2、移动平均模型

原文链接:点这里

移动平均模型(Moving Average)

移动平均模型(MA)依赖的基础是每个时刻点的值是历史数据点错误项的函数,其中这些错误项是互相独立的。

MA模型和AR模型的公式很类似,只是将公式中的历史数值替换成了历史数据的错误项e,由于错误项e是互相独立的,所以在MA模型中,t时刻的数值仅仅和最近的q个数值有关,而和更早的数据之间没有自相关性,在下面的实战中可以看到,如果对MA序列绘制ACF图,它的自相关关系是突然截断的。而AR序列的ACF图常常是缓慢下降的。

  yt = μ + et + θ*et-1 + θ*et-2 + ... + θ*et-q

同样的,和AR模型类似,满足上述公式的时间序列可以用MA(q)来表示。

import matplotlib.pyplot as plt
import numpy as np
from statsmodels.tsa.arima_process import ArmaProcess
from statsmodels.graphics.tsaplots import plot_acf

# 模拟MA序列
# ar,ma必须以array的形式输入,且第一位表示lag=0,通常这个值会设为1
ar = np.array([1])  # ar项只有一个间隔=0的值表示是一个纯MA序列
ma = np.array([1, -0.9])    # ma序列有两个值,第一个是常数项,第二个是前一个时刻的系数,这是一个MA(1)模型
MA_object = ArmaProcess(ar, ma)
simulated_data = MA_object.generate_sample(nsample=1000)
plt.plot(simulated_data)
plt.show()

# 画出acf图像后看到,如上文所说,对于一个MA(1)序列,从时间间隔大于等于2开始,相关系数断崖式下降
plot_acf(simulated_data, lags=20)
plt.show()

 

后面还有实例应用,没看懂QAQ

posted @   xunzf  阅读(117)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示