我是Python初学者。我正在尝试通过在matplotlib中使用acorr进行自相关分析之前破坏时间序列。但是我无法理解某些语法。
Matplotlib的网站(https://matplotlib.org/3.1.0/api/_as_gen/matplotlib.pyplot.acorr.html)描述了如何通过acorr函数使用去趋势:“ x被可调用的去趋势所去。这必须是一个函数x = detrend(x),该函数接受并返回numpy.array。 ”我一定读错了,因为我使用的代码不起作用。
plt.acorr(values, detrend=True)
plt.acorr(values, detrend="linear")
plt.acorr(values=detrend(values))
如您所见,关于语法或matplotlib的一些基本知识使我无法理解。请帮忙。
答案 0 :(得分:1)
在matplotlib.mlab中,您可以找到可用于趋势消除的函数。一个例子:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import mlab
wn = np.random.normal(size=10**3)
plt.figure()
plt.acorr(np.abs(wn), maxlags=200, detrend=mlab.detrend_none) #default detrend
plt.figure()
plt.acorr(np.abs(wn), maxlags=200, detrend=mlab.detrend) #subtract sample mean