P3t*_*rus 5 python statsmodels
如何使用statsmodels ARMA过程来拟合表单的差分方程.
y[k] = - a1 * y[k-1] + b0 * u[k] + b1 * u[k-1] + c0 * e[k] + c1 * e[k-1]
Run Code Online (Sandbox Code Playgroud)
我不知道如何设置exog矩阵.例如
import statsmodels.api as sm
# some stupid data
y = np.random.randn(100)
u = np.ones((100,2))
armax = sm.tsa.ARMA(y, order=(1, 1), exog=u).fit()
Run Code Online (Sandbox Code Playgroud)
结果是
ValueError: could not broadcast input array from shape (2) into shape (3)
Run Code Online (Sandbox Code Playgroud)
它可能很容易解决,但我是该领域的新手.
谢谢.
(我正在使用statsmodels 0.6)
这里的问题是你传递两个常量列,然后告诉适合添加另一个常量列trend='nc'.诚然,我们应该在这里更优雅地失败,但你需要尝试类似的东西
u = np.random.randn(100, 2)
Run Code Online (Sandbox Code Playgroud)
而不是常数exog.