我估计了一个 VECM,然后想检查估计的模型。因此,我预计拟合值将完全满足模型。但是,我发现它没有。
model = vecm.VECM(df.values, k_ar_diff = 3, coint_rank = 1, deterministic="nc")
modelres = model.fit()
n = modelres.nobs
l = modelres.k_ar
fv = modelres.fittedvalues.T # fitted values - neq x nobs
Phi = modelres.var_rep # VAR in levels
Ybar = np.column_stack([np.sum(np.column_stack([Phi[i,:,:] @ fv[:,j-i] for i in range(l)]),axis = 1) for j in range(l-1,nobs-1)])
上面的 Ybar 与 fv 不匹配,这是我所期望的。
提前致谢
在玩了以下作品之后:
model = vecm.VECM(df.values, k_ar_diff = 3, coint_rank = 1, deterministic="nc")
modelres = model.fit()
n = modelres.nobs
l = modelres.k_ar
fv = modelres.y_all[:,l:]
Ybar = np.column_stack([np.sum(np.column_stack([Phi[i,:,:] @ fv[:,j-i] for i in range(l)]),axis = 1) for j in range(l-1,nobs-1)])
np.max(np.abs(modelres.fittedvalues.T[:,l:] - Ybar)) # check. will be close to 0!
因此,模型.fitted值是通过在噪声数据上运行模型来生成的。谢谢