使用python中的linearmodels模块。
安装
安装过程中可能会出现“error: Microsoft Visual C++ 14.0 or greater is required”的报错。这是因为安装的Visual Studio中缺少C++开发插件,不能仅靠默认的Visual Studio升级实现。
打开Visual Studio Installer,点击”修改“进入如下界面,勾选“使用C++的桌面开发"。
示例
以linearmodels自带的数据集为例。
from linearmodels.datasets import mrozdata = mroz.load()data = data[['hours','educ','age','kidslt6','nwifeinc','lwage','exper','expersq']]data = data.dropna()
下面使用列表来构建方程组。如kidslt6(时间)是因变量,hours、nwifeinc是外生变量,lwage是内生变量,age、expersq是工具变量。
#data = data[['hours','educ','age','kidslt6','nwifeinc','lwage','exper','expersq']]time = {'dependent': data[['kidslt6']], 'exog': data[['hours','nwifeinc']], 'endog': data[['lwage']], 'instruments': data[['age','expersq']]}hours = {'dependent': data[['hours']], 'exog': data[['educ','age','kidslt6','nwifeinc']], 'endog': data[['lwage']], 'instruments': data[['exper','expersq']]}lwage = {'dependent': data[['lwage']], 'exog': data[['educ','exper','expersq']], 'endog': data[['hours']], 'instruments': data[['age','kidslt6','nwifeinc']]}equations = dict(hours=hours, lwage=lwage, time =time)system_3sls = IV3SLS(equations)system_3sls_res = system_3sls.fit(cov_type='unadjusted')print(system_3sls_res)
得到的结果如图