【问题标题】:How to do 2SLS IV regression using statsmodels python?如何使用 statsmodels python 进行 2SLS IV 回归?
【发布时间】:2016-08-28 23:16:09
【问题描述】:

我正在尝试使用 statsmodels 库在 python 中进行 2 阶段最小二乘回归。

from statsmodels.sandbox.regression.gmm import IV2SLS                       
resultIV = IV2SLS(dietdummy['Log Income'], dietdummy.drop(['Log Income', 'Diabetes']),     
dietdummy.drop(['Log Income', 'Reads Nutri')

Reads Nutri 是我的内生变量,我的工具是 Diabetes,我的因变量是 Log Income

我做对了吗?它与我在 stata 上做的方式大不相同。

另外,当我执行 resultIV.summary() 时,我得到一个类型错误,这与 F 统计量为非类型有关,我该如何解决这个问题?

非常感谢任何帮助。

【问题讨论】:

    标签: python regression statsmodels


    【解决方案1】:

    当我想自己进行 IV2SLS 回归并遇到同样的问题时,我发现了这个问题。因此,仅适用于所有登陆这里的人。

    documentation of statsmodels 显示了如何使用此命令。您的参数是endogexoginstrument,其中exog 包括已检测的变量,instrument 包括仪器和其他控制变量。从这个意义上说,你的模型很好。

    您找到的TypeError 当前是 0.6.0 和 0.8.1 版本中的 open bug。并将根据里程碑在 0.9.0 中修复。

    更新 (28.06.2018):版本 9.0.0 于 5 月 15 日发布,应该包含对上述错误的修复。

    【讨论】:

    【解决方案2】:

    就个人而言,我发现the IV2SLS function in linearmodels 4.5 比 statsmodels 版本更直观,因为它为因变量和内生变量提供了单独的参数,而 statsmodels 版本没有。我从 linearmodels 函数得到的结果与我通过学校获得的 Excel 插件得到的结果一致。

    如果您选择使用 linearmodels 函数,this guide 也应该有所帮助。例如,它表明我需要为函数添加一个常量才能产生正确的输出。

    【讨论】:

      猜你喜欢
      • 2014-12-22
      • 1970-01-01
      • 1970-01-01
      • 2017-12-31
      • 2016-05-03
      • 2018-06-12
      • 1970-01-01
      • 2018-05-30
      • 2016-09-07
      相关资源
      最近更新 更多