具有双向集群 SD 的统计模式 ols 给我带来了组错误

问题描述 投票:0回答:1

我有一个债券发行的数据集,如下所示:

发行人CUSIP 国家 行业 金额 发布后事件 年份 四分之一
000001 墨西哥 A 100 0 2010 2010年第一季度
000002 中国 B 200 1 2015 2015Q2
000002 中国 B 150 0 2014 2014年第三季度
000003 中国 C 130 1 2018 2018年第四季度
000004 智利 C 100 0 2012 2012年第一季度
000005 智利 D 100 1 2013 2013Q2

数据按发行人季度汇总。每行代表新发行的公司债券金额。 回归上下文是这样的:每个国家都会发生某些类型的事件。我想看看这些事件是否会对该国以美元发行债券金额产生任何影响。因此,我按以下方式回归双重差分方程: `

AMT ~ POSTEVENT +C(NATION)+C(INDUSTRY)*C(YEAR)+C(QUARTER)

`

发行人(由唯一的 CUSIP 标识)嵌套在国家/地区行业组中。因此,我考虑双向聚集标准错误并使用以下代码来获取它: `


MOD = smf.ols("AMT ~ POST*INCLUDE +C(NATION)+C(INDUSTRY)*C(YEAR)+C(QUARTER)", data=issueinUSD) 
RES = MOD.fit(cov_type='cluster',cov_kwds={'groups':np.asarray(pd.concat([issueinUSD['NATION'],issueinUSD['QUARTER']]))})

I try to get groups for clustering with the cov_kwds specification. But I keep getting this error:

~/opt/anaconda3/lib/python3.9/site-packages/statsmodels/regression/linear_model.py in fit(self, method, cov_type, cov_kwds, use_t, **kwargs)
    341 
    342         if isinstance(self, OLS):
--> 343             lfit = OLSResults(
    344                 self, beta,
    345                 normalized_cov_params=self.normalized_cov_params,

~/opt/anaconda3/lib/python3.9/site-packages/statsmodels/regression/linear_model.py in __init__(self, model, params, normalized_cov_params, scale, cov_type, cov_kwds, use_t, **kwargs)
   1605                     use_t = use_t_2
   1606                 # TODO: warn or not?
-> 1607             self.get_robustcov_results(cov_type=cov_type, use_self=True,
   1608                                        use_t=use_t, **cov_kwds)
   1609         for key in kwargs:

~/opt/anaconda3/lib/python3.9/site-packages/statsmodels/regression/linear_model.py in get_robustcov_results(self, cov_type, use_t, **kwargs)
   2550                     # duplicate work
   2551                     self.n_groups = n_groups = len(np.unique(groups))
...
    107     else:

<__array_function__ internals> in bincount(*args, **kwargs)

ValueError: The weights and list don't have the same length.

` 谁能告诉我为什么会出现这个错误。

如果我只使用单向聚类,它会给出一个估计。但双向集群,不。 我的组中也没有任何 NaN 值。

python regression statsmodels robust
1个回答
0
投票

当其他变量中有 nan 时(不是在组变量中,但可能在实际的 Y 和 X 变量中),通常会发生这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.