PyFixest 0.29
Highlights
- The most important news is that we have overhauled PyFixest's small sample corrections, which now 100% match r-fixest! By default, r-fixest and py-fixest standard errors should now match all of the time. If they don't, please reach out to us, chances are that you've found a bug =) Because it took me a significant amount of time to figure out how fixest handles small sample corrections, we have added a note in which I summarize my understanding here: link.
- We have added support for fully saturated difference-in-differences modeling (the Sun-Abraham approach to event studies), including functions for aggregating treatment effects to the cohort level. You can find examples in the DiD-vignette: link
- This in turn allows us to support @apoorvalal's event-study specification test, which may help you decide if you can get away with a simple two-way fixed effects specification for your event study. If you haven't yet seen Apoorva's paper, you can find it on arxiv.
- After I've failed to run a Gelbach decomposition for a work problem on industry scale data, we've overhauled its internals - the entire decomposition is now computed on sparse matrices, with drastic performance improvements.
All Changes
- Jax benchmarks by @s3alfisc in #784
- Add a jax module by @s3alfisc in #792
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #793
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #800
- update readme by @s3alfisc in #801
- Update feiv_.py by @escherpf in #802
- docs: add escherpf as a contributor for code by @allcontributors in #803
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #804
- Add feature to automatically rename categorical variables in etable by @dsliwka in #798
- update cat_template docs by @s3alfisc in #809
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #810
- Docstring improvements for etable; improve display of qmd docs & small extension for rename_categoricals by @dsliwka in #811
- Add a
rename_models
arg to plotting methods by @s3alfisc in #813 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #816
- Modified code to make lets-plot an optional dependency. by @elchorro in #818
- docs: add elchorro as a contributor for code by @allcontributors in #819
- Feols: Implement R2 for WLS by @AronNemeth in #815
- docs: add AronNemeth as a contributor for code by @allcontributors in #820
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #824
- Prediction error for non-fe model by @greenguy33 in #573
- Model summary if intercept-only by @leostimpfle in #707
- disable numba jit for code run on jit for full coverage by @s3alfisc in #827
- run extended tests on merge to master by @s3alfisc in #831
- Speed up ci by @s3alfisc in #832
- Multcomp tests by @s3alfisc in #833
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #834
- Fix decomposition bug by @s3alfisc in #836
- Fix formula parsing bug by @DTchebotarev in #839
- docs: add DTchebotarev as a contributor for code by @allcontributors in #841
- Decompose performance by @s3alfisc in #837
- Gelbach optimization by @s3alfisc in #843
- Add R2 within to etable #821 by @AronNemeth in #842
- Dense mm for wild boottest by @s3alfisc in #845
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #847
- Add context capture to prediction with new data by @adamvig96 in #848
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #849
- Add options
fixef_k = "full"
andfixef_k = "nested"
by @s3alfisc in #850 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #874
- saturated event study + joint tests for cohort-level heterogeneity by @apoorvalal in #762
- documentation update by @s3alfisc in #877
New Contributors
- @escherpf made their first contribution in #802
- @elchorro made their first contribution in #818
- @AronNemeth made their first contribution in #815
- @DTchebotarev made their first contribution in #839
Full Changelog: v0.27.1...v0.29.0