2017-06-09 11 views
0

私はライブラリstatsmodels.tsa.stattools.grangercausalitytestsを使って2つの時系列間の類似性をテストしています。 abの両方のリストは、いずれもNoneまたはnanの値を持たない正当なリストであり、それらのサイズは同じです。私が因果関係テストと呼ぶ配列にも問題はありません。なぜコールが空の辞書だけを返しているのか分かりません。Python statsmodels Granger Causality Test空の辞書を返す

grangercausalitytests([[a[i], b[i]] for i in range(0, len(a))], -1, verbose=True) 

ここで問題が発生する可能性がありますか?

答えて

1

maxlagは-1でなく正の整数である必要があります。

結果を計算するためのループは決して通過しません。 http://www.statsmodels.org/stable/generated/statsmodels.tsa.stattools.grangercausalitytests.html

maxlag : integer 

    the Granger causality test results are calculated for all lags up to maxlag 
+0

ありがとうございました!最初に正の整数で試してみたところ、「maxlagは-1以下でなければならない」というエラーが出てきました。私はちょうど私のサーバーを再起動し、今すぐ動作します。 – victor

+1

ところで、リストループの代わりに 'np.column_stack((a、b))'を使うことができます。たぶん、列と2行の変数の観測値があったとします。エラーメッセージは、nobs = 2、AFAICSと解釈されるため-1と表示されます。 – user333700

0

私は、Pythonのstatsmodelでチェック。したがって、因果関係のテストでは、一度に1つの系列の要素を単独で提供する必要はありません。その代わりに、あなたは一度に全時代劇を提供すべきです。 (T ['a'] [1:]、T ['b]');あなたは、次のように使うことができるよりも、 'T'に2つのtimeseries 'a'、 'b' '] [1:])))、10)