Skip to main content

具有高维固定效应的线性模型的解决方案。

项目描述

FixedEffectModelPyHDFE:用于具有高维固定效应的线性模型的 Python 包。

FixedEffectModel是由快手达生态集团设计和构建的 Python Package 。为高维固定效应的线性模型提供解决方案,包括支持方差计算(稳健方差和多路聚类方差)、固定效应和固定效应的标准误差。它还支持带有仪器变量的模型(将于 2020 年 11 月下旬升级)。

您可能已经注意到,这不是FixedEffectModel,而是 FixedEffectModel PyHDFE。这个库的目标是在 Python 上重现出色的regHDFE Stata 包。为此,用于计算固定效应的 FEM 算法已被PyHDFE取代,并进行了许多进一步的更改。

目前,该软件包为大多数用例复制了 regHDFE 功能。例如,请参阅 tests/test_clustering.py。

如果您发现 FEMPyHDFE 中的输出与 regHDFE 生成的回归不同,请在此 repo 上打开一个问题!

安装

直接从 PyPI 安装这个包

$ pip install FixedEffectModelPyHDFE

限制

最初的 FEM 包包括吸收和聚类变量以外的功能 - 例如,它包括工具变量功能。目前这个包的重点仅仅在于吸收和集群功能,因此不能保证任何其他功能。

文档

文档由快手达集团提供为了方便起见,下面是他们的 README 的副本(稍作修改以反映此软件包中也使用了 PyHDFE)

主要功能

函数名称 描述 用法
ols_high_d_category 得到主要结果 ols_high_d_category(data_df,consist_input=None,out_input=None,category_input=None,cluster_input=[],fake_x_input=[],iv_col_input=[],公式=None,robust=False,c_method='cgm',psdef=True,epsilon =1e-8, max_iter=1e6, 进程=5)
ols_high_d_category_multi_results 基于同一数据集获取多个模型的结果 ols_high_d_category_multi_results(data_df,模型,table_header)
格特菲 获得固定效果 getfe(结果,epsilon=1e-8)
alpha_std 得到固定效应的标准误 alpha_std(结果,公式,sample_num=100)

例子

有关大量示例,另请参阅 tests/test_clustering.py

import FixedEffectModelPyHDFE.api as FEM
import pandas as pd

df = pd.read_csv('path/to/yourdata.csv')

#define model
#you can define the model through defining formula like 'dependent variable ~ continuous variable|fixed_effect|clusters|(endogenous variables ~ instrument variables)'
formula_without_iv = 'y~x+x2|id+firm|id+firm'
formula_without_cluster = 'y~x+x2|id+firm|0|(Q|W~x3+x4+x5)'
formula = 'y~x+x2|id+firm|id+firm|(Q|W~x3+x4+x5)'
result1 = FEM.ols_high_d_category(df, formula = formula,robust=False,c_method = 'cgm',epsilon = 1e-8,psdef= True,max_iter = 1e6)

#or you can define the model through defining each part
# a.k.a. predictors
consist_input = ['x','x2']
# a.k.a. target
output_input = ['y']
# a.k.a. variables to be absorbed
category_input = ['id','firm']
cluster_input = ['id','firm']
endo_input = ['Q','W']
iv_input = ['x3','x4','x5']
c_method='cgm'
result1 = FEM.ols_high_d_category(df,consist_input,out_input,category_input,cluster_input,endo_input,iv_input,formula=None,robust=False,c_method = c_method,epsilon = 1e-8,max_iter = 1e6)

#show result
result1.summary()

要求

  • Python 3.6+
  • Pandas 及其依赖项(Numpy 等)
  • Scipy 及其依赖项
  • statsmodels 及其依赖项
  • 网络x
  • PyHDFE

引文

如果您在研究中使用 FixedEffectModel,请引用以下内容:

快手大生态。FixedEffectModel:用于具有高维固定效应的线性模型的 Python 包。https://github.com/ksecology/FixedEffectModel ,2020.Version 0.x

中文提供:

@misc{FixedEffectModel,
  author={Kuaishou DA Ecology},
  title={{FixedEffectModel: {A Python Package for Linear Model with High Dimensional Fixed Effects}},
  howpublished={https://github.com/ksecology/FixedEffectModel},
  note={Version 0.x},
  year={2020}
}

杰夫·戈特梅克和安雅·塔拉斯奇纳。PyHDFE:高维固定效应吸收。https://github.com/jeffgortmaker/pyhdfe ,2019.Version 0.x

中文提供:

@misc{PyHDFE,
  author={Jeff Gortmaker with Anya Tarascina},
  title={{PyHDFE: {High Dimensional Fixed Effect Absorption},
  howpublished={https://github.com/jeffgortmaker/pyhdfe},
  note={Version 0.x},
  year={2019}
}

反馈

这个包欢迎反馈。如果您还有其他问题或意见,请联系da_ecology@kuaishou.com

参考

[1] 西蒙·高尔 (2019)。lfe:线性组固定效应。R 包。版本:v2.8-5.1 网址:https ://www.rdocumentation.org/packages/lfe/versions/2.8-5.1

[2] 科林·卡梅伦和道格拉斯·L·米勒。集群鲁棒推理从业者指南。人力资源杂志,50(2):317–372,2015。

[3] 西门高尔。具有多个高维类别变量的 Ols。计算统计与数据分析,66:8-18,2013。

[4] 道格拉斯·L·米勒、科林·卡梅伦和乔纳·格尔巴赫。具有多路聚类的鲁棒推理。技术报告,工作文件,2009 年。

[5] 杰弗里·M·伍尔德里奇。横截面和面板数据的计量经济学分析。麻省理工学院出版社,2010 年。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

FixedEffectModelPyHDFE-0.0.5.tar.gz (21.3 kB 查看哈希)

已上传 source

内置分布

FixedEffectModelPyHDFE-0.0.5-py3-none-any.whl (27.3 kB 查看哈希

已上传 py3