Python statsmodels Granger因果关系测试返回空字典
我正在使用库Python statsmodels Granger因果关系测试返回空字典,python,time-series,statsmodels,Python,Time Series,Statsmodels,我正在使用库statsmodels.tsa.stattools.grangercausalitytests来测试两个时间序列之间的相似性。我知道两个列表a和b都是合法的列表,没有任何None或nan值,并且它们的大小相同。我调用因果关系测试的数组也没有任何问题。我不明白为什么电话只返回一本空字典 grangercausalitytests([[a[i], b[i]] for i in range(0, len(a))], -1, verbose=True) 这里可能有什么问题?maxlag应该
statsmodels.tsa.stattools.grangercausalitytests
来测试两个时间序列之间的相似性。我知道两个列表a
和b
都是合法的列表,没有任何None
或nan
值,并且它们的大小相同。我调用因果关系测试的数组也没有任何问题。我不明白为什么电话只返回一本空字典
grangercausalitytests([[a[i], b[i]] for i in range(0, len(a))], -1, verbose=True)
这里可能有什么问题?maxlag应该是一个正整数,而不是-1 计算结果的循环永远不会被遍历。
我使用python statsmodel进行了检查。所以,对于因果关系测试,您不需要一次提供序列的单个元素。相反,您应该一次提供整个时间序列。因此,假设在“T”中有两个时间序列“a”,“b”,则可以使用以下时间序列:
grangercausalitytests(np.column_stack((T['a'][1:],T['b'][1:])), 10)
非常感谢你!我第一次尝试使用一个正整数,但不断得到错误
maxlag最多应该是-1
。我刚刚重新启动了服务器,现在可以正常工作了。顺便说一句:您可以使用np.column\u堆栈((a,b))
代替列表循环。也许,在列和两行变量中有观测值,那么错误消息会说-1,因为它被解释为nobs=2,AFAICS。
grangercausalitytests(np.column_stack((T['a'][1:],T['b'][1:])), 10)