2012-08-28 83 views
1

我已經下載了Python軟件包statsmodels(使用pip)並運行測試,發現有幾個失敗了。測試命令python包統計模型失敗測試

>>> import statsmodels.api as sm 
>>> sm.test() 

有兩個錯誤和一個失敗:

===================================================================== 
ERROR: statsmodels.sandbox.panel.test_sandwich.test_cov_cluster_2groups 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/site-packages/nose/case.py", line 197, in runTest 
    self.test(*self.arg) 
    File "/usr/local/lib/python2.7/site-packages/statsmodels/sandbox/panel/test_sandwich.py", line 30, in test_cov_cluster_2groups 
    cov01, covg, covt = sw.cov_cluster_2groups(res, group, group2=time) 
    File "/usr/local/lib/python2.7/site-packages/statsmodels/sandbox/panel/sandwich_covariance.py", line 555, in cov_cluster_2groups 
    group_intersection = Group(group) 
    File "/usr/local/lib/python2.7/site-packages/statsmodels/tools/grouputils.py", line 182, in __init__ 
    uni, uni_idx, uni_inv = combine_indices(group) 
    File "/usr/local/lib/python2.7/site-packages/statsmodels/tools/grouputils.py", line 60, in combine_indices 
    return_inverse=True) 
    File "/usr/local/lib/python2.7/site-packages/numpy/lib/arraysetops.py", line 178, in unique 
perm = ar.argsort(kind='mergesort') 
TypeError: requested sort not available for type 

====================================================================== 
ERROR: statsmodels.tsa.base.tests.test_datetools.test_infer_freq 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/site-packages/nose/case.py", line 197, in runTest 
self.test(*self.arg) 
    File "/usr/local/lib/python2.7/site-packages/statsmodels/tsa/base/tests/test_datetools.py", line 63, in test_infer_freq 
    npt.assert_string_equal(_infer_freq(b), 'B') 
    File "/usr/local/lib/python2.7/site-packages/statsmodels/tsa/base/datetools.py", line 234, in _infer_freq 
    elif delta >= timedelta(28*nobs) and delta <= timedelta(31*nobs): 
TypeError: ufunc 'greater_equal' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule 'safe' 

====================================================================== 
FAIL: test_monotone_fn_inverter (statsmodels.distributions.tests.test_ecdf.TestDistributions) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/site-packages/statsmodels/distributions/tests/test_ecdf.py", line 41, in test_monotone_fn_inverter 
    npt.assert_array_equal(f.y, x[::1]) 
    File "/usr/local/lib/python2.7/site-packages/numpy/testing/utils.py", line 707, in assert_array_equal 
    verbose=verbose, header='Arrays are not equal') 
    File "/usr/local/lib/python2.7/site-packages/numpy/testing/utils.py", line 636, in assert_array_compare 
    raise AssertionError(msg) 
AssertionError: 
Arrays are not equal 

(mismatch 100.0%) 
x: array([ 15., 14., 13., 12., 11., 10., 9., 8., 7., 6.]) 
y: array([ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) 

---------------------------------------------------------------------- 
Ran 1454 tests in 67.411s 

其他可能有用的信息:

  • statsmodel v0.4.0(也試過v0.5.0
  • numpy v1.6.2
  • scipy v0.10.1
  • 所有這些包被pip'd
  • python v2.7.3安裝在Mac OSX 10.8使用自制brew install python(即不是OSX本地python)。
  • 我也點了幾個其他的包:joblib v0.6.4,nose v1.1.2patsy v0.1.0。測試需要Noseimport statsmodels.api需要patsy。該測試套件也抱怨說需要並行運行joblib

我不知道該怎麼做的前兩個錯誤,失敗看起來有點奇怪,有點像實施改變或什麼...但我懷疑statsmodels傢伙/ gals跑他們的測試之前,他們稱之爲一天:)所以這裏發生了什麼?

回答

1

請嘗試最新版本http://pypi.python.org/pypi/statsmodels/0.4.3

至於我記得,所有的這些錯誤都是固定的。

第一個錯誤是1.6.2中numpy行爲的改變。

我認爲,第二個與日期時間處理的變化有關,轉換爲在新版熊貓版本中使用新的numpy dtypes。

最後一次是測試中的錯誤。

郵件列表或問題跟蹤可能會更好地報告這些測試失敗: http://groups.google.com/group/pystatsmodels https://github.com/statsmodels/statsmodels/issues

+0

完成和完成的。非常感謝你 :) – BenDundee