2016-07-22 4 views
0

adfuller()で使用される回帰の方法は何ですか?私は時系列上の拡張されたdickey完全なテストを実行しており、私はそれを行う2つの異なる方法を試しています。statsmodels adfuller()で使用される回帰方法?

まず、dyの変更を取得するためにpandas.diff()を使用します。次に、元の時系列を独立変数yとしてdyと一緒に、statsmodels.OLS(dy,y)に従属させ、結果を取得しています。次に、勾配パラメータmodel.params[1]と勾配パラメータmodel.bse[1]の標準誤差を抽出します。これらの用語の商は、DF = model.params[1]/model.bse[1]と呼ばれるDickey Fuller検定統計量です。

第二に、私のようなadfuller()に特異時間価格シリーズ渡す:

:ディッキーフラー検定統計量を得るために、今すぐ

adfstat, pvalue, critvalues, resstore = ts.adfuller(y.y,regression='c',store=True,regresults=True) 

を、私は単に私が手OLSを使用し DF = resstore.tvalues[1]

を渡しますadfullerで

DF = -1.81495580198 

():

DF = -1.56386414181 

これらの2つの方法の違いは何ですか? adfuller()は内部的にOLSとは異なる線形回帰を実行しますか?私は、OLSからの結果は、私が例を得ている本によれば正当なものであることを認めました。しかし、出力の一部としてテスト統計の重要な値を提供するので、私はadfuller()を使用することを好みます。

print resstore.resols.params ==> 
[-0.00491391 0.02366782 -0.00295179 0.01354619 0.06399901 -0.06018851 
-0.00328142 -0.03876784 0.02934003 -0.10224276 0.00227549 0.01042279 
-0.04627873 0.05503934 -0.02707106 0.02664511 -0.02428741 0.04894767 
-0.06206492 0.00508655] 

私は回帰直線の傾きを取得することにより、平均回帰のための半減期を決定します。また、adfuller()の結果のための多くの回帰係数があるようです。ここでは、adfuller()は20次回帰を計算していますか?これは正しいとは思わない。多分私はこれを間違ってやっている?誰かadfuller()に光を当てることはできますか?

答えて

2

これは、adfuller()の入力にmaxlag = 1を設定することで解決できます

関連する問題