首页 > 编程知识 正文

python最小二乘法,非线性最小二乘法python

时间:2023-05-04 03:42:15 阅读:195633 作者:1244

使用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)

得到的结果如图

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。