python的应用计量经济学库
appelp的Python项目详细描述
=================================================== appelpy:applied econometrics library for python
关于
appelpy是用于python的应用计量经济学库。它试图弥合具有简单语法的软件选项(如stata)与使用python面向对象编程作为数据建模工作流一部分的其他强大选项之间的差距。
python中的经济计量模型和一般回归分析从未如此简单!
该库建立在“普通”python数据堆栈(如pandas、numpy等)和其他库(如statsmodels)的功能之上。
有关显示库功能的文档和笔记本的详细信息,请参阅appelpy-examples <https://github.com/mfarragher/appelpy-examples>
github repo。
为什么像馅饼一样简单
这里有一种通过appelpy进行的基本ols回归的味道,假设您有data <https://econpapers.repec.org/paper/bocbocins/caschool.htm>
坐在pandas数据框中df
,并希望在其他三个变量上对因变量api00
建模::
from appelpy.linear_model import OLS
model1 = OLS(df, ['api00'], ['acs_k3', 'meals', 'full'])
model1.results_output # returns summary results
关键信息位于model1
对象中,但可以使用它完成更多功能。这些都是可以通过一行代码完成的更多操作:
- diagnostics可以从对象调用:例如,通过
model1.diagnostic_plot('pp_plot')
- model selection statistics:例如,从
model1.model_selection_stats
- 标准化模型估计值:
model1.results_output_standardized
是什么激发了它?
stata等软件的简单语法。加载数据后,可以通过单行命令返回回归模型摘要:
。代码块::stata
regress api00 acs_k3 meals full
然而,简单性带来了一些缺点:它不是开源软件;工作流对于现代业务问题很棘手;缺乏面向对象编程的好处。
statsmodels是一个强大的python库,它可以解决其中的一些缺点,但是随着它的强大,会带来相当大的学习曲线和笨拙。下面是相同回归的代码:::
import statsmodels.api as sm model1 = sm.OLS(df['api00'], sm.add_constant(df['acs_k3', 'meals', 'full'])).fit() results1 = model1.summary() # returns summary results
它会变得更加笨拙。模型结果对象非常出色,因为它可以以不同的格式(纯文本、乳胶等)打印…但这只是起点。如何诊断回归模型本身?如何获得标准化估计?这就变得更复杂了。
appelpy只想在两种方法之间实现一个sweet spot。
安装
pip install appelpy
依赖关系
- 熊猫>;=0.24
- scipy
- 努比
- statsmodels>;=0.8
- 帕西
- 肖伯恩
- matplotlib
许可证
修改的BSD(3条款)