使用 Pandas 自相关图 - 如何限制 x 轴以使其更具可读性



我正在使用python 3.7。

我正在使用 ARIMA 模型执行时间序列预测。我正在使用自相关图评估ARIMA数据的属性 - 特别是使用来自pandas.plotting的autocorrelation_plot。

我的数据有 50,000 条左右的记录,这使得绘图非常繁忙,很难挑选出任何具体的趋势。有没有办法限制 x 轴以使前几百个滞后更加聚焦?

我无法分享实际情节,但我的代码如下:

import pandas as pd
from pandas.plotting import autocorrelation_plot
#Import Data
time_series_2619 = pd.read_csv("Consumption/2619.csv", parse_dates=['Date/Time'], index_col = ['Date/Time'])['Recording']
#Auto Correlation Plot
autocorrelation_plot(time_series_2619)

我在文档中找不到任何内容。

>autocorrelation_plot返回一个matplotlib.axis对象。因此,您可以简单地使用 set_xlim() 方法来限制 x 轴:

ax = autocorrelation_plot(time_series_2619)
ax.set_xlim([0, 500])
或者

,您可以使用 plot_acf() 函数并指定滞后。

# import the plotting functions for act and pacf  
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
plot_acf(df1['Thousands of Passengers'], lags=40);

只是为了添加另一种绘制自相关的方法,说实话,在小数据情况下要快得多:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
plt.title('Autocorrelation plot')
plt.plot(np.arange(720), [time_series_2619['column_name'].autocorr(j) for j in range(720)])
plt.show();

您只是在使用 pandas 系列的 Series.autocorr() 函数,它需要一个滞后数并返回两个时间戳之间的自相关。做一个简单的理解列表,你将能够有一个自相关数组,可以使用pyplot轻松绘制。

最新更新