STL时间序列分析代码
时间: 2023-09-11 07:05:03 浏览: 126
以下是一个基于STL(季节性趋势分解)的时间序列分析的示例代码:
```python
import pandas as pd
import numpy as np
from statsmodels.tsa.seasonal import STL
# 读取数据
data = pd.read_csv('time_series_data.csv', parse_dates=['date'], index_col='date')
# 进行STL分解
stl = STL(data, seasonal=13)
res = stl.fit()
# 获取分解后的结果
trend = res.trend
seasonal = res.seasonal
residual = res.resid
# 可以通过以下代码查看分解后的趋势、季节性和残差:
import matplotlib.pyplot as plt
fig, axes = plt.subplots(4, 1, figsize=(12, 12))
axes[0].plot(data)
axes[0].set_title('Original Data')
axes[1].plot(trend)
axes[1].set_title('Trend')
axes[2].plot(seasonal)
axes[2].set_title('Seasonal')
axes[3].plot(residual)
axes[3].set_title('Residual')
```
需要注意的是,代码中的参数`seasonal`指定了季节性周期的长度,这里设置为13,表示数据中存在13个月的季节性变化。根据不同的数据集,需要根据实际情况来调整这个参数。
阅读全文