使用 Pandas 自相关图 - 如何限制 x 轴以使其更具可读性?
Using Pandas Autocorrelation Plot - how to limit x-axis to make it more readable?
我正在使用 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
returns 一个 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()
函数,它需要滞后数和 returns 两个时间戳之间的自相关。做一个简单的理解列表,您将能够拥有一系列自相关,可以使用 pyplot 轻松绘制。
我正在使用 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
returns 一个 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()
函数,它需要滞后数和 returns 两个时间戳之间的自相关。做一个简单的理解列表,您将能够拥有一系列自相关,可以使用 pyplot 轻松绘制。