我无法在时间序列天气中绘制AR和MA模型。例如:
from statsmodels.tsa.arima_process import arma_generate_sample
def gen_ar2(alpha1,alpha2,size):
ar = [1,-alpha1,-alpha2]
ma = [1]
return arma_generate_sample(ar,ma,size)
因此,如果我想绘图,可以说x(t)= 0.75 x(t-1) - 0.125 x(t-2)+ w(t),其中w(t)是正态,均值为0且方差1(比如说)...在ipython笔记本上绘制两次这样的图表,即
sm.graphics.tsa.plot_acf(gen_ar2(0.75,-0.125,size=5000),lags=40)
这为我创造了两个情节而不是一个。我如何阻止ipython这样做?
感谢
答案 0 :(得分:3)
您会看到两个图,因为plot_acf
函数会创建图,而会返回图形对象。在“普通”python IDE或脚本中,这不会产生两个图像,但是IPython及其内联后端在单元格中创建后会显示一个图形。此外,还显示返回的图形。稍后由OUT [x]提示指示。
要获得单个图像,只需将输出保存到某个变量(以防止其显示),如
_ = sm.graphics.tsa.plot_acf(gen_ar2(0.75,-0.125,size=5000),lags=40)
或抑制输出(注意;
!)
sm.graphics.tsa.plot_acf(gen_ar2(0.75,-0.125,size=5000),lags=40);
在这两种方式中,您只能获取显示的数据,而不会显示返回的数据。