如何使用 pmdarima 或其他方式反转二次差分?

问题描述

我正在 statsmodels 中运行 VARMA 模型,我的一些输入需要两次差分才能保持平稳。 VARMA 模型没有差分参数,所以我需要在运行模型之前进行差分并在我自己之后反转差分。

我已经尝试使用 pmdarima diff_inv,但是我已经用了一段时间,并且无法让它返回原始数组以反转二次差分。我认为问题出在 xi 参数上,所以如果有人可以告诉我如何使用 pmdarima 来反转二次差分,那也可以。

现在,我想弄清楚如何在没有 pmdarima 帮助的情况下反转二次差分。

使用此代码,我能够成功地对数组进行两次差分,然后将差分求逆以获得原始数组。

y = pd.Series([5,3,6,2,10]) #original data
diff1 = y.diff() #get first difference

[NaN,-2,-4,8] #(以 pd 系列形式返回)

diff2 = y.diff().diff() #get second difference

[NaN,NaN,5,-7,12]

#Now inverse the differencing
inv1 = diff2.cumsum()-2 #undo one level of differencing. subtract xi,2=-2 since that's the first value of the original data differenced once
inv1[1]=-2 #add -2 as the second value in the series

[NaN,8] #我们得到与原始应用1级差分后相同的序列

 inv2 = inv1.cumsum()+5 #undo another level of differencing.  add xi,1=5 since that's the first value of the original series
 inv2[0]=5 #add 5 as the first value of the series

[5,10] #我们得到原始数据

现在,我只需要弄清楚如何为我的应用程序确定 xi,1 和 xi,2 值(在本例中为 5 和 -2)。由于我将对输入数据进行二次差分,应用模型,然后对差分求逆,我想我可以从输入数据的第一个值中得到 xi,1,但是我如何确定 xi,2?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)