用Python Statsmodels进行向量自回归分析

3

我正在尝试在Python中实现多维格兰杰因果关系。为此,我使用了Statsmodels中的Vector Autoregression,但是当我尝试从中获取系数时,它会返回一个空矩阵。有人能告诉我究竟出了什么问题吗?

import numpy as np
from statsmodels.tsa.vector_ar import var_model
def multi_dim_granger(X_ts,Y_ts,order=5,test='F-test'):
    """Multivariate Granger cusality.
    input:
        X_ts: the first vector time series. 
              TxK matrix with T being the time instance and K is the dimension  
        Y_ts: the second vector time series. 
              TxK matrix with T being the time instance and K is the dimension  

        order: the maximum number of lags for fitting a VAR process
        test: the statistical test to check for the residual covariance matrix
    """
    ts=np.hstack((X,Y))
    print ts.shape
    VAR_model=var_model.VAR(ts)
    ts=VAR_model.fit(ic='aic',maxlags=order)
    return ts.coefs
X=np.random.randn(1000,2)
Y=(np.arange(4000)*np.random.randn(4000)).reshape((1000,4))
multi_dim_granger(X,Y)
1个回答

1
你可以使用VARResults实例的test_causality方法来测试格兰杰因果关系。请参阅此处的文档here和此处的示例here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接