statmodels库分解时间序列(趋势、周期性、季节性、残差)

 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值