如何对matplotlib.pyplot.acorr使用去趋势功能?

时间:2019-07-08 05:34:02

标签: python matplotlib autocorrelation

我是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的一些基本知识使我无法理解。请帮忙。

1 个答案:

答案 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