import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.seasonal import STL
df = pd.read_csv("time-series-data.csv")
decomposition = STL(df['x'], period=12).fit()
fig, (ax1, ax2, ax3, ax4) = plt.subplots(nrows=4, ncols=1, sharex=True,figsize=(10,8))
ax1.plot(decomposition.observed)
ax1.set_ylabel('Observed')
ax2.plot(decomposition.trend)
ax2.set_ylabel('Trend')
ax3.plot(decomposition.seasonal)
ax3.set_ylabel('Seasonal')
ax4.plot(decomposition.resid)
ax4.set_ylabel('Residuals')
plt.tight_layout()
代码部分逐行的解释:
1. `import pandas as pd`: 导入Pandas库并将其命名为pd
2. `import matplotlib.pyplot as plt`: 导入matplotlib库中的pyplot模块并将其命名为plt
3. `from statsmodels.tsa.seasonal import STL`: 导入statsmodels库中的tsa模块下的seasonal模块中的STL函数,用于对时间序列数据进行分解
4. `df = pd.rea