我正在試驗以決定是否與自身相關的時間序列(如在,一個浮點列表)。我已經在statsmodels(http://statsmodels.sourceforge.net/devel/generated/statsmodels.tsa.stattools.acf.html)中使用了acf
函數,現在我正在研究Durbin-Watson統計是否有任何價值。一維時間序列數據的Durbin-Watson統計
好像這種事情應該工作:
from statsmodels.regression.linear_model import OLS
import numpy as np
data = np.arange(100) # this should be highly correlated
ols_res = OLS(data)
dw_res = np.sum(np.diff(ols_res.resid.values))
如果要運行它,你會得到:
Traceback (most recent call last):
...
File "/usr/lib/pymodules/python2.7/statsmodels/regression/linear_model.py", line 165, in initialize
self.nobs = float(self.wexog.shape[0])
AttributeError: 'NoneType' object has no attribute 'shape'
看來,d/W通常用於比較兩個時間序列(例如http://connor-johnson.com/2014/02/18/linear-regression-with-python/)的相關性,所以我認爲問題是我沒有通過另一個時間序列比較。也許這應該通過exog
參數傳遞給OLS
?
exog : array-like
A nobs x k array where nobs is the number of observations and k is
the number of regressors.
(從http://statsmodels.sourceforge.net/devel/generated/statsmodels.regression.linear_model.OLS.html)
側面說明:我不知道一個 「NOBS X K」 陣列的意思。也許與數組是x
由k
?
那麼我應該在這裏做什麼?我是否預計會通過data
兩次, 或手動延遲自己,還是?
謝謝!
謝謝。你能否確認將數據與自身關聯起來,我不需要自己拖延數據?只傳遞數據作爲獨立變量和一個常量向量作爲因變量。對? –
在這種情況下,OLS將僅僅貶低數據。像DW或類似的殘差然後診斷測試然後可以使用,例如http://www.statsmodels.org/stable/stats.html#module-statsmodels.stats.stattools http://www.statsmodels.org/stable/diagnostic.html#autocorrelation-tests – user333700
謝謝!我還貼出了代碼示例。 –