当我使用statsmodels进行OLS并使用scikit进行PooledOLS时,为什么会得到相同的结果?

时间:2019-09-28 02:30:38

标签: python dataframe regression panel statsmodels

我目前正在使用python做一个机器学习项目(这里是初学者,从头开始学习一切)。

只想知道使用我拥有的相同面板数据集,statsmodels的OLS和scikit的PooledOlS有什么区别。我都尝试过,他们给了我相同的结果。这是否意味着他们本质上是在做相同的事情,但包装不同?我应该得到相同的结果吗?还是我做错了什么?

我的数据集如下所示:

                  excessreturnlag1m      ROA  ...  momentum6m  momentum12m
bank  date                                    ...                         
bankA 2019-06-30         -14.564600   0.9795  ...        0.14        -0.24
      2019-05-31           7.522300   0.9795  ...       -0.69        -1.97
      2019-04-30          -2.020400   0.9795  ...        1.36        -1.70
bankB 2019-06-30          -5.969600   0.9915  ...       -0.39        -1.77
      2019-05-31           0.220200   0.9915  ...       -0.24        -2.00
      2019-04-30          -1.900000   0.9915  ...       -0.06        -1.42
bankC 2019-06-30           2.721700   0.9763  ...       -0.38        -1.13
      2019-05-31          -8.418900   0.9763  ...       -1.28        -1.19
      2019-04-30          -1.001100   0.9763  ...       -3.06        -1.16

我目前在我的数据框中有一个MultiIndex(银行和日期)。我应该使用它进行面板回归吗?

编辑:根据我的理解,确定PooledOLS是多元线性回归的“特殊”情况,因此其结果与statsmodels的OLS相同?如果我错了请纠正我!

1 个答案:

答案 0 :(得分:0)

OLS普通最小二乘一种简单的计算方法
实施方法可能取决于如何求解正规方程,但由于计算量有所不同,因此可以很好地衡量执行时间。