7

我正在PanelOLSlinearmodels包中运行一个。

就像经常发生的情况一样,缺少一些观察结果。当我在中运行等效命令时R(我认为等效命令是plm),我得到以下信息:

Unbalanced Panel: n=11, T=17-61, N=531

所以面板是不平衡的:一些人只有 17 个时间段的完整数据,而其他人则更多。但回归仍然存在。

等效的python命令是:

import linearmodels.panel as pnl
model = pnl.PanelOLS.from_formula(formula, data=src)

这给了我一个警告:

输入包含缺失值。删除缺少观察的行。

还有一个错误:

MyPythonInstallation\lib\site-packages\linearmodels\panel\model.py in _validate_data(self)
    207 
    208         if matrix_rank(x) < x.shape[1]:
--> 209             raise ValueError('exog does not have full column rank.')
    210         self._constant, self._constant_index = has_constant(x)
    211 

ValueError: exog does not have full column rank.

我该如何进行回归?

4

2 回答 2

2

我有同样的错误。就我而言,我正在使用的数据框的一列被视为“对象”数据类型。将该列更改为“浮点”数据类型为我解决了这个问题。

于 2019-05-07T20:35:59.710 回答
2

(我意识到 OP 不再致力于此,但以防万一其他人需要它......)

当我马虎时(对不起,我的意思是快速和高效),另一个可能的原因让我陷入了困境——检查你是否包含了其他变量的线性组合(例如滞后和差异)。

于 2020-05-13T07:50:29.767 回答