Time Series Decomposition with Statsmodels in Python
import matplotlib.pyplot as plt from statsmodels.tsa.seasonal import seasonal_decompose import pandas as pd
load data
data = pd.read_csv('data.csv', parse_dates=['date'], index_col='date')
plot data
plt.plot(data) plt.title('Original Data') plt.xlabel('Year') plt.show()
decompose data
result = seasonal_decompose(data, model='multiplicative', period=12)
plot decomposition
fig, axes = plt.subplots(ncols=1, nrows=4, sharex=True, figsize=(10,8)) axes[0].plot(result.observed) axes[0].set_ylabel('Observed') axes[1].plot(result.trend) axes[1].set_ylabel('Trend') axes[2].plot(result.seasonal) axes[2].set_ylabel('Seasonal') axes[3].plot(result.resid) axes[3].set_ylabel('Residual') plt.xlabel('Year') plt.show()
原文地址: https://www.cveoy.top/t/topic/nzt7 著作权归作者所有。请勿转载和采集!