为什么python中的PanelOLS与R中的plm结果不同

ng

我正在使用Python中的PanelOLS做一个固定效果模型,并且我在R中使用了plm来验证我的结果,令我惊讶的是,尽管这两个系数和P值应该是相同的,但它们的系数和P值却不同?

数据来自R的数据集

library(AER)
data(Fatalities)
# define the fatality rate
Fatalities$fatal_rate <- Fatalities$fatal / Fatalities$pop * 10000
# mandadory jail or community service
Fatalities$punish <- with(Fatalities, factor(jail == "yes" | service == "yes", 
                                             labels=c("no", "yes")))

以下是我的Python代码 PanelOLS

w1=Fatalities.set_index(["state", "year"])
mod = PanelOLS(w1['fatal_rate'], w1[['beertax','drinkage','punish', 'miles' ,
                                     'unemp','income']], entity_effects=True)
result=mod.fit(cov_type='clustered', cluster_entity=True)
display(result.summary)

以下是我的R代码 plm

fatalities_mod6 <- plm(fatal_rate ~ beertax + year + drinkage + punish + miles +
                         unemp + log(income), index=c("state", "year"), 
                       model="within", effect="twoways", data=Fatalities)

我也想问一下cov_typein PanelOLS,据我了解,如果我想使用可靠的标准误差和P值,则应该使用cov_type=’robust’而不是‘clustered’但是我看到许多使用固定效应的示例‘clustered’—应该使用哪一个示例来获取变量的正确标准误差和p值?

输出pythonpanelOLS是:

在此处输入图片说明

在此处输入图片说明

R的输出plm

在此处输入图片说明

杰伊

有两个问题:1.您yearplm公式中使用的变量由于已被索引而变得多余,并且2.您的PythonPanelOLS代码计算了各个固定效果,我可以使用effect="individual"中的来复制估算值plm

library(plm)
fatalities_mod6 <- plm(fatal_rate ~ beertax + drinkage + punish + miles + 
                         unemp + log(income), index=c("state", "year"), 
                       model="within", effect="individual", data=Fatalities)

此外,PythonPanelOLS似乎在使用Arellano方法并使用异方差一致性标准错误类型1("HC1")的状态上聚集在状态上的标准错误

round(summary(fatalities_mod6, 
        vcov=vcovHC.plm(fatalities_mod6, cluster="group", type="HC1",
                        method="arellano"))$coe, 4)
#             Estimate Std. Error t-value Pr(>|t|)
# beertax      -0.3664     0.2920 -1.2550   0.2105
# drinkage     -0.0378     0.0252 -1.4969   0.1355
# punishyes    -0.0342     0.0951 -0.3598   0.7193
# miles         0.0000     0.0000 -0.4217   0.6736
# unemp        -0.0196     0.0128 -1.5385   0.1250
# log(income)   0.6765     0.5424  1.2472   0.2134

这类似于PanelOLSPython结果。

编辑

对于具有鲁棒性标准错误的数据的内部估计量,您的代码应为

对于Python:

mod = PanelOLS(w1['fatal_rate'], w1[['beertax','drinkage','punish', 'miles' ,
                                     'unemp','income']],
               entity_effects=True, time_effects=True)

对于R:

fatalities_mod6 <- plm(fatal_rate ~ beertax + drinkage + punish + miles + 
                             unemp + log(income), index=c("state", "year"), 
                           model="within", effect="individual", data=Fatalities)
summary(fatalities_mod6, 
        vcov=vcovHC.plm(fatalities_mod6, cluster="group", type="HC1"))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python中的hashlib与crypt.crypt()。为什么结果不同?

来自分类Dev

在Python中,为什么.append与使用+给出不同的结果?

来自分类Java

为什么0010在Java中的数组中给出不同的结果

来自分类Dev

为什么R和Python FFT给出不同的结果?

来自分类Dev

为什么在python中内置和定义的FFT会得到不同的结果?

来自分类Dev

为什么python-chess中的相同函数返回不同的结果?

来自分类Java

为什么按位左移在Python和Java中返回不同的结果?

来自分类Dev

为什么statsmodels的关联和自相关函数在Python中给出不同的结果?

来自分类Dev

为什么'is'运算符在Python 3.6.8中显示不同的结果?

来自分类Dev

为什么type(x)和print(type(x)在python中显示略有不同的结果?

来自分类Dev

为什么 Python 中的执行时间在每次运行时给出不同的结果?

来自分类Dev

为什么在Python中的时区之间进行转换会产生不同的结果?

来自分类Dev

为什么b(string)和bytes(string,'utf-8')在Python中给出不同的结果?

来自分类Dev

为什么Python 3和C中的if语句会产生不同的结果?

来自分类Dev

在R中循环以打印plm回归结果

来自分类Dev

为什么我从 MySQL 中的不同行获得结果?

来自分类Dev

为什么dlsym在cgo中产生与在c中不同的结果?

来自分类Dev

为什么在Raspberry Pi中内存使用的结果不同?

来自分类Dev

解释为什么unpack()在Lua中返回不同的结果

来自分类Dev

为什么`{} + []`返回的结果不同于Java中的`a = {} + []`?

来自分类Dev

为什么AsyncPipe在{{}}和* ngIf中的评估结果不同

来自分类Dev

为什么相同的代码在jsfiddl中给出不同的结果?

来自分类Dev

为什么相同的代码在jsfiddle中给出不同的结果

来自分类Dev

为什么mod在表达式中给出的结果与函数调用中给出的结果不同?

来自分类Dev

为什么此正则表达式代码在Python 2.7和Python 3.7中会有不同的结果?

来自分类Dev

为什么Swift中的FFT与Python中的FFT不同?

来自分类Dev

R:在plm中过滤数据

来自分类Dev

为什么将多个数字相乘的结果与计算器中相乘的结果不同?

来自分类Dev

为什么我构造的公式给出的结果与Excel中的UDF公式得出的结果不同?

Related 相关文章

  1. 1

    Python中的hashlib与crypt.crypt()。为什么结果不同?

  2. 2

    在Python中,为什么.append与使用+给出不同的结果?

  3. 3

    为什么0010在Java中的数组中给出不同的结果

  4. 4

    为什么R和Python FFT给出不同的结果?

  5. 5

    为什么在python中内置和定义的FFT会得到不同的结果?

  6. 6

    为什么python-chess中的相同函数返回不同的结果?

  7. 7

    为什么按位左移在Python和Java中返回不同的结果?

  8. 8

    为什么statsmodels的关联和自相关函数在Python中给出不同的结果?

  9. 9

    为什么'is'运算符在Python 3.6.8中显示不同的结果?

  10. 10

    为什么type(x)和print(type(x)在python中显示略有不同的结果?

  11. 11

    为什么 Python 中的执行时间在每次运行时给出不同的结果?

  12. 12

    为什么在Python中的时区之间进行转换会产生不同的结果?

  13. 13

    为什么b(string)和bytes(string,'utf-8')在Python中给出不同的结果?

  14. 14

    为什么Python 3和C中的if语句会产生不同的结果?

  15. 15

    在R中循环以打印plm回归结果

  16. 16

    为什么我从 MySQL 中的不同行获得结果?

  17. 17

    为什么dlsym在cgo中产生与在c中不同的结果?

  18. 18

    为什么在Raspberry Pi中内存使用的结果不同?

  19. 19

    解释为什么unpack()在Lua中返回不同的结果

  20. 20

    为什么`{} + []`返回的结果不同于Java中的`a = {} + []`?

  21. 21

    为什么AsyncPipe在{{}}和* ngIf中的评估结果不同

  22. 22

    为什么相同的代码在jsfiddl中给出不同的结果?

  23. 23

    为什么相同的代码在jsfiddle中给出不同的结果

  24. 24

    为什么mod在表达式中给出的结果与函数调用中给出的结果不同?

  25. 25

    为什么此正则表达式代码在Python 2.7和Python 3.7中会有不同的结果?

  26. 26

    为什么Swift中的FFT与Python中的FFT不同?

  27. 27

    R:在plm中过滤数据

  28. 28

    为什么将多个数字相乘的结果与计算器中相乘的结果不同?

  29. 29

    为什么我构造的公式给出的结果与Excel中的UDF公式得出的结果不同?

热门标签

归档