Linearmodels FamaMacBeth аргумент 'список' не должен иметь отрицательных элементов

Я пытаюсь запустить некоторые регрессии Fama MacBeth, используя функциональность FamaMacBeth из линейных моделей (версия 4.8), и я сталкиваюсь со следующей ошибкой:

ValueError                                Traceback (most recent call last)
 <ipython-input-7-f393d4c071f0> in do_panel(list_dfs, y_var, control_vars, 
method)
      37         print(fmb_df[y_var].head())
      38         print(fmb_df[new_x_vars].head())
 ---> 39         model = FamaMacBeth(fmb_df[y_var], sm.add_constant(fmb_df[new_x_vars])).fit()
      40     return model
      41 

~\AppData\Local\Continuum\anaconda3\envs\py36\lib\site-packages\linearmodels\panel\model.py in fit(self, cov_type, debiased, **cov_config)
     1940         cov = cov_est(wy, wx, params, all_params, debiased=debiased, **cov_config)
     1941         df_resid = wy.shape[0] - params.shape[0]
  -> 1942         res = self._postestimation(params, cov, debiased, df_resid, weps, wy, wx, root_w)
     1943         index = self.dependent.index
     1944         res.update(dict(df_resid=df_resid, df_model=x.shape[1], nobs=y.shape[0],

 ~\AppData\Local\Continuum\anaconda3\envs\py36\lib\site-packages\linearmodels\panel\model.py in _postestimation(self, params, cov, debiased, df_resid, weps, y, x, root_w)
     441         f_pooled = InapplicableTestStatistic(reason='Model has no effects',
     442                                              name='Pooled F-stat')
 --> 443         entity_info, time_info, other_info = self._info()
     444         nobs = weps.shape[0]
     445         sigma2 = float(weps.T @ weps / nobs)

 ~\AppData\Local\Continuum\anaconda3\envs\py36\lib\site-packages\linearmodels\panel\model.py in _info(self)
     223 
     224         entity_info = stats(self.dependent.entity_ids.squeeze(),
 --> 225                             'Observations per entity')
     226         time_info = stats(self.dependent.time_ids.squeeze(),
     227                           'Observations per time period')

 ~\AppData\Local\Continuum\anaconda3\envs\py36\lib\site-packages\linearmodels\panel\model.py in stats(ids, name)
     217 
     218         def stats(ids, name):
 --> 219             bc = np.bincount(ids)
     220             index = ['mean', 'median', 'max', 'min', 'total']
     221             out = [bc.mean(), np.median(bc), bc.max(), bc.min(), bc.shape[0]]

ValueError: 'list' argument must have no negative elements

Я попробовал Googling, и единственный другой хит, который я получаю, это из бесшумного источника: https://github.com/numpy/numpy/blob/master/numpy/core/src/multiarray/compiled_base.c

Я не могу на всю жизнь понять, что не так. Конечно, значения в моем панде DataFrame могут быть отрицательными, верно? Помощь высоко ценится, большое спасибо заранее!

РЕДАКТИРОВАТЬ: Обновлено с подробной ошибкой трассировки.

0 ответов

Другие вопросы по тегам