Python 从statsmodels中的Johansen协整函数获取VECM参数

Python 从statsmodels中的Johansen协整函数获取VECM参数,python,pandas,statistics,statsmodels,Python,Pandas,Statistics,Statsmodels,我试图获得与我的ECM模型y_t的降秩向量(q)模型相关的参数值的估计值。我知道Johansen协整测试可以做到这一点,但在阅读statsmodels函数文档时,我不清楚如何调整此代码来做到这一点。它似乎是的一个特性,但不是Python的特性,Python只输出跟踪和最大特征值统计信息以及临界值。我想知道我是否能在这方面得到帮助 Edit:函数的最后一行是returnJohansenTestResult(rkt、r0t、a、d、lr1、lr2、cvt、cvm、aind),从JohansenTes

我试图获得与我的ECM模型y_t的降秩向量(q)模型相关的参数值的估计值。我知道Johansen协整测试可以做到这一点,但在阅读
statsmodels
函数文档时,我不清楚如何调整此代码来做到这一点。它似乎是的一个特性,但不是Python的特性,Python只输出跟踪和最大特征值统计信息以及临界值。我想知道我是否能在这方面得到帮助


Edit:函数的最后一行是return
JohansenTestResult(rkt、r0t、a、d、lr1、lr2、cvt、cvm、aind)
,从
JohansenTestResult
类中可以看到
a=eig
d=evec
。和
ad
au
似乎是在cholesky分解和变换之前的原始特征值和特征向量,该分解和变换给出了a和d,它们只是
ad
au
按特征值的大小排序。我发现
print(d*a*inv(d))
可以给我必要的系数矩阵。但是对于我的3个解释,它们都是4*4矩阵和1个相关矩阵,因此我想知道如何获得系数的1*4向量。

从文档中,该方法输出一个JohansenTestResult。通过查看,我们可以看到对象将VECM特征向量和特征值存储在


evec
eig
属性,分别

谢谢。但是添加
print(du*au*inv(du))
似乎为我的ECM提供了一个4*4的向量,有3个解释和1个依赖项。我期望1*4向量重新表示系数您必须变换特征向量以恢复系数,如果您不想这样做,并且您主要关心参数,我建议直接使用VECM类来拟合模型,该模型将输出一个包含系数的VECMResult对象,看,如果我想进行转换,我需要在这里做什么?另外,这是一个关于Johansen测试的问题,但是我们不是在测试中使用降秩向量吗?你指的是找到与最高特征值相关的特征向量,这就是系数矩阵,如这里所述()什么是du,au,a,d?解释它们的含义,并包括为它们赋值的代码段。@JuanCarlosRamirez函数的最后一行是
return JohansenTestResult(rkt、r0t、a、d、lr1、lr2、cvt、cvm、aind)
JohansenTestResult
类中可以看出
a=eig
d=evec
ad
au
似乎是在cholesky分解和变换之前的原始特征值和特征向量,该分解和变换给出
a
d
调用函数的代码如下接下来,
result=coint_johansen(self.data,-1,1)
我只是在函数中有一个print语句,
print(du*au*inv(du))
你应该指定在你的问题中,你的问题的访问者可能不熟悉这个符号,直接包含那个信息会创造更多的价值。@JuanCarlosRamirez整理了它。