JKR*_*KRH 7 python-3.x statsmodels
我用来statsmodels.api.tsa.seasonal_decompose对时间序列进行一些季节性分析。
我设置它使用
decomp_viz = sm.tsa.seasonal_decompose(df_ts['NetConsumption'], period=48*180)
Run Code Online (Sandbox Code Playgroud)
然后尝试使用它来可视化它
decomp_viz.plot()
Run Code Online (Sandbox Code Playgroud)
输出很小,所以我尝试使用标准 matplotlib 命令
decomp_viz.plot(figsize=(20,20))
Run Code Online (Sandbox Code Playgroud)
然而,这得到了警告:
TypeError: plot() got an unexpected keyword argument 'figsize'
Run Code Online (Sandbox Code Playgroud)
文档说 amatplotlib.figure.Figure是从返回的DecomposeResult.plot,所以我不确定为什么会发生这个错误。
我的版本statsmodels是0.13.1,我知道文档是针对的0.14.0,但 conda 说该版本不存在,我无法更新到它。
任何想法将不胜感激。
Kev*_*n S 21
DecomposeResult.plot不传递关键字参数。您可以在创建图形后更改其大小:
import statsmodels.api as sm
import numpy as np
import matplotlib.pyplot as plt
PERIOD = 48*180
g = np.random.default_rng(20211225)
y = np.cos(2 * np.pi * np.linspace(0, 10.0, 10*PERIOD))
y += g.standard_normal(y.shape)
decomp_viz = sm.tsa.seasonal_decompose(y, period=PERIOD)
fig = decomp_viz.plot()
fig.set_size_inches((16, 9))
# Tight layout to realign things
fig.tight_layout()
plt.show()
Run Code Online (Sandbox Code Playgroud)
或者,您可以通过更改 MPL rc.local 来执行相同的操作。
import statsmodels.api as sm
import numpy as np
import matplotlib.pyplot as plt
# Change default figsize
plt.rc("figure",figsize=(20,20))
PERIOD = 48*180
g = np.random.default_rng(20211225)
y = np.cos(2 * np.pi * np.linspace(0, 10.0, 10*PERIOD))
y += g.standard_normal(y.shape)
decomp_viz = sm.tsa.seasonal_decompose(y, period=PERIOD)
decomp_viz.plot()
plt.show()
Run Code Online (Sandbox Code Playgroud)
它产生(裁剪对于我的屏幕来说太大了)