2017-03-24 8 views
1

a ValueError:ブラケット間隔ではありません。自己回帰パラメータ

私は現在、シフトの「時間」を序数(すなわち1〜8)としてコード化していますが、タイムスタンプも持っています。

これを解決する方法についてのご意見はありますか?

全出力:

//anaconda/lib/python3.5/site-packages/statsmodels/genmod/cov_struct.py:724: RuntimeWarning: divide by zero encountered in true_divide 
    wts = 1./var 
//anaconda/lib/python3.5/site-packages/statsmodels/genmod/cov_struct.py:725: RuntimeWarning: invalid value encountered in true_divide 
    wts /= wts.sum() 
--------------------------------------------------------------------------- 
ValueError        Traceback (most recent call last) 
<ipython-input-81-d81d0b97546e> in <module>() 
     7 #CookieSales ~ C(Hour) + Arrivals + TotalSalesPeople" 
     8 # Maybe try without C, or find if any with nan value or such 
----> 8 result2 = model2.fit(start_params=result1.params) 
     9 print(result2.summary()) 
    10 print(ar.summary()) 

//anaconda/lib/python3.5/site-packages/statsmodels/genmod/generalized_estimating_equations.py in fit(self, maxiter, ctol, start_params, params_niter, first_dep_update, cov_type, ddof_scale, scaling_factor) 
    1111    if (self.update_dep and (itr % params_niter) == 0 
    1112     and (itr >= first_dep_update)): 
-> 1113     self._update_assoc(mean_params) 
    1114     num_assoc_updates += 1 
    1115 

//anaconda/lib/python3.5/site-packages/statsmodels/genmod/generalized_estimating_equations.py in _update_assoc(self, params) 
    1259   """ 
    1260 
-> 1261   self.cov_struct.update(params) 
    1262 
    1263  def _derivative_exog(self, params, exog=None, transform='dydx', 

//anaconda/lib/python3.5/site-packages/statsmodels/genmod/cov_struct.py in update(self, params) 
    766 
    767   from scipy.optimize import brent 
--> 768   self.dep_params = brent(fitfunc, brack=[b_lft, b_ctr, b_rgt]) 
    769 
    770 

//anaconda/lib/python3.5/site-packages/scipy/optimize/optimize.py in brent(func, args, brack, tol, full_output, maxiter) 
    2001  options = {'xtol': tol, 
    2002    'maxiter': maxiter} 
-> 2003  res = _minimize_scalar_brent(func, brack, args, **options) 
    2004  if full_output: 
    2005   return res['x'], res['fun'], res['nit'], res['nfev'] 

//anaconda/lib/python3.5/site-packages/scipy/optimize/optimize.py in _minimize_scalar_brent(func, brack, args, xtol, maxiter, **unknown_options) 
    2033     full_output=True, maxiter=maxiter) 
    2034  brent.set_bracket(brack) 
-> 2035  brent.optimize() 
    2036  x, fval, nit, nfev = brent.get_result(full_output=True) 
    2037  return OptimizeResult(fun=fval, x=x, nit=nit, nfev=nfev, 

//anaconda/lib/python3.5/site-packages/scipy/optimize/optimize.py in optimize(self) 
    1839   # set up for optimization 
    1840   func = self.func 
-> 1841   xa, xb, xc, fa, fb, fc, funcalls = self.get_bracket_info() 
    1842   _mintol = self._mintol 
    1843   _cg = self._cg 

//anaconda/lib/python3.5/site-packages/scipy/optimize/optimize.py in get_bracket_info(self) 
    1827    fc = func(*((xc,) + args)) 
    1828    if not ((fb < fa) and (fb < fc)): 
-> 1829     raise ValueError("Not a bracketing interval.") 
    1830    funcalls = 3 
    1831   else: 

ValueError: Not a bracketing interval. 
+0

前の質問から 'groups = BakeSaleData [" Salesperson "]'を試しましたか?完全なトレースバックを表示して、どこが失敗したかを確認する必要があります。自己相関パラメータが極端な場合には堅牢でないことがわかりました。 – user333700

+0

相関係数を評価する関数を読んだことに基づいて、相関が負の場合にのみValueErrorを発生させます。これは実装では許可されていないようです。しかし、負の相関関係は、このタイプのアプリケーションにとっては奇妙なケースになります。 – user333700

+0

今すぐ完全な出力が必要です。ありがとう! – codercat

答えて

0

は、多くの場合、生活の中で1が1で始まる権データから始まっていることを確認する必要があります。例えば、むしろ営業担当者より、個々のシフトを調べる:

model2 = sm.GEE.from_formula("CookieSales ~ C(Hour) + Arrivals + TotalSalesPeople", groups=BakeSale["Shift"], 
       data=BakeSale, family=ga, time=times, cov_struct=ex) 

が最大クラスタサイズが不審オフであることを実証した、平均クラスタサイズがちょうど元のデータセットの論争の8

レビューを超えていましたいくつかのシフトが誤って符号化されていたことが明らかになりました。これが修正されると、モデルは適切に実行されました....