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

是什么激发了它?

  1. stata等软件的简单语法。加载数据后,可以通过单行命令返回回归模型摘要:

    。代码块::stata

    regress api00 acs_k3 meals full
    

然而,简单性带来了一些缺点:它不是开源软件;工作流对于现代业务问题很棘手;缺乏面向对象编程的好处。

  1. 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条款)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么javaassist仅在项目中使用lambda时加载Entitymanager时抛出无效的常量类型:18   java如何识别用户是否在Alexa中首次启动技能?   java maven:如何防止插件更新   java StringBuilder将null追加为“null”   在java中,我可以在画布上绘制画布吗?   java如何在JRadioButton上垂直对齐文本和图像?   java“类是对象的集合”。这个定义是对的还是错的?   java如何用其他字符替换字符串中的1个或多个字符?   Java的HashSet<Double>及其子集的hashcode的唯一性   对象ArrayList的java并发修改错误   多线程Java线程:让EDT函数等待长时间运行的函数离开EDT   java如何重写方法,将一个实例变量和一个局部变量相加,从而生成一个数据类型为Double的新变量?